Skip to content
This repository has been archived by the owner on Mar 15, 2024. It is now read-only.

flurry/flurry-ios-sdk

Repository files navigation

Flurry SDK

pod platform license

Table of Contents

Installation

To install FlurrySDK from CocoaPods, please follow the instructions below. Remember to include use_frameworks! if your app target is in Swift.

iOS

To enable Flurry Analytics:

pod 'Flurry-iOS-SDK/FlurrySDK'

To enable Flurry Ad serving:

pod 'Flurry-iOS-SDK/FlurrySDK'
pod 'Flurry-iOS-SDK/FlurryAds'

To enable Flurry Config:

pod 'Flurry-iOS-SDK/FlurryConfig'

To enable Flurry Messaging:

pod 'Flurry-iOS-SDK/FlurryMessaging'

watchOS

To use FlurrySDK for Apple Watch 2.x Extension:

target 'Your Apple Watch 2.x Extension Target' do 
  platform :watchos, '2.0'
  pod 'Flurry-iOS-SDK/FlurrySDK'
end   

tvOS

To use FlurrySDK for tvOS apps:

target 'Your tvOS Application' do
  platform :tvos, '10.0'
  pod 'Flurry-iOS-SDK/FlurrySDK'
end

To enable Flurry Messaging for tvOS:

pod 'Flurry-iOS-SDK/FlurryMessaging'

Requirements

  • iOS 10.0+
  • tvOS 10.0+
  • watchOS 3.0+

Examples

Listed below are brief examples of initializing and using Flurry in your project. For detailed instructions, please check our documentation.

Initialize Flurry

  • iOS/tvOS

    To initialize Flurry, please import Flurry in your Application Delegate and start a Flurry session inside applicationDidFinishLaunching, as described below.

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        let sb = FlurrySessionBuilder()
              .build(logLevel: FlurryLogLevel.all)
              .build(crashReportingEnabled: true)
              .build(appVersion: "1.0")
              .build(iapReportingEnabled: true)
          
        Flurry.startSession(apiKey: "YOUR_API_KEY", sessionBuilder: sb)
        return true
    }
  • watchOS

    Please follow our instructions here.

Log Events

Use this to log normal events and timed events in your app.

  • iOS/tvOS

    // Normal events
    Flurry.log(eventName: "Event", parameters: ["Key": "Value"])
          
    // Timed events
    Flurry.log(eventName: "Event", parameters: ["Key": "Value"], timed: true)
    Flurry.endTimedEvent(eventName: "Event", parameters: ["Key": "Value"])
          
    // Standard events
    let param = FlurryParamBuilder()
        .set(doubleVal: 34.99, param: FlurryParamBuilder.totalAmount())
        .set(booleanVal: true, param: FlurryParamBuilder.success())
        .set(stringVal: "book 1", param: FlurryParamBuilder.itemName())
        .set(stringVal: "This is an awesome book to purchase !!!", key: "note")
          
    Flurry.log(standardEvent: FlurryEvent.purchased, param: param)

    Please see our sample project here.

  • watchOS

    FlurryWatch.logWatchEvent("Event", withParameters: ["Key": "Value"])

Log Error (iOS/tvOS)

Use this to log exceptions and/or errors that occur in your app. Flurry will report the first 10 errors that occur in each session.

Flurry.log(errorId: "ERROR_NAME", message: "ERROR_MESSAGE", exception: e)

Track User Demographics (iOS/tvOS)

After identifying the user, use this to log the user’s assigned ID, username, age and gender in your system.

Flurry.set(userId: "USER_ID")
Flurry.set(age: 20)
Flurry.set(gender: "f") // "f" for female and "m" for male

Session Origins and Attributes (iOS/tvOS)

This allows you to specify session origin and deep link attached to each session, or add a custom parameterized session parameters. You can also add an SDK origin specified by origin name and origin version.

Flurry.add(sessionOriginName: "SESSION_ORIGIN")
Flurry.add(sessionOriginName: "SESSION_ORIGIN", deepLink: "DEEP_LINK")
Flurry.sessionProperties(["key": "value"])
Flurry.add(originName: "ORIGIN_NAME", originVersion: "ORIGIN_VERSION")
Flurry.add(originName: "ORIGIN_NAME", originVersion: "ORIGIN_VERSION", parameters: ["key": "value"])

Support

License

Copyright (c) 2021 Yahoo. All rights reserved.

This project is licensed under the terms of the Apache 2.0 open source license. Please refer to LICENSE for the full terms. Your use of Flurry is governed by Flurry Terms of Service.