Flurry-iOS-SDK 12.4.0

Flurry-iOS-SDK 12.4.0

LangLanguage Obj-CObjective C
License Apache-2.0
ReleasedLast Release Aug 2023

Maintained by Daryl Low, Flurry-iOS-SDK.podspec, FlurryDev, raj kaur, Daryl Low, ‘rajkaur’, Caleb Strockbine, yilunx, Hunter Hays, hantao.yang, Nirha Patel.

  • By
  • Flurry

Flurry SDK

pod platform license

Table of Contents


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


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'


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'


To use FlurrySDK for tvOS apps:

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

To enable Flurry Messaging for tvOS:

pod 'Flurry-iOS-SDK/FlurryMessaging'


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


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"])



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.