FIRAnalytics+AppDelegate.h 2.35 KB
Newer Older
renato's avatar
renato committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
#import <Foundation/Foundation.h>

#import "FIRAnalytics.h"

/**
 * 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. 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 NO, and adding the methods in this category to corresponding delegation handlers.
 *
 * To handle Universal Links, you must return YES in
 * [UIApplicationDelegate application:didFinishLaunchingWithOptions:].
 */
@interface FIRAnalytics (AppDelegate)

/**
 * Handles events related to a URL session that are waiting to be processed.
 *
 * For optimal use of Firebase Analytics, call this method from the
 * [UIApplicationDelegate application:handleEventsForBackgroundURLSession:completionHandler]
 * method of the app delegate in your app.
 *
 * @param identifier The identifier of the URL session requiring attention.
 * @param 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.
 */
+ (void)handleEventsForBackgroundURLSession:(NSString *)identifier
                          completionHandler:(void (^)(void))completionHandler;

/**
 * Handles the event when the app is launched by a URL.
 *
 * Call this method from [UIApplicationDelegate application:openURL:options:] (on iOS 9.0 and
 * above), or [UIApplicationDelegate application:openURL:sourceApplication:annotation:] (on iOS 8.x
 * and below) in your app.
 *
 * @param url The URL resource to open. This resource can be a network resource or a file.
 */
+ (void)handleOpenURL:(NSURL *)url;

/**
 * Handles the event when the app receives data associated with user activity that includes a
 * Universal Link (on iOS 9.0 and above).
 *
 * Call this method from [UIApplication continueUserActivity:restorationHandler:] in your app
 * delegate (on iOS 9.0 and above).
 *
 * @param userActivity The activity object containing the data associated with the task the user
 *     was performing.
 */
+ (void)handleUserActivity:(id)userActivity;

@end