Commit 7bfab9c3 authored by Libin Lu's avatar Libin Lu

add missing framework

parent d2c6f3d0
#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 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
#import <Foundation/Foundation.h>
#import "FIREventNames.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"
/// The top level Firebase Analytics singleton that provides methods for logging events and setting
/// user properties. See <a href="http://goo.gl/C2PPSP">the developer guides</a> for general
/// information on using Firebase Analytics in your apps.
@interface FIRAnalytics : NSObject
/// Logs an app event. The event can have up to 25 parameters. Events with the same name must have
/// the same parameters. Up to 500 event names are supported. Using predefined events and/or
/// parameters is recommended for optimal reporting.
///
/// The following event names are reserved and cannot be used:
/// <ul>
/// <li>app_clear_data</li>
/// <li>app_uninstall</li>
/// <li>app_update</li>
/// <li>error</li>
/// <li>first_open</li>
/// <li>in_app_purchase</li>
/// <li>notification_dismiss</li>
/// <li>notification_foreground</li>
/// <li>notification_open</li>
/// <li>notification_receive</li>
/// <li>os_update</li>
/// <li>session_start</li>
/// <li>user_engagement</li>
/// </ul>
///
/// @param name The name of the event. Should contain 1 to 32 alphanumeric characters or
/// underscores. The name must start with an alphabetic character. Some event names are
/// reserved. See FIREventNames.h for the list of reserved event names. The "firebase_" prefix
/// is reserved and should not be used. Note that event names are case-sensitive and that
/// logging two events whose names differ only in case will result in two distinct events.
/// @param parameters The dictionary of event parameters. Passing nil indicates that the event has
/// no parameters. Parameter names can be up to 24 characters long and must start with an
/// alphabetic character and contain only alphanumeric characters and underscores. Only NSString
/// and NSNumber (signed 64-bit integer and 64-bit floating-point number) parameter types are
/// supported. NSString parameter values can be up to 36 characters long. The "firebase_" prefix
/// is reserved and should not be used for parameter names.
+ (void)logEventWithName:(nonnull NSString *)name
parameters:(nullable NSDictionary<NSString *, NSObject *> *)parameters;
/// Sets a user property to a given value. Up to 25 user property names are supported.
///
/// The following user property names are reserved and cannot be used:
/// <ul>
/// <li>first_open_time</li>
/// <li>last_deep_link_referrer</li>
/// <li>user_id</li>
/// </ul>
///
/// @param value The value of the user property. Values can be up to 36 characters long. Setting the
/// value to nil removes the user property.
/// @param name The name of the user property to set. Should contain 1 to 24 alphanumeric characters
/// or underscores and must start with an alphabetic character. The "firebase_" prefix is
/// reserved and should not be used for user property names.
+ (void)setUserPropertyString:(nullable NSString *)value forName:(nonnull NSString *)name;
/// Sets the user ID property. This feature must be used in accordance with
/// <a href="https://www.google.com/policies/privacy">Google's Privacy Policy</a>
///
/// @param userID The user ID to ascribe to the user of this app on this device, which must be
/// non-empty and no more than 36 characters long. Setting userID to nil removes the user ID.
+ (void)setUserID:(nullable NSString *)userID;
@end
#import <Foundation/Foundation.h>
/**
* This class provides configuration fields for Firebase Analytics.
*/
@interface FIRAnalyticsConfiguration : NSObject
/**
* Returns the shared instance of FIRAnalyticsConfiguration.
*/
+ (FIRAnalyticsConfiguration *)sharedInstance;
/**
* Sets the minimum engagement time in seconds required to start a new session. The default value
* is 10 seconds.
*/
- (void)setMinimumSessionInterval:(NSTimeInterval)minimumSessionInterval;
/**
* Sets the interval of inactivity in seconds that terminates the current session. The default
* value is 1800 seconds (30 minutes).
*/
- (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval;
/**
* Sets whether analytics collection is enabled for this app on this device. This setting is
* persisted across app sessions. By default it is enabled.
*/
- (void)setAnalyticsCollectionEnabled:(BOOL)analyticsCollectionEnabled;
/**
* Deprecated. Sets whether measurement and reporting are enabled for this app on this device. By
* default they are enabled.
*/
- (void)setIsEnabled:(BOOL)isEnabled
DEPRECATED_MSG_ATTRIBUTE("Use setAnalyticsCollectionEnabled: instead.");
@end
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@class FIROptions;
NS_ASSUME_NONNULL_BEGIN
typedef void (^FIRAppVoidBoolCallback)(BOOL success);
/**
* The entry point of Firebase SDKs.
*
* Initialize and configure FIRApp using [FIRApp configure];
* Or other customized ways as shown below.
*/
@interface FIRApp : NSObject
/**
* Configures a default Firebase app. Raises an exception if any configuration step fails. The
* default app is named "__FIRAPP_DEFAULT". This method should be called after the app is launched
* and before using Firebase services. This method is thread safe.
*/
+ (void)configure;
/**
* Configures the default Firebase app with the provided options. The default app is named
* "__FIRAPP_DEFAULT". Raises an exception if any configuration step fails. This method is thread
* safe.
*
* @param options The Firebase application options used to configure the service.
*/
+ (void)configureWithOptions:(FIROptions *)options;
/**
* Configures a Firebase app with the given name and options. Raises an exception if any
* configuration step fails. This method is thread safe.
*
* @param name The application's name given by the developer. The name should should only contain
Letters, Numbers and Underscore.
* @param options The Firebase application options used to configure the services.
*/
+ (void)configureWithName:(NSString *)name options:(FIROptions *)options;
/**
* Returns the default app, or nil if the default app does not exist.
*/
+ (nullable FIRApp *)defaultApp NS_SWIFT_NAME(defaultApp());
/**
* Returns a previously created FIRApp instance with the given name, or nil if no such app exists.
* This method is thread safe.
*/
+ (nullable FIRApp *)appNamed:(NSString *)name;
/**
* Returns the set of all extant FIRApp instances, or nil if there is no FIRApp instance. This
* method is thread safe.
*/
+ (nullable NSDictionary *)allApps;
/**
* Cleans up the current FIRApp, freeing associated data and returning its name to the pool for
* future use. This method is thread safe in class level.
*/
- (void)deleteApp:(FIRAppVoidBoolCallback)completion;
/**
* FIRFirebaseApp instances should not be initialized directly. Call |FIRApp configure|, or
* |FIRApp configureWithOptions:|, or |FIRApp configureWithNames:options| directly.
*/
- (nullable instancetype)init NS_UNAVAILABLE;
/**
* Gets the name of this app.
*/
@property(nonatomic, copy, readonly) NSString *name;
/**
* Gets the options for this app.
*/
@property(nonatomic, readonly) FIROptions *options;
@end
NS_ASSUME_NONNULL_END
#import <Foundation/Foundation.h>
#import "FIRAnalyticsConfiguration.h"
/**
* The log levels used by FIRConfiguration.
*/
typedef NS_ENUM(NSInteger, FIRLogLevel) {
kFIRLogLevelError = 0,
kFIRLogLevelWarning,
kFIRLogLevelInfo,
kFIRLogLevelDebug,
kFIRLogLevelAssert,
kFIRLogLevelMax = kFIRLogLevelAssert
};
/**
* This interface provides global level properties that the developer can tweak, and the singleton
* of each Google service configuration class.
*/
@interface FIRConfiguration : NSObject
+ (FIRConfiguration *)sharedInstance;
// The configuration class for Firebase Analytics.
@property(nonatomic, readwrite) FIRAnalyticsConfiguration *analyticsConfiguration;
// Global log level. Defaults to kFIRLogLevelError.
@property(nonatomic, readwrite, assign) FIRLogLevel logLevel;
@end
/// @file FIREventNames.h
///
/// Predefined event names.
///
/// An Event is an important occurrence in your app that you want to measure. You can report up to
/// 500 different types of Events per app and you can associate up to 25 unique parameters with each
/// Event type. Some common events are suggested below, but you may also choose to specify custom
/// Event types that are associated with your specific app. Each event type is identified by a
/// unique name. Event names can be up to 32 characters long, may only contain alphanumeric
/// characters and underscores ("_"), and must start with an alphabetic character. The "firebase_"
/// prefix is reserved and should not be used.
/// Add Payment Info event. This event signifies that a user has submitted their payment information
/// to your app.
static NSString *const kFIREventAddPaymentInfo = @"add_payment_info";
/// E-Commerce Add To Cart event. This event signifies that an item was added to a cart for
/// purchase. Add this event to a funnel with kFIREventEcommercePurchase to gauge the effectiveness
/// of your checkout process. Note: If you supply the {@link kFIRParameterValue} parameter, you must
/// also supply the {@link kFIRParameterCurrency} parameter so that revenue metrics can be computed
/// accurately. Params:
///
/// <ul>
/// <li>{@link kFIRParameterQuantity} (signed 64-bit integer as NSNumber)</li>
/// <li>{@link kFIRParameterItemID} (NSString)</li>
/// <li>{@link kFIRParameterItemName} (NSString)</li>
/// <li>{@link kFIRParameterItemCategory} (NSString)</li>
/// <li>{@link kFIRParameterItemLocationID} (NSString) (optional)</li>
/// <li>{@link kFIRParameterPrice} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterCurrency} (NSString) (optional)</li>
/// <li>{@link kFIRParameterValue} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterOrigin} (NSString) (optional)</li>
/// <li>{@link kFIRParameterDestination} (NSString) (optional)</li>
/// <li>{@link kFIRParameterStartDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterEndDate} (NSString) (optional)</li>
/// </ul>
static NSString *const kFIREventAddToCart = @"add_to_cart";
/// E-Commerce Add To Wishlist event. This event signifies that an item was added to a wishlist.
/// Use this event to identify popular gift items in your app. Note: If you supply the
/// {@link kFIRParameterValue} parameter, you must also supply the {@link kFIRParameterCurrency}
/// parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>{@link kFIRParameterQuantity} (signed 64-bit integer as NSNumber)</li>
/// <li>{@link kFIRParameterItemID} (NSString)</li>
/// <li>{@link kFIRParameterItemName} (NSString)</li>
/// <li>{@link kFIRParameterItemCategory} (NSString)</li>
/// <li>{@link kFIRParameterItemLocationID} (NSString) (optional)</li>
/// <li>{@link kFIRParameterPrice} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterCurrency} (NSString) (optional)</li>
/// <li>{@link kFIRParameterValue} (double as NSNumber) (optional)</li>
/// </ul>
static NSString *const kFIREventAddToWishlist = @"add_to_wishlist";
/// App Open event. By logging this event when an App is moved to the foreground, developers can
/// understand how often users leave and return during the course of a Session. Although Sessions
/// are automatically reported, this event can provide further clarification around the continuous
/// engagement of app-users.
static NSString *const kFIREventAppOpen = @"app_open";
/// E-Commerce Begin Checkout event. This event signifies that a user has begun the process of
/// checking out. Add this event to a funnel with your kFIREventEcommercePurchase event to gauge the
/// effectiveness of your checkout process. Note: If you supply the {@link kFIRParameterValue}
/// parameter, you must also supply the {@link kFIRParameterCurrency} parameter so that revenue
/// metrics can be computed accurately. Params:
///
/// <ul>
/// <li>{@link kFIRParameterValue} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterCurrency} (NSString) (optional)</li>
/// <li>{@link kFIRParameterTransactionID} (NSString) (optional)</li>
/// <li>{@link kFIRParameterStartDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterEndDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterNumberOfNights} (signed 64-bit integer as NSNumber) (optional) for
/// hotel bookings</li>
/// <li>{@link kFIRParameterNumberOfRooms} (signed 64-bit integer as NSNumber) (optional) for
/// hotel bookings</li>
/// <li>{@link kFIRParameterNumberOfPassengers} (signed 64-bit integer as NSNumber) (optional)
/// for travel bookings</li>
/// <li>{@link kFIRParameterOrigin} (NSString) (optional)</li>
/// <li>{@link kFIRParameterDestination} (NSString) (optional)</li>
/// <li>{@link kFIRParameterTravelClass} (NSString) (optional) for travel bookings</li>
/// </ul>
static NSString *const kFIREventBeginCheckout = @"begin_checkout";
/// E-Commerce Purchase event. This event signifies that an item was purchased by a user. Note:
/// This is different from the in-app purchase event, which is reported automatically for App
/// Store-based apps. Note: If you supply the {@link kFIRParameterValue} parameter, you must also
/// supply the {@link kFIRParameterCurrency} parameter so that revenue metrics can be computed
/// accurately. Params:
///
/// <ul>
/// <li>{@link kFIRParameterCurrency} (NSString) (optional)</li>
/// <li>{@link kFIRParameterValue} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterTransactionID} (NSString) (optional)</li>
/// <li>{@link kFIRParameterTax} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterShipping} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterCoupon} (NSString) (optional)</li>
/// <li>{@link kFIRParameterLocation} (NSString) (optional)</li>
/// <li>{@link kFIRParameterStartDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterEndDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterNumberOfNights} (signed 64-bit integer as NSNumber) (optional) for
/// hotel bookings</li>
/// <li>{@link kFIRParameterNumberOfRooms} (signed 64-bit integer as NSNumber) (optional) for
/// hotel bookings</li>
/// <li>{@link kFIRParameterNumberOfPassengers} (signed 64-bit integer as NSNumber) (optional)
/// for travel bookings</li>
/// <li>{@link kFIRParameterOrigin} (NSString) (optional)</li>
/// <li>{@link kFIRParameterDestination} (NSString) (optional)</li>
/// <li>{@link kFIRParameterTravelClass} (NSString) (optional) for travel bookings</li>
/// </ul>
static NSString *const kFIREventEcommercePurchase = @"ecommerce_purchase";
/// Generate Lead event. Log this event when a lead has been generated in the app to understand the
/// efficacy of your install and re-engagement campaigns. Note: If you supply the
/// {@link kFIRParameterValue} parameter, you must also supply the {@link kFIRParameterCurrency}
/// parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>{@link kFIRParameterCurrency} (NSString) (optional)</li>
/// <li>{@link kFIRParameterValue} (double as NSNumber) (optional)</li>
/// </ul>
static NSString *const kFIREventGenerateLead = @"generate_lead";
/// Join Group event. Log this event when a user joins a group such as a guild, team or family. Use
/// this event to analyze how popular certain groups or social features are in your app. Params:
///
/// <ul>
/// <li>{@link kFIRParameterGroupID} (NSString)</li>
/// </ul>
static NSString *const kFIREventJoinGroup = @"join_group";
/// Level Up event. This event signifies that a player has leveled up in your gaming app. It can
/// help you gauge the level distribution of your userbase and help you identify certain levels that
/// are difficult to pass. Params:
///
/// <ul>
/// <li>{@link kFIRParameterLevel} (signed 64-bit integer as NSNumber)</li>
/// <li>{@link kFIRParameterCharacter} (NSString) (optional)</li>
/// </ul>
static NSString *const kFIREventLevelUp = @"level_up";
/// Login event. Apps with a login feature can report this event to signify that a user has logged
/// in.
static NSString *const kFIREventLogin = @"login";
/// Post Score event. Log this event when the user posts a score in your gaming app. This event can
/// help you understand how users are actually performing in your game and it can help you correlate
/// high scores with certain audiences or behaviors. Params:
///
/// <ul>
/// <li>{@link kFIRParameterScore} (signed 64-bit integer as NSNumber)</li>
/// <li>{@link kFIRParameterLevel} (signed 64-bit integer as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterCharacter} (NSString) (optional)</li>
/// </ul>
static NSString *const kFIREventPostScore = @"post_score";
/// Present Offer event. This event signifies that the app has presented a purchase offer to a user.
/// Add this event to a funnel with the kFIREventAddToCart and kFIREventEcommercePurchase to gauge
/// your conversion process. Note: If you supply the {@link kFIRParameterValue} parameter, you must
/// also supply the {@link kFIRParameterCurrency} parameter so that revenue metrics can be computed
/// accurately. Params:
///
/// <ul>
/// <li>{@link kFIRParameterQuantity} (signed 64-bit integer as NSNumber)</li>
/// <li>{@link kFIRParameterItemID} (NSString)</li>
/// <li>{@link kFIRParameterItemName} (NSString)</li>
/// <li>{@link kFIRParameterItemCategory} (NSString)</li>
/// <li>{@link kFIRParameterItemLocationID} (NSString) (optional)</li>
/// <li>{@link kFIRParameterPrice} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterCurrency} (NSString) (optional)</li>
/// <li>{@link kFIRParameterValue} (double as NSNumber) (optional)</li>
/// </ul>
static NSString *const kFIREventPresentOffer = @"present_offer";
/// E-Commerce Purchase Refund event. This event signifies that an item purchase was refunded.
/// Note: If you supply the {@link kFIRParameterValue} parameter, you must also supply the
/// {@link kFIRParameterCurrency} parameter so that revenue metrics can be computed accurately.
/// Params:
///
/// <ul>
/// <li>{@link kFIRParameterCurrency} (NSString) (optional)</li>
/// <li>{@link kFIRParameterValue} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterTransactionID} (NSString) (optional)</li>
/// </ul>
static NSString *const kFIREventPurchaseRefund = @"purchase_refund";
/// Search event. Apps that support search features can use this event to contextualize search
/// operations by supplying the appropriate, corresponding parameters. This event can help you
/// identify the most popular content in your app. Params:
///
/// <ul>
/// <li>{@link kFIRParameterSearchTerm} (NSString)</li>
/// <li>{@link kFIRParameterStartDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterEndDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterNumberOfNights} (signed 64-bit integer as NSNumber) (optional) for
/// hotel bookings</li>
/// <li>{@link kFIRParameterNumberOfRooms} (signed 64-bit integer as NSNumber) (optional) for
/// hotel bookings</li>
/// <li>{@link kFIRParameterNumberOfPassengers} (signed 64-bit integer as NSNumber) (optional)
/// for travel bookings</li>
/// <li>{@link kFIRParameterOrigin} (NSString) (optional)</li>
/// <li>{@link kFIRParameterDestination} (NSString) (optional)</li>
/// <li>{@link kFIRParameterTravelClass} (NSString) (optional) for travel bookings</li>
/// </ul>
static NSString *const kFIREventSearch = @"search";
/// Select Content event. This general purpose event signifies that a user has selected some content
/// of a certain type in an app. The content can be any object in your app. This event can help you
/// identify popular content and categories of content in your app. Params:
///
/// <ul>
/// <li>{@link kFIRParameterContentType} (NSString)</li>
/// <li>{@link kFIRParameterItemID} (NSString)</li>
/// </ul>
static NSString *const kFIREventSelectContent = @"select_content";
/// Share event. Apps with social features can log the Share event to identify the most viral
/// content. Params:
///
/// <ul>
/// <li>{@link kFIRParameterContentType} (NSString)</li>
/// <li>{@link kFIRParameterItemID} (NSString)</li>
/// </ul>
static NSString *const kFIREventShare = @"share";
/// Sign Up event. This event indicates that a user has signed up for an account in your app. The
/// parameter signifies the method by which the user signed up. Use this event to understand the
/// different behaviors between logged in and logged out users. Params:
///
/// <ul>
/// <li>{@link kFIRParameterSignUpMethod} (NSString)</li>
/// </ul>
static NSString *const kFIREventSignUp = @"sign_up";
/// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
/// help you identify which virtual goods are the most popular objects of purchase. Params:
///
/// <ul>
/// <li>{@link kFIRParameterItemName} (NSString)</li>
/// <li>{@link kFIRParameterVirtualCurrencyName} (NSString)</li>
/// <li>{@link kFIRParameterValue} (signed 64-bit integer or double as NSNumber)</li>
/// </ul>
static NSString *const kFIREventSpendVirtualCurrency = @"spend_virtual_currency";
/// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
/// this in a funnel with kFIREventTutorialComplete to understand how many users complete this
/// process and move on to the full app experience.
static NSString *const kFIREventTutorialBegin = @"tutorial_begin";
/// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
/// process. Add this to a funnel with kFIREventTutorialBegin to gauge the completion rate of your
/// on-boarding process.
static NSString *const kFIREventTutorialComplete = @"tutorial_complete";
/// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
/// game. Since achievements generally represent the breadth of a gaming experience, this event can
/// help you understand how many users are experiencing all that your game has to offer. Params:
///
/// <ul>
/// <li>{@link kFIRParameterAchievementID} (NSString)</li>
/// </ul>
static NSString *const kFIREventUnlockAchievement = @"unlock_achievement";
/// View Item event. This event signifies that some content was shown to the user. This content may
/// be a product, a webpage or just a simple image or text. Use the appropriate parameters to
/// contextualize the event. Use this event to discover the most popular items viewed in your app.
/// Note: If you supply the {@link kFIRParameterValue} parameter, you must also supply the
/// {@link kFIRParameterCurrency} parameter so that revenue metrics can be computed accurately.
/// Params:
///
/// <ul>
/// <li>{@link kFIRParameterItemID} (NSString)</li>
/// <li>{@link kFIRParameterItemName} (NSString)</li>
/// <li>{@link kFIRParameterItemCategory} (NSString)</li>
/// <li>{@link kFIRParameterItemLocationID} (NSString) (optional)</li>
/// <li>{@link kFIRParameterPrice} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterQuantity} (signed 64-bit integer as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterCurrency} (NSString) (optional)</li>
/// <li>{@link kFIRParameterValue} (double as NSNumber) (optional)</li>
/// <li>{@link kFIRParameterStartDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterEndDate} (NSString) (optional)</li>
/// <li>{@link kFIRParameterFlightNumber} (NSString) (optional) for travel bookings</li>
/// <li>{@link kFIRParameterNumberOfPassengers} (signed 64-bit integer as NSNumber) (optional)
/// for travel bookings</li>
/// <li>{@link kFIRParameterNumberOfNights} (signed 64-bit integer as NSNumber) (optional) for
/// travel bookings</li>
/// <li>{@link kFIRParameterNumberOfRooms} (signed 64-bit integer as NSNumber) (optional) for
/// travel bookings</li>
/// <li>{@link kFIRParameterOrigin} (NSString) (optional)</li>
/// <li>{@link kFIRParameterDestination} (NSString) (optional)</li>
/// <li>{@link kFIRParameterSearchTerm} (NSString) (optional) for travel bookings</li>
/// <li>{@link kFIRParameterTravelClass} (NSString) (optional) for travel bookings</li>
/// </ul>
static NSString *const kFIREventViewItem = @"view_item";
/// View Item List event. Log this event when the user has been presented with a list of items of a
/// certain category. Params:
///
/// <ul>
/// <li>{@link kFIRParameterItemCategory} (NSString)</li>
/// </ul>
static NSString *const kFIREventViewItemList = @"view_item_list";
/// View Search Results event. Log this event when the user has been presented with the results of a
/// search. Params:
///
/// <ul>
/// <li>{@link kFIRParameterSearchTerm} (NSString)</li>
/// </ul>
static NSString *const kFIREventViewSearchResults = @"view_search_results";
#import <Foundation/Foundation.h>
/**
* This class provides constant fields of Google APIs.
*/
@interface FIROptions : NSObject<NSCopying>
/**
* Returns the default options.
*/
+ (FIROptions *)defaultOptions;
/**
* An iOS API key used for authenticating requests from your app, e.g.
* @"AIzaSyDdVgKwhZl0sTTTLZ7iTmt1r3N2cJLnaDk", used to identify your app to Google servers.
*/
@property(nonatomic, readonly, copy) NSString *APIKey;
/**
* The OAuth2 client ID for iOS application used to authenticate Google users, for example
* @"12345.apps.googleusercontent.com", used for signing in with Google.
*/
@property(nonatomic, readonly, copy) NSString *clientID;
/**
* The tracking ID for Google Analytics, e.g. @"UA-12345678-1", used to configure Google Analytics.
*/
@property(nonatomic, readonly, copy) NSString *trackingID;
/**
* The Project Number from the Google Developer's console, for example @"012345678901", used to
* configure Google Cloud Messaging.
*/
@property(nonatomic, readonly, copy) NSString *GCMSenderID;
/**
* The Android client ID used in Google AppInvite when an iOS app has its Android version, for
* example @"12345.apps.googleusercontent.com".
*/
@property(nonatomic, readonly, copy) NSString *androidClientID;
/**
* The Google App ID that is used to uniquely identify an instance of an app.
*/
@property(nonatomic, readonly, copy) NSString *googleAppID;
/**
* The database root URL, e.g. @"http://abc-xyz-123.firebaseio.com".
*/
@property(nonatomic, readonly, copy) NSString *databaseURL;
/**
* The URL scheme used to set up Durable Deep Link service.
*/
@property(nonatomic, readwrite, copy) NSString *deepLinkURLScheme;
/**
* The Google Cloud Storage bucket name, e.g. @"abc-xyz-123.storage.firebase.com".
*/
@property(nonatomic, readonly, copy) NSString *storageBucket;
/**
* Initializes a customized instance of FIROptions with keys. googleAppID, bundleID and GCMSenderID
* are required. Other keys may required for configuring specific services.
*/
- (instancetype)initWithGoogleAppID:(NSString *)googleAppID
bundleID:(NSString *)bundleID
GCMSenderID:(NSString *)GCMSenderID
APIKey:(NSString *)APIKey
clientID:(NSString *)clientID
trackingID:(NSString *)trackingID
androidClientID:(NSString *)androidClientID
databaseURL:(NSString *)databaseURL
storageBucket:(NSString *)storageBucket
deepLinkURLScheme:(NSString *)deepLinkURLScheme;
@end
/// @file FIRParameterNames.h
///
/// Predefined event parameter names.
///
/// Params supply information that contextualize Events. You can associate up to 25 unique Params
/// with each Event type. Some Params are suggested below for certain common Events, but you are
/// not limited to these. You may supply extra Params for suggested Events or custom Params for
/// Custom events. Param names can be up to 24 characters long, may only contain alphanumeric
/// characters and underscores ("_"), and must start with an alphabetic character. Param values can
/// be up to 36 characters long. The "firebase_" prefix is reserved and should not be used.
/// Game achievement ID (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterAchievementID : @"10_matches_won",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterAchievementID = @"achievement_id";
/// Character used in game (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterCharacter : @"beat_boss",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterCharacter = @"character";
/// Type of content selected (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterContentType : @"news article",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterContentType = @"content_type";
/// Coupon code for a purchasable item (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterCoupon : @"zz123",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterCoupon = @"coupon";
/// Purchase currency in 3-letter <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes">
/// ISO_4217</a> format (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterCurrency : @"USD",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterCurrency = @"currency";
/// Flight or Travel destination (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterDestination : @"Mountain View, CA",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterDestination = @"destination";
/// The arrival date, check-out date or rental end date for the item. This should be in
/// YYYY-MM-DD format (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterEndDate : @"2015-09-14",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterEndDate = @"end_date";
/// Flight number for travel events (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterFlightNumber : @"ZZ800",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterFlightNumber = @"flight_number";
/// Group/clan/guild ID (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterGroupID : @"g1",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterGroupID = @"group_id";
/// Item category (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterItemCategory : @"t-shirts",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterItemCategory = @"item_category";
/// Item ID (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterItemID : @"p7654",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterItemID = @"item_id";
/// The Google <a href="https://developers.google.com/places/place-id">Place ID</a> (NSString) that
/// corresponds to the associated item. Alternatively, you can supply your own custom Location ID.
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterItemLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterItemLocationID = @"item_location_id";
/// Item name (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterItemName : @"abc",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterItemName = @"item_name";
/// Level in game (signed 64-bit integer as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterLevel : @(42),
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterLevel = @"level";
/// Location (NSString). The Google <a href="https://developers.google.com/places/place-id">Place ID
/// </a> that corresponds to the associated event. Alternatively, you can supply your own custom
/// Location ID.
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterLocation : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterLocation = @"location";
/// Number of nights staying at hotel (signed 64-bit integer as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterNumberOfNights : @(3),
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterNumberOfNights = @"number_of_nights";
/// Number of passengers traveling (signed 64-bit integer as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterNumberOfPassengers : @(11),
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterNumberOfPassengers = @"number_of_passengers";
/// Number of rooms for travel events (signed 64-bit integer as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterNumberOfRooms : @(2),
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterNumberOfRooms = @"number_of_rooms";
/// Flight or Travel origin (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterOrigin : @"Mountain View, CA",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterOrigin = @"origin";
/// Purchase price (double as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterPrice : @(1.0),
/// kFIRParameterCurrency : @"USD", // e.g. $1.00 USD
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterPrice = @"price";
/// Purchase quantity (signed 64-bit integer as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterQuantity : @(1),
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterQuantity = @"quantity";
/// Score in game (signed 64-bit integer as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterScore : @(4200),
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterScore = @"score";
/// The search string/keywords used (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterSearchTerm : @"periodic table",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterSearchTerm = @"search_term";
/// Shipping cost (double as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterShipping : @(9.50),
/// kFIRParameterCurrency : @"USD", // e.g. $9.50 USD
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterShipping = @"shipping";
/// Sign up method (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterSignUpMethod : @"google",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterSignUpMethod = @"sign_up_method";
/// The departure date, check-in date or rental start date for the item. This should be in
/// YYYY-MM-DD format (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterStartDate : @"2015-09-14",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterStartDate = @"start_date";
/// Tax amount (double as NSNumber).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterTax : @(1.0),
/// kFIRParameterCurrency : @"USD", // e.g. $1.00 USD
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterTax = @"tax";
/// A single ID for a ecommerce group transaction (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterTransactionID : @"ab7236dd9823",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterTransactionID = @"transaction_id";
/// Travel class (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterTravelClass : @"business",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterTravelClass = @"travel_class";
/// A context-specific numeric value which is accumulated automatically for each event type. This is
/// a general purpose parameter that is useful for accumulating a key metric that pertains to an
/// event. Examples include revenue, distance, time and points. Value should be specified as signed
/// 64-bit integer or double as NSNumber. Notes: Currency-related values should be supplied using
/// double as NSNumber and must be accompanied by a {@link kFIRParameterCurrency} parameter. The
/// valid range of accumulated values is [-9,223,372,036,854.77, 9,223,372,036,854.77].
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterValue : @(3.99),
/// kFIRParameterCurrency : @"USD", // e.g. $3.99 USD
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterValue = @"value";
/// Name of virtual currency type (NSString).
/// <pre>
/// NSDictionary *params = @{
/// kFIRParameterVirtualCurrencyName : @"virtual_currency_name",
/// // ...
/// };
/// </pre>
static NSString *const kFIRParameterVirtualCurrencyName = @"virtual_currency_name";
/// @file FIRUserPropertyNames.h
///
/// Predefined user property names.
///
/// A UserProperty is an attribute that describes the app-user. By supplying UserProperties, you can
/// later analyze different behaviors of various segments of your userbase. You may supply up to 25
/// unique UserProperties per app, and you can use the name and value of your choosing for each one.
/// UserProperty names can be up to 24 characters long, may only contain alphanumeric characters and
/// underscores ("_"), and must start with an alphabetic character. UserProperty values can be up to
/// 36 characters long. The "firebase_" prefix is reserved and should not be used.
/// The method used to sign in. For example, "google", "facebook" or "twitter".
static NSString *const kFIRUserPropertySignUpMethod = @"sign_up_method";
// Generated umbrella header for FirebaseAnalytics.
#import "FIRAnalytics+AppDelegate.h"
#import "FIRAnalytics.h"
#import "FIRAnalyticsConfiguration.h"
#import "FIRApp.h"
#import "FIRConfiguration.h"
#import "FIREventNames.h"
#import "FIROptions.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"
framework module FirebaseAnalytics {
export *
umbrella header "FirebaseAnalytics.h"
header "FIRAnalytics+AppDelegate.h"
header "FIRAnalytics.h"
header "FIRAnalyticsConfiguration.h"
header "FIRApp.h"
header "FIRConfiguration.h"
header "FIREventNames.h"
header "FIROptions.h"
header "FIRParameterNames.h"
header "FIRUserPropertyNames.h"
link framework "AddressBook"
link framework "AdSupport"
link framework "SafariServices"
link framework "StoreKit"
link framework "SystemConfiguration"
link "c++"
link "sqlite3"
link "z"
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment