Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

FirebaseAnalytics Framework Reference

Stay organized with collections Save and categorize content based on your preferences.

FIRAnalytics(AppDelegate)

Provides App Delegate handlers to be used in your App Delegate.

To save time integrating Firebase Analytics in an application, Firebase Analytics does not require delegation implementation from the AppDelegate if neither SwiftUI nor UIScene lifecycle is adopted. Instead this is automatically done by Firebase Analytics. Should you choose instead to delegate manually, you can turn off the App Delegate Proxy by adding FirebaseAppDelegateProxyEnabled into your app’s Info.plist and setting it to boolean NO, and adding the methods in this category to corresponding delegation handlers.

To handle Universal Links, you must return true in UIApplicationDelegate.application(_:didFinishLaunchingWithOptions:).

  • Handles events related to a URL session that are waiting to be processed.

    1. If SwiftUI lifecycle is adopted, call this method from UIApplicationDelegate.application(_:handleEventsForBackgroundURLSession:completionHandler:) in your app delegate.

    2. If SwiftUI lifecycle is not adopted, Firebase Analytics does not require delegation implementation from the AppDelegate. If you choose instead to delegate manually, you can set FirebaseAppDelegateProxyEnabled to boolean NO in your app’s Info.plist and call this method from UIApplicationDelegate.application(_:handleEventsForBackgroundURLSession:completionHandler:) in your app delegate.

    Declaration

    Swift

    class func handleEvents(forBackgroundURLSession identifier: String) async

    Parameters

    identifier

    The identifier of the URL session requiring attention.

    completionHandler

    The completion handler to call when you finish processing the events. Calling this completion handler lets the system know that your app’s user interface is updated and a new snapshot can be taken.

  • Handles the event when the app is launched by a URL (custom URL scheme or universal link).

    1. If SwiftUI lifecycle is adopted, use onOpenURL(perform:) to register a handler and call this method in the handler.

    2. If UIScene lifecycle is adopted, call this method from UISceneDelegate.scene(_:willConnectTo:options:) and UISceneDelegate.scene(_:openURLContexts:) when the URL contexts are available.

    3. If neither SwiftUI nor UIScene lifecycle is adopted, Firebase Analytics does not require delegation implementation from the AppDelegate. If you choose instead to delegate manually, you can set FirebaseAppDelegateProxyEnabled to boolean NO in your app’s Info.plist and call this method from UIApplicationDelegate.application(_:open:options:) in your app delegate.

    Declaration

    Swift

    class func handleOpen(_ url: URL)

    Parameters

    url

    The URL resource to open. This resource can be a network resource or a file.

  • Handles the event when the app receives data associated with user activity that includes a Universal Link.

    1. If SwiftUI lifecycle is adopted, use onOpenURL(perform:) to register a handler and call Analytics.handleOpen(_:) instead in the handler.

    2. If UIScene lifecycle is adopted, call this method from UISceneDelegate.scene(_:willConnectTo:options:) and UISceneDelegate.scene(_:continue:) when NSUserActivity is available. See the Apple doc for more details.

    3. If neither SwiftUI nor UIScene lifecycle is adopted, Firebase Analytics does not require delegation implementation from the AppDelegate. If you choose instead to delegate manually, you can set FirebaseAppDelegateProxyEnabled to boolean NO in your app’s Info.plist and call this method from UIApplication.application(_:continue:restorationHandler:) in your app delegate.

    Declaration

    Swift

    class func handleUserActivity(_ userActivity: Any)

    Parameters

    userActivity

    The activity object containing the data associated with the task the user was performing.