firebase log level

This commit is contained in:
oscarz
2024-08-29 18:25:13 +08:00
parent 8500300d18
commit 27c160beaf
1165 changed files with 122916 additions and 1 deletions

View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AvailableLibraries</key>
<array>
<dict>
<key>BinaryPath</key>
<string>FirebaseAnalytics.framework/FirebaseAnalytics</string>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>FirebaseAnalytics.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>FirebaseAnalytics.framework/Versions/A/FirebaseAnalytics</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-maccatalyst</string>
<key>LibraryPath</key>
<string>FirebaseAnalytics.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>maccatalyst</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>FirebaseAnalytics.framework/FirebaseAnalytics</string>
<key>LibraryIdentifier</key>
<string>tvos-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>FirebaseAnalytics.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>tvos</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>FirebaseAnalytics.framework/FirebaseAnalytics</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>FirebaseAnalytics.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>FirebaseAnalytics.framework/FirebaseAnalytics</string>
<key>LibraryIdentifier</key>
<string>tvos-arm64</string>
<key>LibraryPath</key>
<string>FirebaseAnalytics.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>tvos</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>FirebaseAnalytics.framework/Versions/A/FirebaseAnalytics</string>
<key>LibraryIdentifier</key>
<string>macos-arm64_x86_64</string>
<key>LibraryPath</key>
<string>FirebaseAnalytics.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>macos</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,80 @@
#import <Foundation/Foundation.h>
#import "FIRAnalytics.h"
NS_ASSUME_NONNULL_BEGIN
/// 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:)`.
@interface FIRAnalytics (AppDelegate)
/// 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.
///
/// @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:(nullable void (^)(void))completionHandler;
/// 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.
///
/// @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.
///
/// 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](https://developer.apple.com/documentation/xcode/supporting-universal-links-in-your-app) 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.
///
/// @param userActivity The activity object containing the data associated with the task the user
/// was performing.
+ (void)handleUserActivity:(id)userActivity;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,51 @@
#import <Foundation/Foundation.h>
#import "FIRAnalytics.h"
NS_ASSUME_NONNULL_BEGIN
/// The type of consent to set. Supported consent types are `ConsentType.adStorage`,
/// `ConsentType.analyticsStorage`, `ConsentType.adUserData`, and `ConsentType.adPersonalization`.
/// Omitting a type retains its previous status.
typedef NSString *FIRConsentType NS_TYPED_ENUM NS_SWIFT_NAME(ConsentType);
/// Enables storage (such as device identifiers) related to advertising.
extern FIRConsentType const FIRConsentTypeAdStorage;
/// Enables storage (such as app identifiers) related to analytics, e.g. visit duration.
extern FIRConsentType const FIRConsentTypeAnalyticsStorage;
/// Sets consent for sending user data to Google for advertising purposes.
extern FIRConsentType const FIRConsentTypeAdUserData;
/// Sets consent for personalized advertising.
extern FIRConsentType const FIRConsentTypeAdPersonalization;
/// The status value of the consent type. Supported statuses are `ConsentStatus.granted` and
/// `ConsentStatus.denied`.
typedef NSString *FIRConsentStatus NS_TYPED_ENUM NS_SWIFT_NAME(ConsentStatus);
/// Consent status indicating consent is denied. For an overview of which data is sent when consent
/// is denied, see [SDK behavior with consent
/// mode](https://developers.google.com/tag-platform/security/concepts/consent-mode#tag-behavior).
extern FIRConsentStatus const FIRConsentStatusDenied;
/// Consent status indicating consent is granted.
extern FIRConsentStatus const FIRConsentStatusGranted;
/// Sets the applicable end user consent state.
@interface FIRAnalytics (Consent)
/// Sets the applicable end user consent state (e.g. for device identifiers) for this app on this
/// device. Use the consent settings to specify individual consent type values. Settings are
/// persisted across app sessions. By default consent types are set to `ConsentStatus.granted`.
///
/// @param consentSettings A Dictionary of consent types. Supported consent type keys are
/// `ConsentType.adStorage`, `ConsentType.analyticsStorage`, `ConsentType.adUserData`, and
/// `ConsentType.adPersonalization`. Valid values are `ConsentStatus.granted` and
/// `ConsentStatus.denied`.
+ (void)setConsent:(NSDictionary<FIRConsentType, FIRConsentStatus> *)consentSettings;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,44 @@
#import <Foundation/Foundation.h>
#import "FIRAnalytics.h"
NS_ASSUME_NONNULL_BEGIN
API_UNAVAILABLE(macCatalyst, macos, tvos, watchos)
@interface FIRAnalytics (OnDevice)
/// Initiates on-device conversion measurement given a user email address. Requires dependency
/// GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
/// @param emailAddress User email address. Include a domain name for all email addresses
/// (e.g. gmail.com or hotmail.co.jp).
+ (void)initiateOnDeviceConversionMeasurementWithEmailAddress:(NSString *)emailAddress
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(emailAddress:));
/// Initiates on-device conversion measurement given a phone number in E.164 format. Requires
/// dependency GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
/// @param phoneNumber User phone number. Must be in E.164 format, which means it must be
/// limited to a maximum of 15 digits and must include a plus sign (+) prefix and country code
/// with no dashes, parentheses, or spaces.
+ (void)initiateOnDeviceConversionMeasurementWithPhoneNumber:(NSString *)phoneNumber
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(phoneNumber:));
/// Initiates on-device conversion measurement given a sha256-hashed user email address. Requires
/// dependency GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
/// @param hashedEmailAddress User email address as a UTF8-encoded string normalized and hashed
/// according to the instructions at
/// https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3.
+ (void)initiateOnDeviceConversionMeasurementWithHashedEmailAddress:(NSData *)hashedEmailAddress
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(hashedEmailAddress:));
/// Initiates on-device conversion measurement given a sha256-hashed phone number in E.164 format.
/// Requires dependency GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a
/// no-op.
/// @param hashedPhoneNumber UTF8-encoded user phone number in E.164 format and then hashed
/// according to the instructions at
/// https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3.
+ (void)initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:(NSData *)hashedPhoneNumber
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(hashedPhoneNumber:));
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,155 @@
#import <Foundation/Foundation.h>
#import "FIREventNames.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"
NS_ASSUME_NONNULL_BEGIN
/// The top level Firebase Analytics singleton that provides methods for logging events and setting
/// user properties. See <a href="http://goo.gl/gz8SLz">the developer guides</a> for general
/// information on using Firebase Analytics in your apps.
///
/// @note The Analytics SDK uses SQLite to persist events and other app-specific data. Calling
/// certain thread-unsafe global SQLite methods like `sqlite3_shutdown()` can result in
/// unexpected crashes at runtime.
NS_SWIFT_NAME(Analytics)
@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>ad_activeview</li>
/// <li>ad_click</li>
/// <li>ad_exposure</li>
/// <li>ad_query</li>
/// <li>ad_reward</li>
/// <li>adunit_exposure</li>
/// <li>app_clear_data</li>
/// <li>app_exception</li>
/// <li>app_remove</li>
/// <li>app_store_refund</li>
/// <li>app_store_subscription_cancel</li>
/// <li>app_store_subscription_convert</li>
/// <li>app_store_subscription_renew</li>
/// <li>app_update</li>
/// <li>app_upgrade</li>
/// <li>dynamic_link_app_open</li>
/// <li>dynamic_link_app_update</li>
/// <li>dynamic_link_first_open</li>
/// <li>error</li>
/// <li>firebase_campaign</li>
/// <li>first_open</li>
/// <li>first_visit</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>session_start_with_rollout</li>
/// <li>user_engagement</li>
/// </ul>
///
/// @param name The name of the event. Should contain 1 to 40 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_",
/// "google_", and "ga_" prefixes are 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. To manually log screen view events, use the `screen_view` event name.
/// @param parameters The dictionary of event parameters. Passing `nil` indicates that the event has
/// no parameters. Parameter names can be up to 40 characters long and must start with an
/// alphabetic character and contain only alphanumeric characters and underscores. Only String,
/// Int, and Double parameter types are supported. String parameter values can be up to 100
/// characters long for standard Google Analytics properties, and up to 500 characters long for
/// Google Analytics 360 properties. The "firebase_", "google_", and "ga_" prefixes are reserved
/// and should not be used for parameter names.
+ (void)logEventWithName:(NSString *)name
parameters:(nullable NSDictionary<NSString *, id> *)parameters
NS_SWIFT_NAME(logEvent(_:parameters:));
/// Sets a user property to a given value. Up to 25 user property names are supported. Once set,
/// user property values persist throughout the app lifecycle and across sessions.
///
/// 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_", "google_", and
/// "ga_" prefixes are reserved and should not be used for user property names.
+ (void)setUserPropertyString:(nullable NSString *)value forName:(NSString *)name
NS_SWIFT_NAME(setUserProperty(_:forName:));
/// 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 256 characters long. Setting userID to `nil` removes the user ID.
+ (void)setUserID:(nullable NSString *)userID;
/// Sets whether analytics collection is enabled for this app on this device. This setting is
/// persisted across app sessions. By default it is enabled.
///
/// @param analyticsCollectionEnabled A flag that enables or disables Analytics collection.
+ (void)setAnalyticsCollectionEnabled:(BOOL)analyticsCollectionEnabled;
/// Sets the interval of inactivity in seconds that terminates the current session. The default
/// value is 1800 seconds (30 minutes).
///
/// @param sessionTimeoutInterval The custom time of inactivity in seconds before the current
/// session terminates.
+ (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval;
/// Asynchronously retrieves the identifier of the current app session.
///
/// The session ID retrieval could fail due to Analytics collection disabled, app session expired,
/// etc.
///
/// @param completion The completion handler to call when the session ID retrieval is complete. This
/// handler is executed on a system-defined global concurrent queue.
/// This completion handler takes the following parameters:
/// <b>sessionID</b> The identifier of the current app session. The value is undefined if the
/// request failed.
/// <b>error</b> An error object that indicates why the request failed, or `nil` if the request
/// was successful.
+ (void)sessionIDWithCompletion:(void (^)(int64_t sessionID, NSError *_Nullable error))completion;
/// Returns the unique ID for this instance of the application or `nil` if
/// `ConsentType.analyticsStorage` has been set to `ConsentStatus.denied`.
///
/// @see `FIRAnalytics+Consent.h`
+ (nullable NSString *)appInstanceID;
/// Clears all analytics data for this instance from the device and resets the app instance ID.
+ (void)resetAnalyticsData;
/// Adds parameters that will be set on every event logged from the SDK, including automatic ones.
/// The values passed in the parameters dictionary will be added to the dictionary of default event
/// parameters. These parameters persist across app runs. They are of lower precedence than event
/// parameters, so if an event parameter and a parameter set using this API have the same name, the
/// value of the event parameter will be used. The same limitations on event parameters apply to
/// default event parameters.
///
/// @param parameters Parameters to be added to the dictionary of parameters added to every event.
/// They will be added to the dictionary of default event parameters, replacing any existing
/// parameter with the same name. Valid parameters are String, Int, and Double. Setting a key's
/// value to `NSNull()` will clear that parameter. Passing in a `nil` dictionary will clear all
/// parameters.
+ (void)setDefaultEventParameters:(nullable NSDictionary<NSString *, id> *)parameters;
/// Unavailable.
- (instancetype)init NS_UNAVAILABLE;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,418 @@
/// @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 40 characters long, may only contain alphanumeric
/// characters and underscores ("_"), and must start with an alphabetic character. The "firebase_",
/// "google_", and "ga_" prefixes are reserved and should not be used.
#import <Foundation/Foundation.h>
/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
/// the @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
/// parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterAdPlatform (String) (optional)</li>
/// <li>@c AnalyticsParameterAdFormat (String) (optional)</li>
/// <li>@c AnalyticsParameterAdSource (String) (optional)</li>
/// <li>@c AnalyticsParameterAdUnitName (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
@"ad_impression";
/// Add Payment Info event. This event signifies that a user has submitted their payment
/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
/// Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterPaymentType (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAddPaymentInfo NS_SWIFT_NAME(AnalyticsEventAddPaymentInfo) =
@"add_payment_info";
/// Add Shipping Info event. This event signifies that a user has submitted their shipping
/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
/// Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterShippingTier (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
@"add_shipping_info";
/// E-Commerce Add To Cart event. This event signifies that an item(s) was added to a cart for
/// purchase. Add this event to a funnel with @c AnalyticsEventPurchase to gauge the effectiveness
/// of your checkout process. Note: If you supply the @c AnalyticsParameterValue parameter, you must
/// also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
/// accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAddToCart NS_SWIFT_NAME(AnalyticsEventAddToCart) = @"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. Note: If you supply the @c AnalyticsParameterValue
/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
/// metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAddToWishlist NS_SWIFT_NAME(AnalyticsEventAddToWishlist) =
@"add_to_wishlist";
/// App Open event. By logging this event when an App becomes active, 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 NS_SWIFT_NAME(AnalyticsEventAppOpen) = @"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 @c AnalyticsEventPurchase event to gauge the
/// effectiveness of your checkout process. Note: If you supply the @c AnalyticsParameterValue
/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
/// metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventBeginCheckout NS_SWIFT_NAME(AnalyticsEventBeginCheckout) =
@"begin_checkout";
/// Campaign Detail event. Log this event to supply the referral details of a re-engagement
/// campaign. Note: you must supply at least one of the required parameters
/// AnalyticsParameterSource, AnalyticsParameterMedium or AnalyticsParameterCampaign. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterSource (String)</li>
/// <li>@c AnalyticsParameterMedium (String)</li>
/// <li>@c AnalyticsParameterCampaign (String)</li>
/// <li>@c AnalyticsParameterTerm (String) (optional)</li>
/// <li>@c AnalyticsParameterContent (String) (optional)</li>
/// <li>@c AnalyticsParameterAdNetworkClickID (String) (optional)</li>
/// <li>@c AnalyticsParameterCP1 (String) (optional)</li>
/// <li>@c AnalyticsParameterCampaignID (String) (optional)</li>
/// <li>@c AnalyticsParameterCreativeFormat (String) (optional)</li>
/// <li>@c AnalyticsParameterMarketingTactic (String) (optional)</li>
/// <li>@c AnalyticsParameterSourcePlatform (String) (optional)</li>
/// </ul>
static NSString *const kFIREventCampaignDetails NS_SWIFT_NAME(AnalyticsEventCampaignDetails) =
@"campaign_details";
/// Earn Virtual Currency event. This event tracks the awarding of virtual currency in your app. Log
/// this along with @c AnalyticsEventSpendVirtualCurrency to better understand your virtual economy.
/// Params:
///
/// <ul>
/// <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
/// <li>@c AnalyticsParameterValue (Int or Double)</li>
/// </ul>
static NSString *const kFIREventEarnVirtualCurrency
NS_SWIFT_NAME(AnalyticsEventEarnVirtualCurrency) = @"earn_virtual_currency";
/// 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
/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
/// parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventGenerateLead NS_SWIFT_NAME(AnalyticsEventGenerateLead) =
@"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>@c AnalyticsParameterGroupID (String)</li>
/// </ul>
static NSString *const kFIREventJoinGroup NS_SWIFT_NAME(AnalyticsEventJoinGroup) = @"join_group";
/// Level End event. Log this event when the user finishes a level. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterLevelName (String)</li>
/// <li>@c AnalyticsParameterSuccess (String)</li>
/// </ul>
static NSString *const kFIREventLevelEnd NS_SWIFT_NAME(AnalyticsEventLevelEnd) = @"level_end";
/// Level Start event. Log this event when the user starts a new level. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterLevelName (String)</li>
/// </ul>
static NSString *const kFIREventLevelStart NS_SWIFT_NAME(AnalyticsEventLevelStart) = @"level_start";
/// 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>@c AnalyticsParameterLevel (Int)</li>
/// <li>@c AnalyticsParameterCharacter (String) (optional)</li>
/// </ul>
static NSString *const kFIREventLevelUp NS_SWIFT_NAME(AnalyticsEventLevelUp) = @"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 NS_SWIFT_NAME(AnalyticsEventLogin) = @"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>@c AnalyticsParameterScore (Int)</li>
/// <li>@c AnalyticsParameterLevel (Int) (optional)</li>
/// <li>@c AnalyticsParameterCharacter (String) (optional)</li>
/// </ul>
static NSString *const kFIREventPostScore NS_SWIFT_NAME(AnalyticsEventPostScore) = @"post_score";
/// E-Commerce Purchase event. This event signifies that an item(s) 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 @c AnalyticsParameterValue parameter, you must also
/// supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
/// accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterEndDate (String) (optional)</li>
/// <li>@c AnalyticsParameterItemID (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterShipping (Double) (optional)</li>
/// <li>@c AnalyticsParameterStartDate (String) (optional)</li>
/// <li>@c AnalyticsParameterTax (Double) (optional)</li>
/// <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
/// parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterShipping (Double) (optional)</li>
/// <li>@c AnalyticsParameterTax (Double) (optional)</li>
/// <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
/// E-Commerce Remove from Cart event. This event signifies that an item(s) was removed from a cart.
/// Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply the @c
/// AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventRemoveFromCart NS_SWIFT_NAME(AnalyticsEventRemoveFromCart) =
@"remove_from_cart";
/// Screen View event. This event signifies a screen view. Use this when a screen transition occurs.
/// This event can be logged irrespective of whether automatic screen tracking is enabled. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterScreenClass (String) (optional)</li>
/// <li>@c AnalyticsParameterScreenName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventScreenView NS_SWIFT_NAME(AnalyticsEventScreenView) = @"screen_view";
/// 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>@c AnalyticsParameterSearchTerm (String)</li>
/// <li>@c AnalyticsParameterStartDate (String) (optional)</li>
/// <li>@c AnalyticsParameterEndDate (String) (optional)</li>
/// <li>@c AnalyticsParameterNumberOfNights (Int) (optional) for hotel bookings</li>
/// <li>@c AnalyticsParameterNumberOfRooms (Int) (optional) for hotel bookings</li>
/// <li>@c AnalyticsParameterNumberOfPassengers (Int) (optional) for travel bookings</li>
/// <li>@c AnalyticsParameterOrigin (String) (optional)</li>
/// <li>@c AnalyticsParameterDestination (String) (optional)</li>
/// <li>@c AnalyticsParameterTravelClass (String) (optional) for travel bookings</li>
/// </ul>
static NSString *const kFIREventSearch NS_SWIFT_NAME(AnalyticsEventSearch) = @"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>@c AnalyticsParameterContentType (String)</li>
/// <li>@c AnalyticsParameterItemID (String)</li>
/// </ul>
static NSString *const kFIREventSelectContent NS_SWIFT_NAME(AnalyticsEventSelectContent) =
@"select_content";
/// Select Item event. This event signifies that an item was selected by a user from a list. Use the
/// appropriate parameters to contextualize the event. Use this event to discover the most popular
/// items selected. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterItemListID (String) (optional)</li>
/// <li>@c AnalyticsParameterItemListName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventSelectItem NS_SWIFT_NAME(AnalyticsEventSelectItem) = @"select_item";
/// Select promotion event. This event signifies that a user has selected a promotion offer. Use the
/// appropriate parameters to contextualize the event, such as the item(s) for which the promotion
/// applies. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
/// <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterLocationID (String) (optional)</li>
/// <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
/// <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventSelectPromotion NS_SWIFT_NAME(AnalyticsEventSelectPromotion) =
@"select_promotion";
/// Share event. Apps with social features can log the Share event to identify the most viral
/// content. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterContentType (String)</li>
/// <li>@c AnalyticsParameterItemID (String)</li>
/// </ul>
static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"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>@c AnalyticsParameterMethod (String)</li>
/// </ul>
static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"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>@c AnalyticsParameterItemName (String)</li>
/// <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
/// <li>@c AnalyticsParameterValue (Int or Double)</li>
/// </ul>
static NSString *const kFIREventSpendVirtualCurrency
NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"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 @c AnalyticsEventTutorialComplete to understand how many users complete
/// this process and move on to the full app experience.
static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
@"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 @c AnalyticsEventTutorialBegin to gauge the completion rate
/// of your on-boarding process.
static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
@"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>@c AnalyticsParameterAchievementID (String)</li>
/// </ul>
static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
@"unlock_achievement";
/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
/// analyze your purchase funnel. Note: If you supply the @c AnalyticsParameterValue parameter, you
/// must also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be
/// computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventViewCart NS_SWIFT_NAME(AnalyticsEventViewCart) = @"view_cart";
/// View Item event. This event signifies that a user has viewed an item. 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 @c AnalyticsParameterValue parameter, you must also supply
/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
/// Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterItemListID (String) (optional)</li>
/// <li>@c AnalyticsParameterItemListName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
@"view_item_list";
/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
/// to a funnel with the @c AnalyticsEventAddToCart and @c AnalyticsEventPurchase to gauge your
/// conversion process. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
/// <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterLocationID (String) (optional)</li>
/// <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
/// <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventViewPromotion NS_SWIFT_NAME(AnalyticsEventViewPromotion) =
@"view_promotion";
/// View Search Results event. Log this event when the user has been presented with the results of a
/// search. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterSearchTerm (String)</li>
/// </ul>
static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
@"view_search_results";

View File

@ -0,0 +1,722 @@
/// @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 40 characters long, may only contain alphanumeric
/// characters and underscores ("_"), and must start with an alphabetic character. Param values can
/// be up to 100 characters long for standard Google Analytics properties and up to 500 characters
/// long for Google Analytics 360 properties. The "firebase_", "google_", and "ga_" prefixes are
/// reserved and should not be used.
#import <Foundation/Foundation.h>
/// Game achievement ID (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAchievementID : "10_matches_won",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAchievementID NS_SWIFT_NAME(AnalyticsParameterAchievementID) =
@"achievement_id";
/// The ad format (e.g. Banner, Interstitial, Rewarded, Native, Rewarded Interstitial, Instream).
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAdFormat : "Banner",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdFormat NS_SWIFT_NAME(AnalyticsParameterAdFormat) =
@"ad_format";
/// Ad Network Click ID (String). Used for network-specific click IDs which vary in format.
/// <pre>
/// let params = [
/// AnalyticsParameterAdNetworkClickID : "1234567",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdNetworkClickID
NS_SWIFT_NAME(AnalyticsParameterAdNetworkClickID) = @"aclid";
/// The ad platform (e.g. MoPub, IronSource) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAdPlatform : "MoPub",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdPlatform NS_SWIFT_NAME(AnalyticsParameterAdPlatform) =
@"ad_platform";
/// The ad source (e.g. AdColony) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAdSource : "AdColony",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdSource NS_SWIFT_NAME(AnalyticsParameterAdSource) =
@"ad_source";
/// The ad unit name (e.g. Banner_03) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAdUnitName : "Banner_03",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdUnitName NS_SWIFT_NAME(AnalyticsParameterAdUnitName) =
@"ad_unit_name";
/// A product affiliation to designate a supplying company or brick and mortar store location
/// (String). <pre>
/// let params = [
/// AnalyticsParameterAffiliation : "Google Store",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAffiliation NS_SWIFT_NAME(AnalyticsParameterAffiliation) =
@"affiliation";
/// Campaign custom parameter (String). Used as a method of capturing custom data in a campaign.
/// Use varies by network.
/// <pre>
/// let params = [
/// AnalyticsParameterCP1 : "custom_data",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
/// The individual campaign name, slogan, promo code, etc. Some networks have pre-defined macro to
/// capture campaign information, otherwise can be populated by developer. Highly Recommended
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCampaign : "winter_promotion",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCampaign NS_SWIFT_NAME(AnalyticsParameterCampaign) =
@"campaign";
/// Campaign ID (String). Used for keyword analysis to identify a specific product promotion or
/// strategic campaign. This is a required key for GA4 data import.
/// <pre>
/// let params = [
/// AnalyticsParameterCampaignID : "7877652710",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCampaignID NS_SWIFT_NAME(AnalyticsParameterCampaignID) =
@"campaign_id";
/// Character used in game (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCharacter : "beat_boss",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCharacter NS_SWIFT_NAME(AnalyticsParameterCharacter) =
@"character";
/// Campaign content (String).
static NSString *const kFIRParameterContent NS_SWIFT_NAME(AnalyticsParameterContent) = @"content";
/// Type of content selected (String).
/// <pre>
/// let params = [
/// AnalyticsParameterContentType : "news article",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterContentType NS_SWIFT_NAME(AnalyticsParameterContentType) =
@"content_type";
/// Coupon code used for a purchase (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCoupon : "SUMMER_FUN",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCoupon NS_SWIFT_NAME(AnalyticsParameterCoupon) = @"coupon";
/// Creative Format (String). Used to identify the high-level classification of the type of ad
/// served by a specific campaign.
/// <pre>
/// let params = [
/// AnalyticsParameterCreativeFormat : "display",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCreativeFormat NS_SWIFT_NAME(AnalyticsParameterCreativeFormat) =
@"creative_format";
/// The name of a creative used in a promotional spot (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCreativeName : "Summer Sale",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCreativeName NS_SWIFT_NAME(AnalyticsParameterCreativeName) =
@"creative_name";
/// The name of a creative slot (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCreativeSlot : "summer_banner2",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCreativeSlot NS_SWIFT_NAME(AnalyticsParameterCreativeSlot) =
@"creative_slot";
/// Currency of the purchase or items associated with the event, in 3-letter
/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCurrency : "USD",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCurrency NS_SWIFT_NAME(AnalyticsParameterCurrency) =
@"currency";
/// Flight or Travel destination (String).
/// <pre>
/// let params = [
/// AnalyticsParameterDestination : "Mountain View, CA",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterDestination NS_SWIFT_NAME(AnalyticsParameterDestination) =
@"destination";
/// Monetary value of discount associated with a purchase (Double).
/// <pre>
/// let params = [
/// AnalyticsParameterDiscount : 2.0,
/// AnalyticsParameterCurrency : "USD", // e.g. $2.00 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
@"discount";
/// The arrival date, check-out date or rental end date for the item. This should be in
/// YYYY-MM-DD format (String).
/// <pre>
/// let params = [
/// AnalyticsParameterEndDate : "2015-09-14",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterEndDate NS_SWIFT_NAME(AnalyticsParameterEndDate) = @"end_date";
/// Indicates that the associated event should either extend the current session or start a new
/// session if no session was active when the event was logged. Specify 1 to extend the current
/// session or to start a new session; any other value will not extend or start a session.
/// <pre>
/// let params = [
/// AnalyticsParameterExtendSession : 1,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
@"extend_session";
/// Flight number for travel events (String).
/// <pre>
/// let params = [
/// AnalyticsParameterFlightNumber : "ZZ800",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterFlightNumber NS_SWIFT_NAME(AnalyticsParameterFlightNumber) =
@"flight_number";
/// Group/clan/guild ID (String).
/// <pre>
/// let params = [
/// AnalyticsParameterGroupID : "g1",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterGroupID NS_SWIFT_NAME(AnalyticsParameterGroupID) = @"group_id";
/// The index of the item in a list (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterIndex : 5,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterIndex NS_SWIFT_NAME(AnalyticsParameterIndex) = @"index";
/// Item brand (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemBrand : "Google",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemBrand NS_SWIFT_NAME(AnalyticsParameterItemBrand) =
@"item_brand";
/// Item category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory NS_SWIFT_NAME(AnalyticsParameterItemCategory) =
@"item_category";
/// Item Category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory2 : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
@"item_category2";
/// Item Category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory3 : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
@"item_category3";
/// Item Category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory4 : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
@"item_category4";
/// Item Category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory5 : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
@"item_category5";
/// Item ID (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemID : "SKU_12345",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemID NS_SWIFT_NAME(AnalyticsParameterItemID) = @"item_id";
/// The ID of the list in which the item was presented to the user (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemListID : "ABC123",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
@"item_list_id";
/// The name of the list in which the item was presented to the user (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemListName : "Related products",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
@"item_list_name";
/// Item Name (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemName : "jeggings",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemName NS_SWIFT_NAME(AnalyticsParameterItemName) =
@"item_name";
/// Item variant (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemVariant : "Black",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemVariant NS_SWIFT_NAME(AnalyticsParameterItemVariant) =
@"item_variant";
/// The list of items involved in the transaction expressed as `[[String: Any]]`.
/// <pre>
/// let params = [
/// AnalyticsParameterItems : [
/// [AnalyticsParameterItemName : "jeggings", AnalyticsParameterItemCategory : "pants"],
/// [AnalyticsParameterItemName : "boots", AnalyticsParameterItemCategory : "shoes"],
/// ],
/// ]
/// </pre>
static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
/// Level in game (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterLevel : 42,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterLevel NS_SWIFT_NAME(AnalyticsParameterLevel) = @"level";
/// The name of a level in a game (String).
/// <pre>
/// let params = [
/// AnalyticsParameterLevelName : "room_1",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
@"level_name";
/// Location (String). 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>
/// let params = [
/// AnalyticsParameterLocation : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterLocation NS_SWIFT_NAME(AnalyticsParameterLocation) =
@"location";
/// The location associated with the event. Preferred to be the Google
/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
/// associated item but could be overridden to a custom location ID string.(String).
/// <pre>
/// let params = [
/// AnalyticsParameterLocationID : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
@"location_id";
/// Marketing Tactic (String). Used to identify the targeting criteria applied to a specific
/// campaign.
/// <pre>
/// let params = [
/// AnalyticsParameterMarketingTactic : "Remarketing",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterMarketingTactic
NS_SWIFT_NAME(AnalyticsParameterMarketingTactic) = @"marketing_tactic";
/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterMedium : "email",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterMedium NS_SWIFT_NAME(AnalyticsParameterMedium) = @"medium";
/// A particular approach used in an operation; for example, "facebook" or "email" in the context
/// of a sign_up or login event. (String).
/// <pre>
/// let params = [
/// AnalyticsParameterMethod : "google",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
/// Number of nights staying at hotel (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterNumberOfNights : 3,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterNumberOfNights
NS_SWIFT_NAME(AnalyticsParameterNumberOfNights) = @"number_of_nights";
/// Number of passengers traveling (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterNumberOfPassengers : 11,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterNumberOfPassengers
NS_SWIFT_NAME(AnalyticsParameterNumberOfPassengers) = @"number_of_passengers";
/// Number of rooms for travel events (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterNumberOfRooms : 2,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterNumberOfRooms NS_SWIFT_NAME(AnalyticsParameterNumberOfRooms) =
@"number_of_rooms";
/// Flight or Travel origin (String).
/// <pre>
/// let params = [
/// AnalyticsParameterOrigin : "Mountain View, CA",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterOrigin NS_SWIFT_NAME(AnalyticsParameterOrigin) = @"origin";
/// The chosen method of payment (String).
/// <pre>
/// let params = [
/// AnalyticsParameterPaymentType : "Visa",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
@"payment_type";
/// Purchase price (Double).
/// <pre>
/// let params = [
/// AnalyticsParameterPrice : 1.0,
/// AnalyticsParameterCurrency : "USD", // e.g. $1.00 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterPrice NS_SWIFT_NAME(AnalyticsParameterPrice) = @"price";
/// The ID of a product promotion (String).
/// <pre>
/// let params = [
/// AnalyticsParameterPromotionID : "ABC123",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
@"promotion_id";
/// The name of a product promotion (String).
/// <pre>
/// let params = [
/// AnalyticsParameterPromotionName : "Summer Sale",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
@"promotion_name";
/// Purchase quantity (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterQuantity : 1,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterQuantity NS_SWIFT_NAME(AnalyticsParameterQuantity) =
@"quantity";
/// Score in game (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterScore : 4200,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterScore NS_SWIFT_NAME(AnalyticsParameterScore) = @"score";
/// Current screen class, such as the class name of the UIViewController, logged with screen_view
/// event and added to every event (String).
/// <pre>
/// let params = [
/// AnalyticsParameterScreenClass : "LoginViewController",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterScreenClass NS_SWIFT_NAME(AnalyticsParameterScreenClass) =
@"screen_class";
/// Current screen name, such as the name of the UIViewController, logged with screen_view event and
/// added to every event (String).
/// <pre>
/// let params = [
/// AnalyticsParameterScreenName : "LoginView",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterScreenName NS_SWIFT_NAME(AnalyticsParameterScreenName) =
@"screen_name";
/// The search string/keywords used (String).
/// <pre>
/// let params = [
/// AnalyticsParameterSearchTerm : "periodic table",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterSearchTerm NS_SWIFT_NAME(AnalyticsParameterSearchTerm) =
@"search_term";
/// Shipping cost associated with a transaction (Double).
/// <pre>
/// let params = [
/// AnalyticsParameterShipping : 5.99,
/// AnalyticsParameterCurrency : "USD", // e.g. $5.99 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterShipping NS_SWIFT_NAME(AnalyticsParameterShipping) =
@"shipping";
/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterShippingTier : "Ground",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
@"shipping_tier";
/// The origin of your traffic, such as an Ad network (for example, google) or partner (urban
/// airship). Identify the advertiser, site, publication, etc. that is sending traffic to your
/// property. Highly recommended (String).
/// <pre>
/// let params = [
/// AnalyticsParameterSource : "InMobi",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterSource NS_SWIFT_NAME(AnalyticsParameterSource) = @"source";
/// Source Platform (String). Used to identify the platform responsible for directing traffic to a
/// given Analytics property (e.g., a buying platform where budgets, targeting criteria, etc. are
/// set, a platform for managing organic traffic data, etc.).
/// <pre>
/// let params = [
/// AnalyticsParameterSourcePlatform : "sa360",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterSourcePlatform NS_SWIFT_NAME(AnalyticsParameterSourcePlatform) =
@"source_platform";
/// The departure date, check-in date or rental start date for the item. This should be in
/// YYYY-MM-DD format (String).
/// <pre>
/// let params = [
/// AnalyticsParameterStartDate : "2015-09-14",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterStartDate NS_SWIFT_NAME(AnalyticsParameterStartDate) =
@"start_date";
/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterSuccess : 1,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
/// Tax cost associated with a transaction (Double).
/// <pre>
/// let params = [
/// AnalyticsParameterTax : 2.43,
/// AnalyticsParameterCurrency : "USD", // e.g. $2.43 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterTax NS_SWIFT_NAME(AnalyticsParameterTax) = @"tax";
/// If you're manually tagging keyword campaigns, you should use utm_term to specify the keyword
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterTerm : "game",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterTerm NS_SWIFT_NAME(AnalyticsParameterTerm) = @"term";
/// The unique identifier of a transaction (String).
/// <pre>
/// let params = [
/// AnalyticsParameterTransactionID : "T12345",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterTransactionID NS_SWIFT_NAME(AnalyticsParameterTransactionID) =
@"transaction_id";
/// Travel class (String).
/// <pre>
/// let params = [
/// AnalyticsParameterTravelClass : "business",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterTravelClass NS_SWIFT_NAME(AnalyticsParameterTravelClass) =
@"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 Int or
/// Double.
/// Notes: Values for pre-defined currency-related events (such as @c AnalyticsEventAddToCart)
/// should be supplied using Double and must be accompanied by a @c AnalyticsParameterCurrency
/// parameter. The valid range of accumulated values is
/// [-9,223,372,036,854.77, 9,223,372,036,854.77]. Supplying a non-numeric value, omitting the
/// corresponding @c AnalyticsParameterCurrency parameter, or supplying an invalid
/// <a href="https://goo.gl/qqX3J2">currency code</a> for conversion events will cause that
/// conversion to be omitted from reporting.
/// <pre>
/// let params = [
/// AnalyticsParameterValue : 3.99,
/// AnalyticsParameterCurrency : "USD", // e.g. $3.99 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterValue NS_SWIFT_NAME(AnalyticsParameterValue) = @"value";
/// Name of virtual currency type (String).
/// <pre>
/// let params = [
/// AnalyticsParameterVirtualCurrencyName : "virtual_currency_name",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterVirtualCurrencyName
NS_SWIFT_NAME(AnalyticsParameterVirtualCurrencyName) = @"virtual_currency_name";

View File

@ -0,0 +1,28 @@
/// @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_", "google_", and "ga_" prefixes are reserved and should not
/// be used.
#import <Foundation/Foundation.h>
/// Indicates whether events logged by Google Analytics can be used to personalize ads for the user.
/// Set to "YES" to enable, or "NO" to disable. Default is enabled. See the
/// <a href="https://firebase.google.com/support/guides/disable-analytics">documentation</a> for
/// more details and information about related settings.
///
/// <pre>
/// Analytics.setUserProperty("NO", forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)
/// </pre>
static NSString *const kFIRUserPropertyAllowAdPersonalizationSignals
NS_SWIFT_NAME(AnalyticsUserPropertyAllowAdPersonalizationSignals) = @"allow_personalized_ads";
/// The method used to sign in. For example, "google", "facebook" or "twitter".
static NSString *const kFIRUserPropertySignUpMethod
NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";

View File

@ -0,0 +1,312 @@
#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
#ifndef FIREBASEANALYTICS_SWIFT_H
#define FIREBASEANALYTICS_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#if defined(__OBJC__)
#include <Foundation/Foundation.h>
#endif
#if defined(__cplusplus)
#include <cstdint>
#include <cstddef>
#include <cstdbool>
#include <cstring>
#include <stdlib.h>
#include <new>
#include <type_traits>
#else
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include <string.h>
#endif
#if defined(__cplusplus)
#if defined(__arm64e__) && __has_include(<ptrauth.h>)
# include <ptrauth.h>
#else
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
# ifndef __ptrauth_swift_value_witness_function_pointer
# define __ptrauth_swift_value_witness_function_pointer(x)
# endif
# ifndef __ptrauth_swift_class_method_pointer
# define __ptrauth_swift_class_method_pointer(x)
# endif
#pragma clang diagnostic pop
#endif
#endif
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if !defined(SWIFT_RUNTIME_NAME)
# if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
# else
# define SWIFT_RUNTIME_NAME(X)
# endif
#endif
#if !defined(SWIFT_COMPILE_NAME)
# if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
# else
# define SWIFT_COMPILE_NAME(X)
# endif
#endif
#if !defined(SWIFT_METHOD_FAMILY)
# if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
# else
# define SWIFT_METHOD_FAMILY(X)
# endif
#endif
#if !defined(SWIFT_NOESCAPE)
# if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
# else
# define SWIFT_NOESCAPE
# endif
#endif
#if !defined(SWIFT_RELEASES_ARGUMENT)
# if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
# else
# define SWIFT_RELEASES_ARGUMENT
# endif
#endif
#if !defined(SWIFT_WARN_UNUSED_RESULT)
# if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
# else
# define SWIFT_WARN_UNUSED_RESULT
# endif
#endif
#if !defined(SWIFT_NORETURN)
# if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
# else
# define SWIFT_NORETURN
# endif
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
# define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if !defined(SWIFT_DEPRECATED_OBJC)
# if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
# else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
# endif
#endif
#if defined(__OBJC__)
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#endif
#if !defined(SWIFT_EXTERN)
# if defined(__cplusplus)
# define SWIFT_EXTERN extern "C"
# else
# define SWIFT_EXTERN extern
# endif
#endif
#if !defined(SWIFT_CALL)
# define SWIFT_CALL __attribute__((swiftcall))
#endif
#if !defined(SWIFT_INDIRECT_RESULT)
# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
#endif
#if !defined(SWIFT_CONTEXT)
# define SWIFT_CONTEXT __attribute__((swift_context))
#endif
#if !defined(SWIFT_ERROR_RESULT)
# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
#endif
#if defined(__cplusplus)
# define SWIFT_NOEXCEPT noexcept
#else
# define SWIFT_NOEXCEPT
#endif
#if !defined(SWIFT_C_INLINE_THUNK)
# if __has_attribute(always_inline)
# if __has_attribute(nodebug)
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
# else
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
# endif
# else
# define SWIFT_C_INLINE_THUNK inline
# endif
#endif
#if defined(_WIN32)
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
#endif
#else
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL
#endif
#endif
#if defined(__OBJC__)
#if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
#endif
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseAnalytics",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
#if defined(__OBJC__)
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#if defined(__cplusplus)
#endif
#pragma clang diagnostic pop
#endif
#else
#error unsupported Swift architecture
#endif

View File

@ -0,0 +1,24 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
#import "FIRAnalytics+AppDelegate.h"
#import "FIRAnalytics+Consent.h"
#import "FIRAnalytics+OnDevice.h"
#import "FIRAnalytics.h"
#import "FirebaseAnalytics.h"
#import "FIREventNames.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"
FOUNDATION_EXPORT double FirebaseAnalyticsVersionNumber;
FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsVersionString[];

View File

@ -0,0 +1,7 @@
#import "FIRAnalytics+AppDelegate.h"
#import "FIRAnalytics+Consent.h"
#import "FIRAnalytics+OnDevice.h"
#import "FIRAnalytics.h"
#import "FIREventNames.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"

View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>23G93</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>FirebaseAnalytics</string>
<key>CFBundleIdentifier</key>
<string>org.cocoapods.FirebaseAnalytics</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>FirebaseAnalytics</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>11.1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>iPhoneOS</string>
</array>
<key>CFBundleVersion</key>
<string>1</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>21C52</string>
<key>DTPlatformName</key>
<string>iphoneos</string>
<key>DTPlatformVersion</key>
<string>17.2</string>
<key>DTSDKBuild</key>
<string>21C52</string>
<key>DTSDKName</key>
<string>iphoneos17.2</string>
<key>DTXcode</key>
<string>1520</string>
<key>DTXcodeBuild</key>
<string>15C500b</string>
<key>MinimumOSVersion</key>
<string>100.0</string>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
</dict>
</plist>

View File

@ -0,0 +1,288 @@
{
"ABIRoot": {
"kind": "Root",
"name": "TopLevel",
"printedName": "TopLevel",
"children": [
{
"kind": "Import",
"name": "StoreKit",
"printedName": "StoreKit",
"declKind": "Import",
"moduleName": "FirebaseAnalytics"
},
{
"kind": "Import",
"name": "SwiftUI",
"printedName": "SwiftUI",
"declKind": "Import",
"moduleName": "FirebaseAnalytics"
},
{
"kind": "TypeDecl",
"name": "Analytics",
"printedName": "Analytics",
"children": [
{
"kind": "Function",
"name": "logTransaction",
"printedName": "logTransaction(_:)",
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
},
{
"kind": "TypeNominal",
"name": "Transaction",
"printedName": "StoreKit.Transaction",
"usr": "s:8StoreKit11TransactionV"
}
],
"declKind": "Func",
"usr": "s:So12FIRAnalyticsC17FirebaseAnalyticsE14logTransactionyy8StoreKit0E0VFZ",
"mangledName": "$sSo12FIRAnalyticsC17FirebaseAnalyticsE14logTransactionyy8StoreKit0E0VFZ",
"moduleName": "FirebaseAnalytics",
"static": true,
"declAttributes": [
"Final",
"AccessControl",
"RawDocComment"
],
"isFromExtension": true,
"funcSelfKind": "NonMutating"
}
],
"declKind": "Class",
"usr": "c:objc(cs)FIRAnalytics",
"moduleName": "FirebaseAnalytics",
"isOpen": true,
"objc_name": "FIRAnalytics",
"declAttributes": [
"ObjC",
"Dynamic"
],
"superclassUsr": "c:objc(cs)NSObject",
"isExternal": true,
"inheritsConvenienceInitializers": true,
"superclassNames": [
"ObjectiveC.NSObject"
],
"conformances": [
{
"kind": "Conformance",
"name": "Equatable",
"printedName": "Equatable",
"usr": "s:SQ",
"mangledName": "$sSQ"
},
{
"kind": "Conformance",
"name": "Hashable",
"printedName": "Hashable",
"usr": "s:SH",
"mangledName": "$sSH"
},
{
"kind": "Conformance",
"name": "CVarArg",
"printedName": "CVarArg",
"usr": "s:s7CVarArgP",
"mangledName": "$ss7CVarArgP"
},
{
"kind": "Conformance",
"name": "_KeyValueCodingAndObservingPublishing",
"printedName": "_KeyValueCodingAndObservingPublishing",
"usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP",
"mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP"
},
{
"kind": "Conformance",
"name": "_KeyValueCodingAndObserving",
"printedName": "_KeyValueCodingAndObserving",
"usr": "s:10Foundation27_KeyValueCodingAndObservingP",
"mangledName": "$s10Foundation27_KeyValueCodingAndObservingP"
},
{
"kind": "Conformance",
"name": "CustomStringConvertible",
"printedName": "CustomStringConvertible",
"usr": "s:s23CustomStringConvertibleP",
"mangledName": "$ss23CustomStringConvertibleP"
},
{
"kind": "Conformance",
"name": "CustomDebugStringConvertible",
"printedName": "CustomDebugStringConvertible",
"usr": "s:s28CustomDebugStringConvertibleP",
"mangledName": "$ss28CustomDebugStringConvertibleP"
}
]
},
{
"kind": "TypeDecl",
"name": "View",
"printedName": "View",
"children": [
{
"kind": "Function",
"name": "analyticsScreen",
"printedName": "analyticsScreen(name:class:extraParameters:)",
"children": [
{
"kind": "TypeNominal",
"name": "ModifiedContent",
"printedName": "SwiftUI.ModifiedContent<τ_0_0, FirebaseAnalytics.LoggedAnalyticsModifier>",
"children": [
{
"kind": "TypeNominal",
"name": "GenericTypeParam",
"printedName": "τ_0_0"
},
{
"kind": "TypeNominal",
"name": "LoggedAnalyticsModifier",
"printedName": "FirebaseAnalytics.LoggedAnalyticsModifier",
"usr": "s:17FirebaseAnalytics06LoggedB8ModifierV"
}
],
"usr": "s:7SwiftUI15ModifiedContentV"
},
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"hasDefaultArg": true,
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "Dictionary",
"printedName": "[Swift.String : Any]",
"children": [
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "ProtocolComposition",
"printedName": "Any"
}
],
"hasDefaultArg": true,
"usr": "s:SD"
}
],
"declKind": "Func",
"usr": "s:7SwiftUI4ViewP17FirebaseAnalyticsE15analyticsScreen4name5class15extraParametersQrSS_SSSDySSypGtF",
"mangledName": "$s7SwiftUI4ViewP17FirebaseAnalyticsE15analyticsScreen4name5class15extraParametersQrSS_SSSDySSypGtF",
"moduleName": "FirebaseAnalytics",
"genericSig": "<τ_0_0 where τ_0_0 : SwiftUI.View>",
"sugared_genericSig": "<Self where Self : SwiftUI.View>",
"declAttributes": [
"AccessControl",
"RawDocComment"
],
"isFromExtension": true,
"funcSelfKind": "NonMutating"
}
],
"declKind": "Protocol",
"usr": "s:7SwiftUI4ViewP",
"mangledName": "$s7SwiftUI4ViewP",
"moduleName": "SwiftUI",
"genericSig": "<τ_0_0.Body : SwiftUI.View>",
"sugared_genericSig": "<Self.Body : SwiftUI.View>",
"intro_Macosx": "10.15",
"intro_iOS": "13.0",
"intro_tvOS": "13.0",
"intro_watchOS": "6.0",
"declAttributes": [
"TypeEraser",
"Available",
"Available",
"Available",
"Available"
],
"isExternal": true
}
],
"json_format_version": 8
},
"ConstValues": [
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "BooleanLiteral",
"offset": 1259,
"length": 5,
"value": "false"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "BooleanLiteral",
"offset": 1297,
"length": 5,
"value": "false"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2523,
"length": 1,
"value": "0"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2564,
"length": 1,
"value": "1"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2607,
"length": 1,
"value": "2"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2651,
"length": 1,
"value": "3"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2683,
"length": 1,
"value": "0"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+SwiftUI.swift",
"kind": "StringLiteral",
"offset": 2654,
"length": 6,
"value": "\"View\""
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+SwiftUI.swift",
"kind": "Dictionary",
"offset": 2701,
"length": 3,
"value": "[]"
}
]
}

View File

@ -0,0 +1,22 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
// swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalytics
// swift-module-flags-ignorable: -enable-bare-slash-regex
@_exported import FirebaseAnalytics
import StoreKit
import Swift
import SwiftUI
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, *)
@available(watchOS, unavailable)
extension FirebaseAnalytics.Analytics {
public static func logTransaction(_ transaction: StoreKit.Transaction)
}
@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
@available(watchOS, unavailable)
extension SwiftUI.View {
public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
}

View File

@ -0,0 +1,22 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
// swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalytics
// swift-module-flags-ignorable: -enable-bare-slash-regex
@_exported import FirebaseAnalytics
import StoreKit
import Swift
import SwiftUI
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, *)
@available(watchOS, unavailable)
extension FirebaseAnalytics.Analytics {
public static func logTransaction(_ transaction: StoreKit.Transaction)
}
@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
@available(watchOS, unavailable)
extension SwiftUI.View {
public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
}

View File

@ -0,0 +1,16 @@
framework module FirebaseAnalytics {
umbrella header "FirebaseAnalytics-umbrella.h"
export *
module * { export * }
link framework "Foundation"
link framework "Security"
link framework "SystemConfiguration"
link framework "UIKit"
link "c++"
link "sqlite3"
link "z"
}
module FirebaseAnalytics.Swift {
header "FirebaseAnalytics-Swift.h"
requires objc
}

View File

@ -0,0 +1,80 @@
#import <Foundation/Foundation.h>
#import "FIRAnalytics.h"
NS_ASSUME_NONNULL_BEGIN
/// 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:)`.
@interface FIRAnalytics (AppDelegate)
/// 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.
///
/// @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:(nullable void (^)(void))completionHandler;
/// 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.
///
/// @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.
///
/// 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](https://developer.apple.com/documentation/xcode/supporting-universal-links-in-your-app) 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.
///
/// @param userActivity The activity object containing the data associated with the task the user
/// was performing.
+ (void)handleUserActivity:(id)userActivity;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,51 @@
#import <Foundation/Foundation.h>
#import "FIRAnalytics.h"
NS_ASSUME_NONNULL_BEGIN
/// The type of consent to set. Supported consent types are `ConsentType.adStorage`,
/// `ConsentType.analyticsStorage`, `ConsentType.adUserData`, and `ConsentType.adPersonalization`.
/// Omitting a type retains its previous status.
typedef NSString *FIRConsentType NS_TYPED_ENUM NS_SWIFT_NAME(ConsentType);
/// Enables storage (such as device identifiers) related to advertising.
extern FIRConsentType const FIRConsentTypeAdStorage;
/// Enables storage (such as app identifiers) related to analytics, e.g. visit duration.
extern FIRConsentType const FIRConsentTypeAnalyticsStorage;
/// Sets consent for sending user data to Google for advertising purposes.
extern FIRConsentType const FIRConsentTypeAdUserData;
/// Sets consent for personalized advertising.
extern FIRConsentType const FIRConsentTypeAdPersonalization;
/// The status value of the consent type. Supported statuses are `ConsentStatus.granted` and
/// `ConsentStatus.denied`.
typedef NSString *FIRConsentStatus NS_TYPED_ENUM NS_SWIFT_NAME(ConsentStatus);
/// Consent status indicating consent is denied. For an overview of which data is sent when consent
/// is denied, see [SDK behavior with consent
/// mode](https://developers.google.com/tag-platform/security/concepts/consent-mode#tag-behavior).
extern FIRConsentStatus const FIRConsentStatusDenied;
/// Consent status indicating consent is granted.
extern FIRConsentStatus const FIRConsentStatusGranted;
/// Sets the applicable end user consent state.
@interface FIRAnalytics (Consent)
/// Sets the applicable end user consent state (e.g. for device identifiers) for this app on this
/// device. Use the consent settings to specify individual consent type values. Settings are
/// persisted across app sessions. By default consent types are set to `ConsentStatus.granted`.
///
/// @param consentSettings A Dictionary of consent types. Supported consent type keys are
/// `ConsentType.adStorage`, `ConsentType.analyticsStorage`, `ConsentType.adUserData`, and
/// `ConsentType.adPersonalization`. Valid values are `ConsentStatus.granted` and
/// `ConsentStatus.denied`.
+ (void)setConsent:(NSDictionary<FIRConsentType, FIRConsentStatus> *)consentSettings;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,44 @@
#import <Foundation/Foundation.h>
#import "FIRAnalytics.h"
NS_ASSUME_NONNULL_BEGIN
API_UNAVAILABLE(macCatalyst, macos, tvos, watchos)
@interface FIRAnalytics (OnDevice)
/// Initiates on-device conversion measurement given a user email address. Requires dependency
/// GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
/// @param emailAddress User email address. Include a domain name for all email addresses
/// (e.g. gmail.com or hotmail.co.jp).
+ (void)initiateOnDeviceConversionMeasurementWithEmailAddress:(NSString *)emailAddress
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(emailAddress:));
/// Initiates on-device conversion measurement given a phone number in E.164 format. Requires
/// dependency GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
/// @param phoneNumber User phone number. Must be in E.164 format, which means it must be
/// limited to a maximum of 15 digits and must include a plus sign (+) prefix and country code
/// with no dashes, parentheses, or spaces.
+ (void)initiateOnDeviceConversionMeasurementWithPhoneNumber:(NSString *)phoneNumber
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(phoneNumber:));
/// Initiates on-device conversion measurement given a sha256-hashed user email address. Requires
/// dependency GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
/// @param hashedEmailAddress User email address as a UTF8-encoded string normalized and hashed
/// according to the instructions at
/// https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3.
+ (void)initiateOnDeviceConversionMeasurementWithHashedEmailAddress:(NSData *)hashedEmailAddress
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(hashedEmailAddress:));
/// Initiates on-device conversion measurement given a sha256-hashed phone number in E.164 format.
/// Requires dependency GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a
/// no-op.
/// @param hashedPhoneNumber UTF8-encoded user phone number in E.164 format and then hashed
/// according to the instructions at
/// https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3.
+ (void)initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:(NSData *)hashedPhoneNumber
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(hashedPhoneNumber:));
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,155 @@
#import <Foundation/Foundation.h>
#import "FIREventNames.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"
NS_ASSUME_NONNULL_BEGIN
/// The top level Firebase Analytics singleton that provides methods for logging events and setting
/// user properties. See <a href="http://goo.gl/gz8SLz">the developer guides</a> for general
/// information on using Firebase Analytics in your apps.
///
/// @note The Analytics SDK uses SQLite to persist events and other app-specific data. Calling
/// certain thread-unsafe global SQLite methods like `sqlite3_shutdown()` can result in
/// unexpected crashes at runtime.
NS_SWIFT_NAME(Analytics)
@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>ad_activeview</li>
/// <li>ad_click</li>
/// <li>ad_exposure</li>
/// <li>ad_query</li>
/// <li>ad_reward</li>
/// <li>adunit_exposure</li>
/// <li>app_clear_data</li>
/// <li>app_exception</li>
/// <li>app_remove</li>
/// <li>app_store_refund</li>
/// <li>app_store_subscription_cancel</li>
/// <li>app_store_subscription_convert</li>
/// <li>app_store_subscription_renew</li>
/// <li>app_update</li>
/// <li>app_upgrade</li>
/// <li>dynamic_link_app_open</li>
/// <li>dynamic_link_app_update</li>
/// <li>dynamic_link_first_open</li>
/// <li>error</li>
/// <li>firebase_campaign</li>
/// <li>first_open</li>
/// <li>first_visit</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>session_start_with_rollout</li>
/// <li>user_engagement</li>
/// </ul>
///
/// @param name The name of the event. Should contain 1 to 40 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_",
/// "google_", and "ga_" prefixes are 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. To manually log screen view events, use the `screen_view` event name.
/// @param parameters The dictionary of event parameters. Passing `nil` indicates that the event has
/// no parameters. Parameter names can be up to 40 characters long and must start with an
/// alphabetic character and contain only alphanumeric characters and underscores. Only String,
/// Int, and Double parameter types are supported. String parameter values can be up to 100
/// characters long for standard Google Analytics properties, and up to 500 characters long for
/// Google Analytics 360 properties. The "firebase_", "google_", and "ga_" prefixes are reserved
/// and should not be used for parameter names.
+ (void)logEventWithName:(NSString *)name
parameters:(nullable NSDictionary<NSString *, id> *)parameters
NS_SWIFT_NAME(logEvent(_:parameters:));
/// Sets a user property to a given value. Up to 25 user property names are supported. Once set,
/// user property values persist throughout the app lifecycle and across sessions.
///
/// 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_", "google_", and
/// "ga_" prefixes are reserved and should not be used for user property names.
+ (void)setUserPropertyString:(nullable NSString *)value forName:(NSString *)name
NS_SWIFT_NAME(setUserProperty(_:forName:));
/// 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 256 characters long. Setting userID to `nil` removes the user ID.
+ (void)setUserID:(nullable NSString *)userID;
/// Sets whether analytics collection is enabled for this app on this device. This setting is
/// persisted across app sessions. By default it is enabled.
///
/// @param analyticsCollectionEnabled A flag that enables or disables Analytics collection.
+ (void)setAnalyticsCollectionEnabled:(BOOL)analyticsCollectionEnabled;
/// Sets the interval of inactivity in seconds that terminates the current session. The default
/// value is 1800 seconds (30 minutes).
///
/// @param sessionTimeoutInterval The custom time of inactivity in seconds before the current
/// session terminates.
+ (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval;
/// Asynchronously retrieves the identifier of the current app session.
///
/// The session ID retrieval could fail due to Analytics collection disabled, app session expired,
/// etc.
///
/// @param completion The completion handler to call when the session ID retrieval is complete. This
/// handler is executed on a system-defined global concurrent queue.
/// This completion handler takes the following parameters:
/// <b>sessionID</b> The identifier of the current app session. The value is undefined if the
/// request failed.
/// <b>error</b> An error object that indicates why the request failed, or `nil` if the request
/// was successful.
+ (void)sessionIDWithCompletion:(void (^)(int64_t sessionID, NSError *_Nullable error))completion;
/// Returns the unique ID for this instance of the application or `nil` if
/// `ConsentType.analyticsStorage` has been set to `ConsentStatus.denied`.
///
/// @see `FIRAnalytics+Consent.h`
+ (nullable NSString *)appInstanceID;
/// Clears all analytics data for this instance from the device and resets the app instance ID.
+ (void)resetAnalyticsData;
/// Adds parameters that will be set on every event logged from the SDK, including automatic ones.
/// The values passed in the parameters dictionary will be added to the dictionary of default event
/// parameters. These parameters persist across app runs. They are of lower precedence than event
/// parameters, so if an event parameter and a parameter set using this API have the same name, the
/// value of the event parameter will be used. The same limitations on event parameters apply to
/// default event parameters.
///
/// @param parameters Parameters to be added to the dictionary of parameters added to every event.
/// They will be added to the dictionary of default event parameters, replacing any existing
/// parameter with the same name. Valid parameters are String, Int, and Double. Setting a key's
/// value to `NSNull()` will clear that parameter. Passing in a `nil` dictionary will clear all
/// parameters.
+ (void)setDefaultEventParameters:(nullable NSDictionary<NSString *, id> *)parameters;
/// Unavailable.
- (instancetype)init NS_UNAVAILABLE;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,418 @@
/// @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 40 characters long, may only contain alphanumeric
/// characters and underscores ("_"), and must start with an alphabetic character. The "firebase_",
/// "google_", and "ga_" prefixes are reserved and should not be used.
#import <Foundation/Foundation.h>
/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
/// the @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
/// parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterAdPlatform (String) (optional)</li>
/// <li>@c AnalyticsParameterAdFormat (String) (optional)</li>
/// <li>@c AnalyticsParameterAdSource (String) (optional)</li>
/// <li>@c AnalyticsParameterAdUnitName (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
@"ad_impression";
/// Add Payment Info event. This event signifies that a user has submitted their payment
/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
/// Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterPaymentType (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAddPaymentInfo NS_SWIFT_NAME(AnalyticsEventAddPaymentInfo) =
@"add_payment_info";
/// Add Shipping Info event. This event signifies that a user has submitted their shipping
/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
/// Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterShippingTier (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
@"add_shipping_info";
/// E-Commerce Add To Cart event. This event signifies that an item(s) was added to a cart for
/// purchase. Add this event to a funnel with @c AnalyticsEventPurchase to gauge the effectiveness
/// of your checkout process. Note: If you supply the @c AnalyticsParameterValue parameter, you must
/// also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
/// accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAddToCart NS_SWIFT_NAME(AnalyticsEventAddToCart) = @"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. Note: If you supply the @c AnalyticsParameterValue
/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
/// metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAddToWishlist NS_SWIFT_NAME(AnalyticsEventAddToWishlist) =
@"add_to_wishlist";
/// App Open event. By logging this event when an App becomes active, 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 NS_SWIFT_NAME(AnalyticsEventAppOpen) = @"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 @c AnalyticsEventPurchase event to gauge the
/// effectiveness of your checkout process. Note: If you supply the @c AnalyticsParameterValue
/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
/// metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventBeginCheckout NS_SWIFT_NAME(AnalyticsEventBeginCheckout) =
@"begin_checkout";
/// Campaign Detail event. Log this event to supply the referral details of a re-engagement
/// campaign. Note: you must supply at least one of the required parameters
/// AnalyticsParameterSource, AnalyticsParameterMedium or AnalyticsParameterCampaign. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterSource (String)</li>
/// <li>@c AnalyticsParameterMedium (String)</li>
/// <li>@c AnalyticsParameterCampaign (String)</li>
/// <li>@c AnalyticsParameterTerm (String) (optional)</li>
/// <li>@c AnalyticsParameterContent (String) (optional)</li>
/// <li>@c AnalyticsParameterAdNetworkClickID (String) (optional)</li>
/// <li>@c AnalyticsParameterCP1 (String) (optional)</li>
/// <li>@c AnalyticsParameterCampaignID (String) (optional)</li>
/// <li>@c AnalyticsParameterCreativeFormat (String) (optional)</li>
/// <li>@c AnalyticsParameterMarketingTactic (String) (optional)</li>
/// <li>@c AnalyticsParameterSourcePlatform (String) (optional)</li>
/// </ul>
static NSString *const kFIREventCampaignDetails NS_SWIFT_NAME(AnalyticsEventCampaignDetails) =
@"campaign_details";
/// Earn Virtual Currency event. This event tracks the awarding of virtual currency in your app. Log
/// this along with @c AnalyticsEventSpendVirtualCurrency to better understand your virtual economy.
/// Params:
///
/// <ul>
/// <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
/// <li>@c AnalyticsParameterValue (Int or Double)</li>
/// </ul>
static NSString *const kFIREventEarnVirtualCurrency
NS_SWIFT_NAME(AnalyticsEventEarnVirtualCurrency) = @"earn_virtual_currency";
/// 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
/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
/// parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventGenerateLead NS_SWIFT_NAME(AnalyticsEventGenerateLead) =
@"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>@c AnalyticsParameterGroupID (String)</li>
/// </ul>
static NSString *const kFIREventJoinGroup NS_SWIFT_NAME(AnalyticsEventJoinGroup) = @"join_group";
/// Level End event. Log this event when the user finishes a level. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterLevelName (String)</li>
/// <li>@c AnalyticsParameterSuccess (String)</li>
/// </ul>
static NSString *const kFIREventLevelEnd NS_SWIFT_NAME(AnalyticsEventLevelEnd) = @"level_end";
/// Level Start event. Log this event when the user starts a new level. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterLevelName (String)</li>
/// </ul>
static NSString *const kFIREventLevelStart NS_SWIFT_NAME(AnalyticsEventLevelStart) = @"level_start";
/// 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>@c AnalyticsParameterLevel (Int)</li>
/// <li>@c AnalyticsParameterCharacter (String) (optional)</li>
/// </ul>
static NSString *const kFIREventLevelUp NS_SWIFT_NAME(AnalyticsEventLevelUp) = @"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 NS_SWIFT_NAME(AnalyticsEventLogin) = @"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>@c AnalyticsParameterScore (Int)</li>
/// <li>@c AnalyticsParameterLevel (Int) (optional)</li>
/// <li>@c AnalyticsParameterCharacter (String) (optional)</li>
/// </ul>
static NSString *const kFIREventPostScore NS_SWIFT_NAME(AnalyticsEventPostScore) = @"post_score";
/// E-Commerce Purchase event. This event signifies that an item(s) 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 @c AnalyticsParameterValue parameter, you must also
/// supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
/// accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterEndDate (String) (optional)</li>
/// <li>@c AnalyticsParameterItemID (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterShipping (Double) (optional)</li>
/// <li>@c AnalyticsParameterStartDate (String) (optional)</li>
/// <li>@c AnalyticsParameterTax (Double) (optional)</li>
/// <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
/// parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterShipping (Double) (optional)</li>
/// <li>@c AnalyticsParameterTax (Double) (optional)</li>
/// <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
/// E-Commerce Remove from Cart event. This event signifies that an item(s) was removed from a cart.
/// Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply the @c
/// AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventRemoveFromCart NS_SWIFT_NAME(AnalyticsEventRemoveFromCart) =
@"remove_from_cart";
/// Screen View event. This event signifies a screen view. Use this when a screen transition occurs.
/// This event can be logged irrespective of whether automatic screen tracking is enabled. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterScreenClass (String) (optional)</li>
/// <li>@c AnalyticsParameterScreenName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventScreenView NS_SWIFT_NAME(AnalyticsEventScreenView) = @"screen_view";
/// 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>@c AnalyticsParameterSearchTerm (String)</li>
/// <li>@c AnalyticsParameterStartDate (String) (optional)</li>
/// <li>@c AnalyticsParameterEndDate (String) (optional)</li>
/// <li>@c AnalyticsParameterNumberOfNights (Int) (optional) for hotel bookings</li>
/// <li>@c AnalyticsParameterNumberOfRooms (Int) (optional) for hotel bookings</li>
/// <li>@c AnalyticsParameterNumberOfPassengers (Int) (optional) for travel bookings</li>
/// <li>@c AnalyticsParameterOrigin (String) (optional)</li>
/// <li>@c AnalyticsParameterDestination (String) (optional)</li>
/// <li>@c AnalyticsParameterTravelClass (String) (optional) for travel bookings</li>
/// </ul>
static NSString *const kFIREventSearch NS_SWIFT_NAME(AnalyticsEventSearch) = @"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>@c AnalyticsParameterContentType (String)</li>
/// <li>@c AnalyticsParameterItemID (String)</li>
/// </ul>
static NSString *const kFIREventSelectContent NS_SWIFT_NAME(AnalyticsEventSelectContent) =
@"select_content";
/// Select Item event. This event signifies that an item was selected by a user from a list. Use the
/// appropriate parameters to contextualize the event. Use this event to discover the most popular
/// items selected. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterItemListID (String) (optional)</li>
/// <li>@c AnalyticsParameterItemListName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventSelectItem NS_SWIFT_NAME(AnalyticsEventSelectItem) = @"select_item";
/// Select promotion event. This event signifies that a user has selected a promotion offer. Use the
/// appropriate parameters to contextualize the event, such as the item(s) for which the promotion
/// applies. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
/// <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterLocationID (String) (optional)</li>
/// <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
/// <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventSelectPromotion NS_SWIFT_NAME(AnalyticsEventSelectPromotion) =
@"select_promotion";
/// Share event. Apps with social features can log the Share event to identify the most viral
/// content. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterContentType (String)</li>
/// <li>@c AnalyticsParameterItemID (String)</li>
/// </ul>
static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"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>@c AnalyticsParameterMethod (String)</li>
/// </ul>
static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"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>@c AnalyticsParameterItemName (String)</li>
/// <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
/// <li>@c AnalyticsParameterValue (Int or Double)</li>
/// </ul>
static NSString *const kFIREventSpendVirtualCurrency
NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"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 @c AnalyticsEventTutorialComplete to understand how many users complete
/// this process and move on to the full app experience.
static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
@"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 @c AnalyticsEventTutorialBegin to gauge the completion rate
/// of your on-boarding process.
static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
@"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>@c AnalyticsParameterAchievementID (String)</li>
/// </ul>
static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
@"unlock_achievement";
/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
/// analyze your purchase funnel. Note: If you supply the @c AnalyticsParameterValue parameter, you
/// must also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be
/// computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventViewCart NS_SWIFT_NAME(AnalyticsEventViewCart) = @"view_cart";
/// View Item event. This event signifies that a user has viewed an item. 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 @c AnalyticsParameterValue parameter, you must also supply
/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
/// Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterItemListID (String) (optional)</li>
/// <li>@c AnalyticsParameterItemListName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
@"view_item_list";
/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
/// to a funnel with the @c AnalyticsEventAddToCart and @c AnalyticsEventPurchase to gauge your
/// conversion process. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
/// <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterLocationID (String) (optional)</li>
/// <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
/// <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventViewPromotion NS_SWIFT_NAME(AnalyticsEventViewPromotion) =
@"view_promotion";
/// View Search Results event. Log this event when the user has been presented with the results of a
/// search. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterSearchTerm (String)</li>
/// </ul>
static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
@"view_search_results";

View File

@ -0,0 +1,722 @@
/// @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 40 characters long, may only contain alphanumeric
/// characters and underscores ("_"), and must start with an alphabetic character. Param values can
/// be up to 100 characters long for standard Google Analytics properties and up to 500 characters
/// long for Google Analytics 360 properties. The "firebase_", "google_", and "ga_" prefixes are
/// reserved and should not be used.
#import <Foundation/Foundation.h>
/// Game achievement ID (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAchievementID : "10_matches_won",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAchievementID NS_SWIFT_NAME(AnalyticsParameterAchievementID) =
@"achievement_id";
/// The ad format (e.g. Banner, Interstitial, Rewarded, Native, Rewarded Interstitial, Instream).
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAdFormat : "Banner",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdFormat NS_SWIFT_NAME(AnalyticsParameterAdFormat) =
@"ad_format";
/// Ad Network Click ID (String). Used for network-specific click IDs which vary in format.
/// <pre>
/// let params = [
/// AnalyticsParameterAdNetworkClickID : "1234567",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdNetworkClickID
NS_SWIFT_NAME(AnalyticsParameterAdNetworkClickID) = @"aclid";
/// The ad platform (e.g. MoPub, IronSource) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAdPlatform : "MoPub",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdPlatform NS_SWIFT_NAME(AnalyticsParameterAdPlatform) =
@"ad_platform";
/// The ad source (e.g. AdColony) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAdSource : "AdColony",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdSource NS_SWIFT_NAME(AnalyticsParameterAdSource) =
@"ad_source";
/// The ad unit name (e.g. Banner_03) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAdUnitName : "Banner_03",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdUnitName NS_SWIFT_NAME(AnalyticsParameterAdUnitName) =
@"ad_unit_name";
/// A product affiliation to designate a supplying company or brick and mortar store location
/// (String). <pre>
/// let params = [
/// AnalyticsParameterAffiliation : "Google Store",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAffiliation NS_SWIFT_NAME(AnalyticsParameterAffiliation) =
@"affiliation";
/// Campaign custom parameter (String). Used as a method of capturing custom data in a campaign.
/// Use varies by network.
/// <pre>
/// let params = [
/// AnalyticsParameterCP1 : "custom_data",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
/// The individual campaign name, slogan, promo code, etc. Some networks have pre-defined macro to
/// capture campaign information, otherwise can be populated by developer. Highly Recommended
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCampaign : "winter_promotion",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCampaign NS_SWIFT_NAME(AnalyticsParameterCampaign) =
@"campaign";
/// Campaign ID (String). Used for keyword analysis to identify a specific product promotion or
/// strategic campaign. This is a required key for GA4 data import.
/// <pre>
/// let params = [
/// AnalyticsParameterCampaignID : "7877652710",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCampaignID NS_SWIFT_NAME(AnalyticsParameterCampaignID) =
@"campaign_id";
/// Character used in game (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCharacter : "beat_boss",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCharacter NS_SWIFT_NAME(AnalyticsParameterCharacter) =
@"character";
/// Campaign content (String).
static NSString *const kFIRParameterContent NS_SWIFT_NAME(AnalyticsParameterContent) = @"content";
/// Type of content selected (String).
/// <pre>
/// let params = [
/// AnalyticsParameterContentType : "news article",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterContentType NS_SWIFT_NAME(AnalyticsParameterContentType) =
@"content_type";
/// Coupon code used for a purchase (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCoupon : "SUMMER_FUN",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCoupon NS_SWIFT_NAME(AnalyticsParameterCoupon) = @"coupon";
/// Creative Format (String). Used to identify the high-level classification of the type of ad
/// served by a specific campaign.
/// <pre>
/// let params = [
/// AnalyticsParameterCreativeFormat : "display",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCreativeFormat NS_SWIFT_NAME(AnalyticsParameterCreativeFormat) =
@"creative_format";
/// The name of a creative used in a promotional spot (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCreativeName : "Summer Sale",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCreativeName NS_SWIFT_NAME(AnalyticsParameterCreativeName) =
@"creative_name";
/// The name of a creative slot (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCreativeSlot : "summer_banner2",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCreativeSlot NS_SWIFT_NAME(AnalyticsParameterCreativeSlot) =
@"creative_slot";
/// Currency of the purchase or items associated with the event, in 3-letter
/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCurrency : "USD",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCurrency NS_SWIFT_NAME(AnalyticsParameterCurrency) =
@"currency";
/// Flight or Travel destination (String).
/// <pre>
/// let params = [
/// AnalyticsParameterDestination : "Mountain View, CA",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterDestination NS_SWIFT_NAME(AnalyticsParameterDestination) =
@"destination";
/// Monetary value of discount associated with a purchase (Double).
/// <pre>
/// let params = [
/// AnalyticsParameterDiscount : 2.0,
/// AnalyticsParameterCurrency : "USD", // e.g. $2.00 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
@"discount";
/// The arrival date, check-out date or rental end date for the item. This should be in
/// YYYY-MM-DD format (String).
/// <pre>
/// let params = [
/// AnalyticsParameterEndDate : "2015-09-14",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterEndDate NS_SWIFT_NAME(AnalyticsParameterEndDate) = @"end_date";
/// Indicates that the associated event should either extend the current session or start a new
/// session if no session was active when the event was logged. Specify 1 to extend the current
/// session or to start a new session; any other value will not extend or start a session.
/// <pre>
/// let params = [
/// AnalyticsParameterExtendSession : 1,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
@"extend_session";
/// Flight number for travel events (String).
/// <pre>
/// let params = [
/// AnalyticsParameterFlightNumber : "ZZ800",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterFlightNumber NS_SWIFT_NAME(AnalyticsParameterFlightNumber) =
@"flight_number";
/// Group/clan/guild ID (String).
/// <pre>
/// let params = [
/// AnalyticsParameterGroupID : "g1",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterGroupID NS_SWIFT_NAME(AnalyticsParameterGroupID) = @"group_id";
/// The index of the item in a list (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterIndex : 5,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterIndex NS_SWIFT_NAME(AnalyticsParameterIndex) = @"index";
/// Item brand (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemBrand : "Google",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemBrand NS_SWIFT_NAME(AnalyticsParameterItemBrand) =
@"item_brand";
/// Item category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory NS_SWIFT_NAME(AnalyticsParameterItemCategory) =
@"item_category";
/// Item Category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory2 : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
@"item_category2";
/// Item Category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory3 : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
@"item_category3";
/// Item Category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory4 : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
@"item_category4";
/// Item Category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory5 : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
@"item_category5";
/// Item ID (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemID : "SKU_12345",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemID NS_SWIFT_NAME(AnalyticsParameterItemID) = @"item_id";
/// The ID of the list in which the item was presented to the user (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemListID : "ABC123",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
@"item_list_id";
/// The name of the list in which the item was presented to the user (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemListName : "Related products",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
@"item_list_name";
/// Item Name (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemName : "jeggings",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemName NS_SWIFT_NAME(AnalyticsParameterItemName) =
@"item_name";
/// Item variant (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemVariant : "Black",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemVariant NS_SWIFT_NAME(AnalyticsParameterItemVariant) =
@"item_variant";
/// The list of items involved in the transaction expressed as `[[String: Any]]`.
/// <pre>
/// let params = [
/// AnalyticsParameterItems : [
/// [AnalyticsParameterItemName : "jeggings", AnalyticsParameterItemCategory : "pants"],
/// [AnalyticsParameterItemName : "boots", AnalyticsParameterItemCategory : "shoes"],
/// ],
/// ]
/// </pre>
static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
/// Level in game (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterLevel : 42,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterLevel NS_SWIFT_NAME(AnalyticsParameterLevel) = @"level";
/// The name of a level in a game (String).
/// <pre>
/// let params = [
/// AnalyticsParameterLevelName : "room_1",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
@"level_name";
/// Location (String). 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>
/// let params = [
/// AnalyticsParameterLocation : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterLocation NS_SWIFT_NAME(AnalyticsParameterLocation) =
@"location";
/// The location associated with the event. Preferred to be the Google
/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
/// associated item but could be overridden to a custom location ID string.(String).
/// <pre>
/// let params = [
/// AnalyticsParameterLocationID : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
@"location_id";
/// Marketing Tactic (String). Used to identify the targeting criteria applied to a specific
/// campaign.
/// <pre>
/// let params = [
/// AnalyticsParameterMarketingTactic : "Remarketing",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterMarketingTactic
NS_SWIFT_NAME(AnalyticsParameterMarketingTactic) = @"marketing_tactic";
/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterMedium : "email",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterMedium NS_SWIFT_NAME(AnalyticsParameterMedium) = @"medium";
/// A particular approach used in an operation; for example, "facebook" or "email" in the context
/// of a sign_up or login event. (String).
/// <pre>
/// let params = [
/// AnalyticsParameterMethod : "google",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
/// Number of nights staying at hotel (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterNumberOfNights : 3,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterNumberOfNights
NS_SWIFT_NAME(AnalyticsParameterNumberOfNights) = @"number_of_nights";
/// Number of passengers traveling (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterNumberOfPassengers : 11,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterNumberOfPassengers
NS_SWIFT_NAME(AnalyticsParameterNumberOfPassengers) = @"number_of_passengers";
/// Number of rooms for travel events (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterNumberOfRooms : 2,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterNumberOfRooms NS_SWIFT_NAME(AnalyticsParameterNumberOfRooms) =
@"number_of_rooms";
/// Flight or Travel origin (String).
/// <pre>
/// let params = [
/// AnalyticsParameterOrigin : "Mountain View, CA",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterOrigin NS_SWIFT_NAME(AnalyticsParameterOrigin) = @"origin";
/// The chosen method of payment (String).
/// <pre>
/// let params = [
/// AnalyticsParameterPaymentType : "Visa",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
@"payment_type";
/// Purchase price (Double).
/// <pre>
/// let params = [
/// AnalyticsParameterPrice : 1.0,
/// AnalyticsParameterCurrency : "USD", // e.g. $1.00 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterPrice NS_SWIFT_NAME(AnalyticsParameterPrice) = @"price";
/// The ID of a product promotion (String).
/// <pre>
/// let params = [
/// AnalyticsParameterPromotionID : "ABC123",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
@"promotion_id";
/// The name of a product promotion (String).
/// <pre>
/// let params = [
/// AnalyticsParameterPromotionName : "Summer Sale",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
@"promotion_name";
/// Purchase quantity (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterQuantity : 1,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterQuantity NS_SWIFT_NAME(AnalyticsParameterQuantity) =
@"quantity";
/// Score in game (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterScore : 4200,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterScore NS_SWIFT_NAME(AnalyticsParameterScore) = @"score";
/// Current screen class, such as the class name of the UIViewController, logged with screen_view
/// event and added to every event (String).
/// <pre>
/// let params = [
/// AnalyticsParameterScreenClass : "LoginViewController",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterScreenClass NS_SWIFT_NAME(AnalyticsParameterScreenClass) =
@"screen_class";
/// Current screen name, such as the name of the UIViewController, logged with screen_view event and
/// added to every event (String).
/// <pre>
/// let params = [
/// AnalyticsParameterScreenName : "LoginView",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterScreenName NS_SWIFT_NAME(AnalyticsParameterScreenName) =
@"screen_name";
/// The search string/keywords used (String).
/// <pre>
/// let params = [
/// AnalyticsParameterSearchTerm : "periodic table",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterSearchTerm NS_SWIFT_NAME(AnalyticsParameterSearchTerm) =
@"search_term";
/// Shipping cost associated with a transaction (Double).
/// <pre>
/// let params = [
/// AnalyticsParameterShipping : 5.99,
/// AnalyticsParameterCurrency : "USD", // e.g. $5.99 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterShipping NS_SWIFT_NAME(AnalyticsParameterShipping) =
@"shipping";
/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterShippingTier : "Ground",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
@"shipping_tier";
/// The origin of your traffic, such as an Ad network (for example, google) or partner (urban
/// airship). Identify the advertiser, site, publication, etc. that is sending traffic to your
/// property. Highly recommended (String).
/// <pre>
/// let params = [
/// AnalyticsParameterSource : "InMobi",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterSource NS_SWIFT_NAME(AnalyticsParameterSource) = @"source";
/// Source Platform (String). Used to identify the platform responsible for directing traffic to a
/// given Analytics property (e.g., a buying platform where budgets, targeting criteria, etc. are
/// set, a platform for managing organic traffic data, etc.).
/// <pre>
/// let params = [
/// AnalyticsParameterSourcePlatform : "sa360",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterSourcePlatform NS_SWIFT_NAME(AnalyticsParameterSourcePlatform) =
@"source_platform";
/// The departure date, check-in date or rental start date for the item. This should be in
/// YYYY-MM-DD format (String).
/// <pre>
/// let params = [
/// AnalyticsParameterStartDate : "2015-09-14",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterStartDate NS_SWIFT_NAME(AnalyticsParameterStartDate) =
@"start_date";
/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterSuccess : 1,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
/// Tax cost associated with a transaction (Double).
/// <pre>
/// let params = [
/// AnalyticsParameterTax : 2.43,
/// AnalyticsParameterCurrency : "USD", // e.g. $2.43 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterTax NS_SWIFT_NAME(AnalyticsParameterTax) = @"tax";
/// If you're manually tagging keyword campaigns, you should use utm_term to specify the keyword
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterTerm : "game",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterTerm NS_SWIFT_NAME(AnalyticsParameterTerm) = @"term";
/// The unique identifier of a transaction (String).
/// <pre>
/// let params = [
/// AnalyticsParameterTransactionID : "T12345",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterTransactionID NS_SWIFT_NAME(AnalyticsParameterTransactionID) =
@"transaction_id";
/// Travel class (String).
/// <pre>
/// let params = [
/// AnalyticsParameterTravelClass : "business",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterTravelClass NS_SWIFT_NAME(AnalyticsParameterTravelClass) =
@"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 Int or
/// Double.
/// Notes: Values for pre-defined currency-related events (such as @c AnalyticsEventAddToCart)
/// should be supplied using Double and must be accompanied by a @c AnalyticsParameterCurrency
/// parameter. The valid range of accumulated values is
/// [-9,223,372,036,854.77, 9,223,372,036,854.77]. Supplying a non-numeric value, omitting the
/// corresponding @c AnalyticsParameterCurrency parameter, or supplying an invalid
/// <a href="https://goo.gl/qqX3J2">currency code</a> for conversion events will cause that
/// conversion to be omitted from reporting.
/// <pre>
/// let params = [
/// AnalyticsParameterValue : 3.99,
/// AnalyticsParameterCurrency : "USD", // e.g. $3.99 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterValue NS_SWIFT_NAME(AnalyticsParameterValue) = @"value";
/// Name of virtual currency type (String).
/// <pre>
/// let params = [
/// AnalyticsParameterVirtualCurrencyName : "virtual_currency_name",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterVirtualCurrencyName
NS_SWIFT_NAME(AnalyticsParameterVirtualCurrencyName) = @"virtual_currency_name";

View File

@ -0,0 +1,28 @@
/// @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_", "google_", and "ga_" prefixes are reserved and should not
/// be used.
#import <Foundation/Foundation.h>
/// Indicates whether events logged by Google Analytics can be used to personalize ads for the user.
/// Set to "YES" to enable, or "NO" to disable. Default is enabled. See the
/// <a href="https://firebase.google.com/support/guides/disable-analytics">documentation</a> for
/// more details and information about related settings.
///
/// <pre>
/// Analytics.setUserProperty("NO", forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)
/// </pre>
static NSString *const kFIRUserPropertyAllowAdPersonalizationSignals
NS_SWIFT_NAME(AnalyticsUserPropertyAllowAdPersonalizationSignals) = @"allow_personalized_ads";
/// The method used to sign in. For example, "google", "facebook" or "twitter".
static NSString *const kFIRUserPropertySignUpMethod
NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";

View File

@ -0,0 +1,620 @@
#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
#ifndef FIREBASEANALYTICS_SWIFT_H
#define FIREBASEANALYTICS_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#if defined(__OBJC__)
#include <Foundation/Foundation.h>
#endif
#if defined(__cplusplus)
#include <cstdint>
#include <cstddef>
#include <cstdbool>
#include <cstring>
#include <stdlib.h>
#include <new>
#include <type_traits>
#else
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include <string.h>
#endif
#if defined(__cplusplus)
#if defined(__arm64e__) && __has_include(<ptrauth.h>)
# include <ptrauth.h>
#else
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
# ifndef __ptrauth_swift_value_witness_function_pointer
# define __ptrauth_swift_value_witness_function_pointer(x)
# endif
# ifndef __ptrauth_swift_class_method_pointer
# define __ptrauth_swift_class_method_pointer(x)
# endif
#pragma clang diagnostic pop
#endif
#endif
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if !defined(SWIFT_RUNTIME_NAME)
# if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
# else
# define SWIFT_RUNTIME_NAME(X)
# endif
#endif
#if !defined(SWIFT_COMPILE_NAME)
# if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
# else
# define SWIFT_COMPILE_NAME(X)
# endif
#endif
#if !defined(SWIFT_METHOD_FAMILY)
# if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
# else
# define SWIFT_METHOD_FAMILY(X)
# endif
#endif
#if !defined(SWIFT_NOESCAPE)
# if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
# else
# define SWIFT_NOESCAPE
# endif
#endif
#if !defined(SWIFT_RELEASES_ARGUMENT)
# if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
# else
# define SWIFT_RELEASES_ARGUMENT
# endif
#endif
#if !defined(SWIFT_WARN_UNUSED_RESULT)
# if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
# else
# define SWIFT_WARN_UNUSED_RESULT
# endif
#endif
#if !defined(SWIFT_NORETURN)
# if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
# else
# define SWIFT_NORETURN
# endif
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
# define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if !defined(SWIFT_DEPRECATED_OBJC)
# if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
# else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
# endif
#endif
#if defined(__OBJC__)
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#endif
#if !defined(SWIFT_EXTERN)
# if defined(__cplusplus)
# define SWIFT_EXTERN extern "C"
# else
# define SWIFT_EXTERN extern
# endif
#endif
#if !defined(SWIFT_CALL)
# define SWIFT_CALL __attribute__((swiftcall))
#endif
#if !defined(SWIFT_INDIRECT_RESULT)
# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
#endif
#if !defined(SWIFT_CONTEXT)
# define SWIFT_CONTEXT __attribute__((swift_context))
#endif
#if !defined(SWIFT_ERROR_RESULT)
# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
#endif
#if defined(__cplusplus)
# define SWIFT_NOEXCEPT noexcept
#else
# define SWIFT_NOEXCEPT
#endif
#if !defined(SWIFT_C_INLINE_THUNK)
# if __has_attribute(always_inline)
# if __has_attribute(nodebug)
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
# else
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
# endif
# else
# define SWIFT_C_INLINE_THUNK inline
# endif
#endif
#if defined(_WIN32)
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
#endif
#else
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL
#endif
#endif
#if defined(__OBJC__)
#if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
#endif
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseAnalytics",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
#if defined(__OBJC__)
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#if defined(__cplusplus)
#endif
#pragma clang diagnostic pop
#endif
#elif defined(__x86_64__) && __x86_64__
// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
#ifndef FIREBASEANALYTICS_SWIFT_H
#define FIREBASEANALYTICS_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#if defined(__OBJC__)
#include <Foundation/Foundation.h>
#endif
#if defined(__cplusplus)
#include <cstdint>
#include <cstddef>
#include <cstdbool>
#include <cstring>
#include <stdlib.h>
#include <new>
#include <type_traits>
#else
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include <string.h>
#endif
#if defined(__cplusplus)
#if defined(__arm64e__) && __has_include(<ptrauth.h>)
# include <ptrauth.h>
#else
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
# ifndef __ptrauth_swift_value_witness_function_pointer
# define __ptrauth_swift_value_witness_function_pointer(x)
# endif
# ifndef __ptrauth_swift_class_method_pointer
# define __ptrauth_swift_class_method_pointer(x)
# endif
#pragma clang diagnostic pop
#endif
#endif
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if !defined(SWIFT_RUNTIME_NAME)
# if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
# else
# define SWIFT_RUNTIME_NAME(X)
# endif
#endif
#if !defined(SWIFT_COMPILE_NAME)
# if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
# else
# define SWIFT_COMPILE_NAME(X)
# endif
#endif
#if !defined(SWIFT_METHOD_FAMILY)
# if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
# else
# define SWIFT_METHOD_FAMILY(X)
# endif
#endif
#if !defined(SWIFT_NOESCAPE)
# if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
# else
# define SWIFT_NOESCAPE
# endif
#endif
#if !defined(SWIFT_RELEASES_ARGUMENT)
# if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
# else
# define SWIFT_RELEASES_ARGUMENT
# endif
#endif
#if !defined(SWIFT_WARN_UNUSED_RESULT)
# if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
# else
# define SWIFT_WARN_UNUSED_RESULT
# endif
#endif
#if !defined(SWIFT_NORETURN)
# if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
# else
# define SWIFT_NORETURN
# endif
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
# define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if !defined(SWIFT_DEPRECATED_OBJC)
# if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
# else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
# endif
#endif
#if defined(__OBJC__)
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#endif
#if !defined(SWIFT_EXTERN)
# if defined(__cplusplus)
# define SWIFT_EXTERN extern "C"
# else
# define SWIFT_EXTERN extern
# endif
#endif
#if !defined(SWIFT_CALL)
# define SWIFT_CALL __attribute__((swiftcall))
#endif
#if !defined(SWIFT_INDIRECT_RESULT)
# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
#endif
#if !defined(SWIFT_CONTEXT)
# define SWIFT_CONTEXT __attribute__((swift_context))
#endif
#if !defined(SWIFT_ERROR_RESULT)
# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
#endif
#if defined(__cplusplus)
# define SWIFT_NOEXCEPT noexcept
#else
# define SWIFT_NOEXCEPT
#endif
#if !defined(SWIFT_C_INLINE_THUNK)
# if __has_attribute(always_inline)
# if __has_attribute(nodebug)
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
# else
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
# endif
# else
# define SWIFT_C_INLINE_THUNK inline
# endif
#endif
#if defined(_WIN32)
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
#endif
#else
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL
#endif
#endif
#if defined(__OBJC__)
#if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
#endif
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseAnalytics",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
#if defined(__OBJC__)
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#if defined(__cplusplus)
#endif
#pragma clang diagnostic pop
#endif
#else
#error unsupported Swift architecture
#endif

View File

@ -0,0 +1,24 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
#import "FIRAnalytics+AppDelegate.h"
#import "FIRAnalytics+Consent.h"
#import "FIRAnalytics+OnDevice.h"
#import "FIRAnalytics.h"
#import "FirebaseAnalytics.h"
#import "FIREventNames.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"
FOUNDATION_EXPORT double FirebaseAnalyticsVersionNumber;
FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsVersionString[];

View File

@ -0,0 +1,7 @@
#import "FIRAnalytics+AppDelegate.h"
#import "FIRAnalytics+Consent.h"
#import "FIRAnalytics+OnDevice.h"
#import "FIRAnalytics.h"
#import "FIREventNames.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"

View File

@ -0,0 +1,288 @@
{
"ABIRoot": {
"kind": "Root",
"name": "TopLevel",
"printedName": "TopLevel",
"children": [
{
"kind": "Import",
"name": "StoreKit",
"printedName": "StoreKit",
"declKind": "Import",
"moduleName": "FirebaseAnalytics"
},
{
"kind": "Import",
"name": "SwiftUI",
"printedName": "SwiftUI",
"declKind": "Import",
"moduleName": "FirebaseAnalytics"
},
{
"kind": "TypeDecl",
"name": "Analytics",
"printedName": "Analytics",
"children": [
{
"kind": "Function",
"name": "logTransaction",
"printedName": "logTransaction(_:)",
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
},
{
"kind": "TypeNominal",
"name": "Transaction",
"printedName": "StoreKit.Transaction",
"usr": "s:8StoreKit11TransactionV"
}
],
"declKind": "Func",
"usr": "s:So12FIRAnalyticsC17FirebaseAnalyticsE14logTransactionyy8StoreKit0E0VFZ",
"mangledName": "$sSo12FIRAnalyticsC17FirebaseAnalyticsE14logTransactionyy8StoreKit0E0VFZ",
"moduleName": "FirebaseAnalytics",
"static": true,
"declAttributes": [
"Final",
"AccessControl",
"RawDocComment"
],
"isFromExtension": true,
"funcSelfKind": "NonMutating"
}
],
"declKind": "Class",
"usr": "c:objc(cs)FIRAnalytics",
"moduleName": "FirebaseAnalytics",
"isOpen": true,
"objc_name": "FIRAnalytics",
"declAttributes": [
"ObjC",
"Dynamic"
],
"superclassUsr": "c:objc(cs)NSObject",
"isExternal": true,
"inheritsConvenienceInitializers": true,
"superclassNames": [
"ObjectiveC.NSObject"
],
"conformances": [
{
"kind": "Conformance",
"name": "Equatable",
"printedName": "Equatable",
"usr": "s:SQ",
"mangledName": "$sSQ"
},
{
"kind": "Conformance",
"name": "Hashable",
"printedName": "Hashable",
"usr": "s:SH",
"mangledName": "$sSH"
},
{
"kind": "Conformance",
"name": "CVarArg",
"printedName": "CVarArg",
"usr": "s:s7CVarArgP",
"mangledName": "$ss7CVarArgP"
},
{
"kind": "Conformance",
"name": "_KeyValueCodingAndObservingPublishing",
"printedName": "_KeyValueCodingAndObservingPublishing",
"usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP",
"mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP"
},
{
"kind": "Conformance",
"name": "_KeyValueCodingAndObserving",
"printedName": "_KeyValueCodingAndObserving",
"usr": "s:10Foundation27_KeyValueCodingAndObservingP",
"mangledName": "$s10Foundation27_KeyValueCodingAndObservingP"
},
{
"kind": "Conformance",
"name": "CustomStringConvertible",
"printedName": "CustomStringConvertible",
"usr": "s:s23CustomStringConvertibleP",
"mangledName": "$ss23CustomStringConvertibleP"
},
{
"kind": "Conformance",
"name": "CustomDebugStringConvertible",
"printedName": "CustomDebugStringConvertible",
"usr": "s:s28CustomDebugStringConvertibleP",
"mangledName": "$ss28CustomDebugStringConvertibleP"
}
]
},
{
"kind": "TypeDecl",
"name": "View",
"printedName": "View",
"children": [
{
"kind": "Function",
"name": "analyticsScreen",
"printedName": "analyticsScreen(name:class:extraParameters:)",
"children": [
{
"kind": "TypeNominal",
"name": "ModifiedContent",
"printedName": "SwiftUI.ModifiedContent<τ_0_0, FirebaseAnalytics.LoggedAnalyticsModifier>",
"children": [
{
"kind": "TypeNominal",
"name": "GenericTypeParam",
"printedName": "τ_0_0"
},
{
"kind": "TypeNominal",
"name": "LoggedAnalyticsModifier",
"printedName": "FirebaseAnalytics.LoggedAnalyticsModifier",
"usr": "s:17FirebaseAnalytics06LoggedB8ModifierV"
}
],
"usr": "s:7SwiftUI15ModifiedContentV"
},
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"hasDefaultArg": true,
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "Dictionary",
"printedName": "[Swift.String : Any]",
"children": [
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "ProtocolComposition",
"printedName": "Any"
}
],
"hasDefaultArg": true,
"usr": "s:SD"
}
],
"declKind": "Func",
"usr": "s:7SwiftUI4ViewP17FirebaseAnalyticsE15analyticsScreen4name5class15extraParametersQrSS_SSSDySSypGtF",
"mangledName": "$s7SwiftUI4ViewP17FirebaseAnalyticsE15analyticsScreen4name5class15extraParametersQrSS_SSSDySSypGtF",
"moduleName": "FirebaseAnalytics",
"genericSig": "<τ_0_0 where τ_0_0 : SwiftUI.View>",
"sugared_genericSig": "<Self where Self : SwiftUI.View>",
"declAttributes": [
"AccessControl",
"RawDocComment"
],
"isFromExtension": true,
"funcSelfKind": "NonMutating"
}
],
"declKind": "Protocol",
"usr": "s:7SwiftUI4ViewP",
"mangledName": "$s7SwiftUI4ViewP",
"moduleName": "SwiftUI",
"genericSig": "<τ_0_0.Body : SwiftUI.View>",
"sugared_genericSig": "<Self.Body : SwiftUI.View>",
"intro_Macosx": "10.15",
"intro_iOS": "13.0",
"intro_tvOS": "13.0",
"intro_watchOS": "6.0",
"declAttributes": [
"TypeEraser",
"Available",
"Available",
"Available",
"Available"
],
"isExternal": true
}
],
"json_format_version": 8
},
"ConstValues": [
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "BooleanLiteral",
"offset": 1259,
"length": 5,
"value": "false"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "BooleanLiteral",
"offset": 1297,
"length": 5,
"value": "false"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2523,
"length": 1,
"value": "0"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2564,
"length": 1,
"value": "1"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2607,
"length": 1,
"value": "2"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2651,
"length": 1,
"value": "3"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2683,
"length": 1,
"value": "0"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+SwiftUI.swift",
"kind": "StringLiteral",
"offset": 2654,
"length": 6,
"value": "\"View\""
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+SwiftUI.swift",
"kind": "Dictionary",
"offset": 2701,
"length": 3,
"value": "[]"
}
]
}

View File

@ -0,0 +1,22 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
// swift-module-flags: -target arm64-apple-ios13.1-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalytics
// swift-module-flags-ignorable: -enable-bare-slash-regex
@_exported import FirebaseAnalytics
import StoreKit
import Swift
import SwiftUI
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, *)
@available(watchOS, unavailable)
extension FirebaseAnalytics.Analytics {
public static func logTransaction(_ transaction: StoreKit.Transaction)
}
@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
@available(watchOS, unavailable)
extension SwiftUI.View {
public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
}

View File

@ -0,0 +1,22 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
// swift-module-flags: -target arm64-apple-ios13.1-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalytics
// swift-module-flags-ignorable: -enable-bare-slash-regex
@_exported import FirebaseAnalytics
import StoreKit
import Swift
import SwiftUI
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, *)
@available(watchOS, unavailable)
extension FirebaseAnalytics.Analytics {
public static func logTransaction(_ transaction: StoreKit.Transaction)
}
@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
@available(watchOS, unavailable)
extension SwiftUI.View {
public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
}

View File

@ -0,0 +1,288 @@
{
"ABIRoot": {
"kind": "Root",
"name": "TopLevel",
"printedName": "TopLevel",
"children": [
{
"kind": "Import",
"name": "StoreKit",
"printedName": "StoreKit",
"declKind": "Import",
"moduleName": "FirebaseAnalytics"
},
{
"kind": "Import",
"name": "SwiftUI",
"printedName": "SwiftUI",
"declKind": "Import",
"moduleName": "FirebaseAnalytics"
},
{
"kind": "TypeDecl",
"name": "Analytics",
"printedName": "Analytics",
"children": [
{
"kind": "Function",
"name": "logTransaction",
"printedName": "logTransaction(_:)",
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
},
{
"kind": "TypeNominal",
"name": "Transaction",
"printedName": "StoreKit.Transaction",
"usr": "s:8StoreKit11TransactionV"
}
],
"declKind": "Func",
"usr": "s:So12FIRAnalyticsC17FirebaseAnalyticsE14logTransactionyy8StoreKit0E0VFZ",
"mangledName": "$sSo12FIRAnalyticsC17FirebaseAnalyticsE14logTransactionyy8StoreKit0E0VFZ",
"moduleName": "FirebaseAnalytics",
"static": true,
"declAttributes": [
"Final",
"AccessControl",
"RawDocComment"
],
"isFromExtension": true,
"funcSelfKind": "NonMutating"
}
],
"declKind": "Class",
"usr": "c:objc(cs)FIRAnalytics",
"moduleName": "FirebaseAnalytics",
"isOpen": true,
"objc_name": "FIRAnalytics",
"declAttributes": [
"ObjC",
"Dynamic"
],
"superclassUsr": "c:objc(cs)NSObject",
"isExternal": true,
"inheritsConvenienceInitializers": true,
"superclassNames": [
"ObjectiveC.NSObject"
],
"conformances": [
{
"kind": "Conformance",
"name": "Equatable",
"printedName": "Equatable",
"usr": "s:SQ",
"mangledName": "$sSQ"
},
{
"kind": "Conformance",
"name": "Hashable",
"printedName": "Hashable",
"usr": "s:SH",
"mangledName": "$sSH"
},
{
"kind": "Conformance",
"name": "CVarArg",
"printedName": "CVarArg",
"usr": "s:s7CVarArgP",
"mangledName": "$ss7CVarArgP"
},
{
"kind": "Conformance",
"name": "_KeyValueCodingAndObservingPublishing",
"printedName": "_KeyValueCodingAndObservingPublishing",
"usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP",
"mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP"
},
{
"kind": "Conformance",
"name": "_KeyValueCodingAndObserving",
"printedName": "_KeyValueCodingAndObserving",
"usr": "s:10Foundation27_KeyValueCodingAndObservingP",
"mangledName": "$s10Foundation27_KeyValueCodingAndObservingP"
},
{
"kind": "Conformance",
"name": "CustomStringConvertible",
"printedName": "CustomStringConvertible",
"usr": "s:s23CustomStringConvertibleP",
"mangledName": "$ss23CustomStringConvertibleP"
},
{
"kind": "Conformance",
"name": "CustomDebugStringConvertible",
"printedName": "CustomDebugStringConvertible",
"usr": "s:s28CustomDebugStringConvertibleP",
"mangledName": "$ss28CustomDebugStringConvertibleP"
}
]
},
{
"kind": "TypeDecl",
"name": "View",
"printedName": "View",
"children": [
{
"kind": "Function",
"name": "analyticsScreen",
"printedName": "analyticsScreen(name:class:extraParameters:)",
"children": [
{
"kind": "TypeNominal",
"name": "ModifiedContent",
"printedName": "SwiftUI.ModifiedContent<τ_0_0, FirebaseAnalytics.LoggedAnalyticsModifier>",
"children": [
{
"kind": "TypeNominal",
"name": "GenericTypeParam",
"printedName": "τ_0_0"
},
{
"kind": "TypeNominal",
"name": "LoggedAnalyticsModifier",
"printedName": "FirebaseAnalytics.LoggedAnalyticsModifier",
"usr": "s:17FirebaseAnalytics06LoggedB8ModifierV"
}
],
"usr": "s:7SwiftUI15ModifiedContentV"
},
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"hasDefaultArg": true,
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "Dictionary",
"printedName": "[Swift.String : Any]",
"children": [
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "ProtocolComposition",
"printedName": "Any"
}
],
"hasDefaultArg": true,
"usr": "s:SD"
}
],
"declKind": "Func",
"usr": "s:7SwiftUI4ViewP17FirebaseAnalyticsE15analyticsScreen4name5class15extraParametersQrSS_SSSDySSypGtF",
"mangledName": "$s7SwiftUI4ViewP17FirebaseAnalyticsE15analyticsScreen4name5class15extraParametersQrSS_SSSDySSypGtF",
"moduleName": "FirebaseAnalytics",
"genericSig": "<τ_0_0 where τ_0_0 : SwiftUI.View>",
"sugared_genericSig": "<Self where Self : SwiftUI.View>",
"declAttributes": [
"AccessControl",
"RawDocComment"
],
"isFromExtension": true,
"funcSelfKind": "NonMutating"
}
],
"declKind": "Protocol",
"usr": "s:7SwiftUI4ViewP",
"mangledName": "$s7SwiftUI4ViewP",
"moduleName": "SwiftUI",
"genericSig": "<τ_0_0.Body : SwiftUI.View>",
"sugared_genericSig": "<Self.Body : SwiftUI.View>",
"intro_Macosx": "10.15",
"intro_iOS": "13.0",
"intro_tvOS": "13.0",
"intro_watchOS": "6.0",
"declAttributes": [
"TypeEraser",
"Available",
"Available",
"Available",
"Available"
],
"isExternal": true
}
],
"json_format_version": 8
},
"ConstValues": [
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "BooleanLiteral",
"offset": 1259,
"length": 5,
"value": "false"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "BooleanLiteral",
"offset": 1297,
"length": 5,
"value": "false"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2523,
"length": 1,
"value": "0"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2564,
"length": 1,
"value": "1"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2607,
"length": 1,
"value": "2"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2651,
"length": 1,
"value": "3"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2683,
"length": 1,
"value": "0"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+SwiftUI.swift",
"kind": "StringLiteral",
"offset": 2654,
"length": 6,
"value": "\"View\""
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+SwiftUI.swift",
"kind": "Dictionary",
"offset": 2701,
"length": 3,
"value": "[]"
}
]
}

View File

@ -0,0 +1,22 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
// swift-module-flags: -target x86_64-apple-ios13.1-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalytics
// swift-module-flags-ignorable: -enable-bare-slash-regex
@_exported import FirebaseAnalytics
import StoreKit
import Swift
import SwiftUI
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, *)
@available(watchOS, unavailable)
extension FirebaseAnalytics.Analytics {
public static func logTransaction(_ transaction: StoreKit.Transaction)
}
@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
@available(watchOS, unavailable)
extension SwiftUI.View {
public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
}

View File

@ -0,0 +1,22 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
// swift-module-flags: -target x86_64-apple-ios13.1-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalytics
// swift-module-flags-ignorable: -enable-bare-slash-regex
@_exported import FirebaseAnalytics
import StoreKit
import Swift
import SwiftUI
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, *)
@available(watchOS, unavailable)
extension FirebaseAnalytics.Analytics {
public static func logTransaction(_ transaction: StoreKit.Transaction)
}
@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
@available(watchOS, unavailable)
extension SwiftUI.View {
public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
}

View File

@ -0,0 +1,16 @@
framework module FirebaseAnalytics {
umbrella header "FirebaseAnalytics-umbrella.h"
export *
module * { export * }
link framework "Foundation"
link framework "Security"
link framework "SystemConfiguration"
link framework "UIKit"
link "c++"
link "sqlite3"
link "z"
}
module FirebaseAnalytics.Swift {
header "FirebaseAnalytics-Swift.h"
requires objc
}

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>23G93</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>FirebaseAnalytics</string>
<key>CFBundleIdentifier</key>
<string>org.cocoapods.FirebaseAnalytics</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>FirebaseAnalytics</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>11.1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string></string>
<key>DTPlatformName</key>
<string>macosx</string>
<key>DTPlatformVersion</key>
<string>14.2</string>
<key>DTSDKBuild</key>
<string>23C53</string>
<key>DTSDKName</key>
<string>macosx14.2</string>
<key>DTXcode</key>
<string>1520</string>
<key>DTXcodeBuild</key>
<string>15C500b</string>
<key>LSMinimumSystemVersion</key>
<string>10.15</string>
<key>MinimumOSVersion</key>
<string>100.0</string>
<key>UIDeviceFamily</key>
<array>
<integer>2</integer>
</array>
</dict>
</plist>

View File

@ -0,0 +1,80 @@
#import <Foundation/Foundation.h>
#import "FIRAnalytics.h"
NS_ASSUME_NONNULL_BEGIN
/// 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:)`.
@interface FIRAnalytics (AppDelegate)
/// 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.
///
/// @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:(nullable void (^)(void))completionHandler;
/// 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.
///
/// @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.
///
/// 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](https://developer.apple.com/documentation/xcode/supporting-universal-links-in-your-app) 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.
///
/// @param userActivity The activity object containing the data associated with the task the user
/// was performing.
+ (void)handleUserActivity:(id)userActivity;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,51 @@
#import <Foundation/Foundation.h>
#import "FIRAnalytics.h"
NS_ASSUME_NONNULL_BEGIN
/// The type of consent to set. Supported consent types are `ConsentType.adStorage`,
/// `ConsentType.analyticsStorage`, `ConsentType.adUserData`, and `ConsentType.adPersonalization`.
/// Omitting a type retains its previous status.
typedef NSString *FIRConsentType NS_TYPED_ENUM NS_SWIFT_NAME(ConsentType);
/// Enables storage (such as device identifiers) related to advertising.
extern FIRConsentType const FIRConsentTypeAdStorage;
/// Enables storage (such as app identifiers) related to analytics, e.g. visit duration.
extern FIRConsentType const FIRConsentTypeAnalyticsStorage;
/// Sets consent for sending user data to Google for advertising purposes.
extern FIRConsentType const FIRConsentTypeAdUserData;
/// Sets consent for personalized advertising.
extern FIRConsentType const FIRConsentTypeAdPersonalization;
/// The status value of the consent type. Supported statuses are `ConsentStatus.granted` and
/// `ConsentStatus.denied`.
typedef NSString *FIRConsentStatus NS_TYPED_ENUM NS_SWIFT_NAME(ConsentStatus);
/// Consent status indicating consent is denied. For an overview of which data is sent when consent
/// is denied, see [SDK behavior with consent
/// mode](https://developers.google.com/tag-platform/security/concepts/consent-mode#tag-behavior).
extern FIRConsentStatus const FIRConsentStatusDenied;
/// Consent status indicating consent is granted.
extern FIRConsentStatus const FIRConsentStatusGranted;
/// Sets the applicable end user consent state.
@interface FIRAnalytics (Consent)
/// Sets the applicable end user consent state (e.g. for device identifiers) for this app on this
/// device. Use the consent settings to specify individual consent type values. Settings are
/// persisted across app sessions. By default consent types are set to `ConsentStatus.granted`.
///
/// @param consentSettings A Dictionary of consent types. Supported consent type keys are
/// `ConsentType.adStorage`, `ConsentType.analyticsStorage`, `ConsentType.adUserData`, and
/// `ConsentType.adPersonalization`. Valid values are `ConsentStatus.granted` and
/// `ConsentStatus.denied`.
+ (void)setConsent:(NSDictionary<FIRConsentType, FIRConsentStatus> *)consentSettings;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,44 @@
#import <Foundation/Foundation.h>
#import "FIRAnalytics.h"
NS_ASSUME_NONNULL_BEGIN
API_UNAVAILABLE(macCatalyst, macos, tvos, watchos)
@interface FIRAnalytics (OnDevice)
/// Initiates on-device conversion measurement given a user email address. Requires dependency
/// GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
/// @param emailAddress User email address. Include a domain name for all email addresses
/// (e.g. gmail.com or hotmail.co.jp).
+ (void)initiateOnDeviceConversionMeasurementWithEmailAddress:(NSString *)emailAddress
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(emailAddress:));
/// Initiates on-device conversion measurement given a phone number in E.164 format. Requires
/// dependency GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
/// @param phoneNumber User phone number. Must be in E.164 format, which means it must be
/// limited to a maximum of 15 digits and must include a plus sign (+) prefix and country code
/// with no dashes, parentheses, or spaces.
+ (void)initiateOnDeviceConversionMeasurementWithPhoneNumber:(NSString *)phoneNumber
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(phoneNumber:));
/// Initiates on-device conversion measurement given a sha256-hashed user email address. Requires
/// dependency GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
/// @param hashedEmailAddress User email address as a UTF8-encoded string normalized and hashed
/// according to the instructions at
/// https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3.
+ (void)initiateOnDeviceConversionMeasurementWithHashedEmailAddress:(NSData *)hashedEmailAddress
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(hashedEmailAddress:));
/// Initiates on-device conversion measurement given a sha256-hashed phone number in E.164 format.
/// Requires dependency GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a
/// no-op.
/// @param hashedPhoneNumber UTF8-encoded user phone number in E.164 format and then hashed
/// according to the instructions at
/// https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3.
+ (void)initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:(NSData *)hashedPhoneNumber
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(hashedPhoneNumber:));
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,155 @@
#import <Foundation/Foundation.h>
#import "FIREventNames.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"
NS_ASSUME_NONNULL_BEGIN
/// The top level Firebase Analytics singleton that provides methods for logging events and setting
/// user properties. See <a href="http://goo.gl/gz8SLz">the developer guides</a> for general
/// information on using Firebase Analytics in your apps.
///
/// @note The Analytics SDK uses SQLite to persist events and other app-specific data. Calling
/// certain thread-unsafe global SQLite methods like `sqlite3_shutdown()` can result in
/// unexpected crashes at runtime.
NS_SWIFT_NAME(Analytics)
@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>ad_activeview</li>
/// <li>ad_click</li>
/// <li>ad_exposure</li>
/// <li>ad_query</li>
/// <li>ad_reward</li>
/// <li>adunit_exposure</li>
/// <li>app_clear_data</li>
/// <li>app_exception</li>
/// <li>app_remove</li>
/// <li>app_store_refund</li>
/// <li>app_store_subscription_cancel</li>
/// <li>app_store_subscription_convert</li>
/// <li>app_store_subscription_renew</li>
/// <li>app_update</li>
/// <li>app_upgrade</li>
/// <li>dynamic_link_app_open</li>
/// <li>dynamic_link_app_update</li>
/// <li>dynamic_link_first_open</li>
/// <li>error</li>
/// <li>firebase_campaign</li>
/// <li>first_open</li>
/// <li>first_visit</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>session_start_with_rollout</li>
/// <li>user_engagement</li>
/// </ul>
///
/// @param name The name of the event. Should contain 1 to 40 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_",
/// "google_", and "ga_" prefixes are 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. To manually log screen view events, use the `screen_view` event name.
/// @param parameters The dictionary of event parameters. Passing `nil` indicates that the event has
/// no parameters. Parameter names can be up to 40 characters long and must start with an
/// alphabetic character and contain only alphanumeric characters and underscores. Only String,
/// Int, and Double parameter types are supported. String parameter values can be up to 100
/// characters long for standard Google Analytics properties, and up to 500 characters long for
/// Google Analytics 360 properties. The "firebase_", "google_", and "ga_" prefixes are reserved
/// and should not be used for parameter names.
+ (void)logEventWithName:(NSString *)name
parameters:(nullable NSDictionary<NSString *, id> *)parameters
NS_SWIFT_NAME(logEvent(_:parameters:));
/// Sets a user property to a given value. Up to 25 user property names are supported. Once set,
/// user property values persist throughout the app lifecycle and across sessions.
///
/// 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_", "google_", and
/// "ga_" prefixes are reserved and should not be used for user property names.
+ (void)setUserPropertyString:(nullable NSString *)value forName:(NSString *)name
NS_SWIFT_NAME(setUserProperty(_:forName:));
/// 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 256 characters long. Setting userID to `nil` removes the user ID.
+ (void)setUserID:(nullable NSString *)userID;
/// Sets whether analytics collection is enabled for this app on this device. This setting is
/// persisted across app sessions. By default it is enabled.
///
/// @param analyticsCollectionEnabled A flag that enables or disables Analytics collection.
+ (void)setAnalyticsCollectionEnabled:(BOOL)analyticsCollectionEnabled;
/// Sets the interval of inactivity in seconds that terminates the current session. The default
/// value is 1800 seconds (30 minutes).
///
/// @param sessionTimeoutInterval The custom time of inactivity in seconds before the current
/// session terminates.
+ (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval;
/// Asynchronously retrieves the identifier of the current app session.
///
/// The session ID retrieval could fail due to Analytics collection disabled, app session expired,
/// etc.
///
/// @param completion The completion handler to call when the session ID retrieval is complete. This
/// handler is executed on a system-defined global concurrent queue.
/// This completion handler takes the following parameters:
/// <b>sessionID</b> The identifier of the current app session. The value is undefined if the
/// request failed.
/// <b>error</b> An error object that indicates why the request failed, or `nil` if the request
/// was successful.
+ (void)sessionIDWithCompletion:(void (^)(int64_t sessionID, NSError *_Nullable error))completion;
/// Returns the unique ID for this instance of the application or `nil` if
/// `ConsentType.analyticsStorage` has been set to `ConsentStatus.denied`.
///
/// @see `FIRAnalytics+Consent.h`
+ (nullable NSString *)appInstanceID;
/// Clears all analytics data for this instance from the device and resets the app instance ID.
+ (void)resetAnalyticsData;
/// Adds parameters that will be set on every event logged from the SDK, including automatic ones.
/// The values passed in the parameters dictionary will be added to the dictionary of default event
/// parameters. These parameters persist across app runs. They are of lower precedence than event
/// parameters, so if an event parameter and a parameter set using this API have the same name, the
/// value of the event parameter will be used. The same limitations on event parameters apply to
/// default event parameters.
///
/// @param parameters Parameters to be added to the dictionary of parameters added to every event.
/// They will be added to the dictionary of default event parameters, replacing any existing
/// parameter with the same name. Valid parameters are String, Int, and Double. Setting a key's
/// value to `NSNull()` will clear that parameter. Passing in a `nil` dictionary will clear all
/// parameters.
+ (void)setDefaultEventParameters:(nullable NSDictionary<NSString *, id> *)parameters;
/// Unavailable.
- (instancetype)init NS_UNAVAILABLE;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,418 @@
/// @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 40 characters long, may only contain alphanumeric
/// characters and underscores ("_"), and must start with an alphabetic character. The "firebase_",
/// "google_", and "ga_" prefixes are reserved and should not be used.
#import <Foundation/Foundation.h>
/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
/// the @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
/// parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterAdPlatform (String) (optional)</li>
/// <li>@c AnalyticsParameterAdFormat (String) (optional)</li>
/// <li>@c AnalyticsParameterAdSource (String) (optional)</li>
/// <li>@c AnalyticsParameterAdUnitName (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
@"ad_impression";
/// Add Payment Info event. This event signifies that a user has submitted their payment
/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
/// Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterPaymentType (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAddPaymentInfo NS_SWIFT_NAME(AnalyticsEventAddPaymentInfo) =
@"add_payment_info";
/// Add Shipping Info event. This event signifies that a user has submitted their shipping
/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
/// Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterShippingTier (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
@"add_shipping_info";
/// E-Commerce Add To Cart event. This event signifies that an item(s) was added to a cart for
/// purchase. Add this event to a funnel with @c AnalyticsEventPurchase to gauge the effectiveness
/// of your checkout process. Note: If you supply the @c AnalyticsParameterValue parameter, you must
/// also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
/// accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAddToCart NS_SWIFT_NAME(AnalyticsEventAddToCart) = @"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. Note: If you supply the @c AnalyticsParameterValue
/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
/// metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAddToWishlist NS_SWIFT_NAME(AnalyticsEventAddToWishlist) =
@"add_to_wishlist";
/// App Open event. By logging this event when an App becomes active, 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 NS_SWIFT_NAME(AnalyticsEventAppOpen) = @"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 @c AnalyticsEventPurchase event to gauge the
/// effectiveness of your checkout process. Note: If you supply the @c AnalyticsParameterValue
/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
/// metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventBeginCheckout NS_SWIFT_NAME(AnalyticsEventBeginCheckout) =
@"begin_checkout";
/// Campaign Detail event. Log this event to supply the referral details of a re-engagement
/// campaign. Note: you must supply at least one of the required parameters
/// AnalyticsParameterSource, AnalyticsParameterMedium or AnalyticsParameterCampaign. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterSource (String)</li>
/// <li>@c AnalyticsParameterMedium (String)</li>
/// <li>@c AnalyticsParameterCampaign (String)</li>
/// <li>@c AnalyticsParameterTerm (String) (optional)</li>
/// <li>@c AnalyticsParameterContent (String) (optional)</li>
/// <li>@c AnalyticsParameterAdNetworkClickID (String) (optional)</li>
/// <li>@c AnalyticsParameterCP1 (String) (optional)</li>
/// <li>@c AnalyticsParameterCampaignID (String) (optional)</li>
/// <li>@c AnalyticsParameterCreativeFormat (String) (optional)</li>
/// <li>@c AnalyticsParameterMarketingTactic (String) (optional)</li>
/// <li>@c AnalyticsParameterSourcePlatform (String) (optional)</li>
/// </ul>
static NSString *const kFIREventCampaignDetails NS_SWIFT_NAME(AnalyticsEventCampaignDetails) =
@"campaign_details";
/// Earn Virtual Currency event. This event tracks the awarding of virtual currency in your app. Log
/// this along with @c AnalyticsEventSpendVirtualCurrency to better understand your virtual economy.
/// Params:
///
/// <ul>
/// <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
/// <li>@c AnalyticsParameterValue (Int or Double)</li>
/// </ul>
static NSString *const kFIREventEarnVirtualCurrency
NS_SWIFT_NAME(AnalyticsEventEarnVirtualCurrency) = @"earn_virtual_currency";
/// 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
/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
/// parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventGenerateLead NS_SWIFT_NAME(AnalyticsEventGenerateLead) =
@"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>@c AnalyticsParameterGroupID (String)</li>
/// </ul>
static NSString *const kFIREventJoinGroup NS_SWIFT_NAME(AnalyticsEventJoinGroup) = @"join_group";
/// Level End event. Log this event when the user finishes a level. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterLevelName (String)</li>
/// <li>@c AnalyticsParameterSuccess (String)</li>
/// </ul>
static NSString *const kFIREventLevelEnd NS_SWIFT_NAME(AnalyticsEventLevelEnd) = @"level_end";
/// Level Start event. Log this event when the user starts a new level. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterLevelName (String)</li>
/// </ul>
static NSString *const kFIREventLevelStart NS_SWIFT_NAME(AnalyticsEventLevelStart) = @"level_start";
/// 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>@c AnalyticsParameterLevel (Int)</li>
/// <li>@c AnalyticsParameterCharacter (String) (optional)</li>
/// </ul>
static NSString *const kFIREventLevelUp NS_SWIFT_NAME(AnalyticsEventLevelUp) = @"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 NS_SWIFT_NAME(AnalyticsEventLogin) = @"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>@c AnalyticsParameterScore (Int)</li>
/// <li>@c AnalyticsParameterLevel (Int) (optional)</li>
/// <li>@c AnalyticsParameterCharacter (String) (optional)</li>
/// </ul>
static NSString *const kFIREventPostScore NS_SWIFT_NAME(AnalyticsEventPostScore) = @"post_score";
/// E-Commerce Purchase event. This event signifies that an item(s) 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 @c AnalyticsParameterValue parameter, you must also
/// supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
/// accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterEndDate (String) (optional)</li>
/// <li>@c AnalyticsParameterItemID (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterShipping (Double) (optional)</li>
/// <li>@c AnalyticsParameterStartDate (String) (optional)</li>
/// <li>@c AnalyticsParameterTax (Double) (optional)</li>
/// <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
/// parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterShipping (Double) (optional)</li>
/// <li>@c AnalyticsParameterTax (Double) (optional)</li>
/// <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
/// E-Commerce Remove from Cart event. This event signifies that an item(s) was removed from a cart.
/// Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply the @c
/// AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventRemoveFromCart NS_SWIFT_NAME(AnalyticsEventRemoveFromCart) =
@"remove_from_cart";
/// Screen View event. This event signifies a screen view. Use this when a screen transition occurs.
/// This event can be logged irrespective of whether automatic screen tracking is enabled. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterScreenClass (String) (optional)</li>
/// <li>@c AnalyticsParameterScreenName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventScreenView NS_SWIFT_NAME(AnalyticsEventScreenView) = @"screen_view";
/// 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>@c AnalyticsParameterSearchTerm (String)</li>
/// <li>@c AnalyticsParameterStartDate (String) (optional)</li>
/// <li>@c AnalyticsParameterEndDate (String) (optional)</li>
/// <li>@c AnalyticsParameterNumberOfNights (Int) (optional) for hotel bookings</li>
/// <li>@c AnalyticsParameterNumberOfRooms (Int) (optional) for hotel bookings</li>
/// <li>@c AnalyticsParameterNumberOfPassengers (Int) (optional) for travel bookings</li>
/// <li>@c AnalyticsParameterOrigin (String) (optional)</li>
/// <li>@c AnalyticsParameterDestination (String) (optional)</li>
/// <li>@c AnalyticsParameterTravelClass (String) (optional) for travel bookings</li>
/// </ul>
static NSString *const kFIREventSearch NS_SWIFT_NAME(AnalyticsEventSearch) = @"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>@c AnalyticsParameterContentType (String)</li>
/// <li>@c AnalyticsParameterItemID (String)</li>
/// </ul>
static NSString *const kFIREventSelectContent NS_SWIFT_NAME(AnalyticsEventSelectContent) =
@"select_content";
/// Select Item event. This event signifies that an item was selected by a user from a list. Use the
/// appropriate parameters to contextualize the event. Use this event to discover the most popular
/// items selected. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterItemListID (String) (optional)</li>
/// <li>@c AnalyticsParameterItemListName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventSelectItem NS_SWIFT_NAME(AnalyticsEventSelectItem) = @"select_item";
/// Select promotion event. This event signifies that a user has selected a promotion offer. Use the
/// appropriate parameters to contextualize the event, such as the item(s) for which the promotion
/// applies. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
/// <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterLocationID (String) (optional)</li>
/// <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
/// <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventSelectPromotion NS_SWIFT_NAME(AnalyticsEventSelectPromotion) =
@"select_promotion";
/// Share event. Apps with social features can log the Share event to identify the most viral
/// content. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterContentType (String)</li>
/// <li>@c AnalyticsParameterItemID (String)</li>
/// </ul>
static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"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>@c AnalyticsParameterMethod (String)</li>
/// </ul>
static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"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>@c AnalyticsParameterItemName (String)</li>
/// <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
/// <li>@c AnalyticsParameterValue (Int or Double)</li>
/// </ul>
static NSString *const kFIREventSpendVirtualCurrency
NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"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 @c AnalyticsEventTutorialComplete to understand how many users complete
/// this process and move on to the full app experience.
static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
@"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 @c AnalyticsEventTutorialBegin to gauge the completion rate
/// of your on-boarding process.
static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
@"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>@c AnalyticsParameterAchievementID (String)</li>
/// </ul>
static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
@"unlock_achievement";
/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
/// analyze your purchase funnel. Note: If you supply the @c AnalyticsParameterValue parameter, you
/// must also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be
/// computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventViewCart NS_SWIFT_NAME(AnalyticsEventViewCart) = @"view_cart";
/// View Item event. This event signifies that a user has viewed an item. 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 @c AnalyticsParameterValue parameter, you must also supply
/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
/// Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterItemListID (String) (optional)</li>
/// <li>@c AnalyticsParameterItemListName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
@"view_item_list";
/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
/// to a funnel with the @c AnalyticsEventAddToCart and @c AnalyticsEventPurchase to gauge your
/// conversion process. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
/// <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterLocationID (String) (optional)</li>
/// <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
/// <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventViewPromotion NS_SWIFT_NAME(AnalyticsEventViewPromotion) =
@"view_promotion";
/// View Search Results event. Log this event when the user has been presented with the results of a
/// search. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterSearchTerm (String)</li>
/// </ul>
static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
@"view_search_results";

View File

@ -0,0 +1,722 @@
/// @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 40 characters long, may only contain alphanumeric
/// characters and underscores ("_"), and must start with an alphabetic character. Param values can
/// be up to 100 characters long for standard Google Analytics properties and up to 500 characters
/// long for Google Analytics 360 properties. The "firebase_", "google_", and "ga_" prefixes are
/// reserved and should not be used.
#import <Foundation/Foundation.h>
/// Game achievement ID (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAchievementID : "10_matches_won",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAchievementID NS_SWIFT_NAME(AnalyticsParameterAchievementID) =
@"achievement_id";
/// The ad format (e.g. Banner, Interstitial, Rewarded, Native, Rewarded Interstitial, Instream).
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAdFormat : "Banner",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdFormat NS_SWIFT_NAME(AnalyticsParameterAdFormat) =
@"ad_format";
/// Ad Network Click ID (String). Used for network-specific click IDs which vary in format.
/// <pre>
/// let params = [
/// AnalyticsParameterAdNetworkClickID : "1234567",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdNetworkClickID
NS_SWIFT_NAME(AnalyticsParameterAdNetworkClickID) = @"aclid";
/// The ad platform (e.g. MoPub, IronSource) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAdPlatform : "MoPub",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdPlatform NS_SWIFT_NAME(AnalyticsParameterAdPlatform) =
@"ad_platform";
/// The ad source (e.g. AdColony) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAdSource : "AdColony",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdSource NS_SWIFT_NAME(AnalyticsParameterAdSource) =
@"ad_source";
/// The ad unit name (e.g. Banner_03) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAdUnitName : "Banner_03",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdUnitName NS_SWIFT_NAME(AnalyticsParameterAdUnitName) =
@"ad_unit_name";
/// A product affiliation to designate a supplying company or brick and mortar store location
/// (String). <pre>
/// let params = [
/// AnalyticsParameterAffiliation : "Google Store",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAffiliation NS_SWIFT_NAME(AnalyticsParameterAffiliation) =
@"affiliation";
/// Campaign custom parameter (String). Used as a method of capturing custom data in a campaign.
/// Use varies by network.
/// <pre>
/// let params = [
/// AnalyticsParameterCP1 : "custom_data",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
/// The individual campaign name, slogan, promo code, etc. Some networks have pre-defined macro to
/// capture campaign information, otherwise can be populated by developer. Highly Recommended
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCampaign : "winter_promotion",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCampaign NS_SWIFT_NAME(AnalyticsParameterCampaign) =
@"campaign";
/// Campaign ID (String). Used for keyword analysis to identify a specific product promotion or
/// strategic campaign. This is a required key for GA4 data import.
/// <pre>
/// let params = [
/// AnalyticsParameterCampaignID : "7877652710",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCampaignID NS_SWIFT_NAME(AnalyticsParameterCampaignID) =
@"campaign_id";
/// Character used in game (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCharacter : "beat_boss",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCharacter NS_SWIFT_NAME(AnalyticsParameterCharacter) =
@"character";
/// Campaign content (String).
static NSString *const kFIRParameterContent NS_SWIFT_NAME(AnalyticsParameterContent) = @"content";
/// Type of content selected (String).
/// <pre>
/// let params = [
/// AnalyticsParameterContentType : "news article",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterContentType NS_SWIFT_NAME(AnalyticsParameterContentType) =
@"content_type";
/// Coupon code used for a purchase (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCoupon : "SUMMER_FUN",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCoupon NS_SWIFT_NAME(AnalyticsParameterCoupon) = @"coupon";
/// Creative Format (String). Used to identify the high-level classification of the type of ad
/// served by a specific campaign.
/// <pre>
/// let params = [
/// AnalyticsParameterCreativeFormat : "display",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCreativeFormat NS_SWIFT_NAME(AnalyticsParameterCreativeFormat) =
@"creative_format";
/// The name of a creative used in a promotional spot (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCreativeName : "Summer Sale",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCreativeName NS_SWIFT_NAME(AnalyticsParameterCreativeName) =
@"creative_name";
/// The name of a creative slot (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCreativeSlot : "summer_banner2",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCreativeSlot NS_SWIFT_NAME(AnalyticsParameterCreativeSlot) =
@"creative_slot";
/// Currency of the purchase or items associated with the event, in 3-letter
/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCurrency : "USD",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCurrency NS_SWIFT_NAME(AnalyticsParameterCurrency) =
@"currency";
/// Flight or Travel destination (String).
/// <pre>
/// let params = [
/// AnalyticsParameterDestination : "Mountain View, CA",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterDestination NS_SWIFT_NAME(AnalyticsParameterDestination) =
@"destination";
/// Monetary value of discount associated with a purchase (Double).
/// <pre>
/// let params = [
/// AnalyticsParameterDiscount : 2.0,
/// AnalyticsParameterCurrency : "USD", // e.g. $2.00 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
@"discount";
/// The arrival date, check-out date or rental end date for the item. This should be in
/// YYYY-MM-DD format (String).
/// <pre>
/// let params = [
/// AnalyticsParameterEndDate : "2015-09-14",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterEndDate NS_SWIFT_NAME(AnalyticsParameterEndDate) = @"end_date";
/// Indicates that the associated event should either extend the current session or start a new
/// session if no session was active when the event was logged. Specify 1 to extend the current
/// session or to start a new session; any other value will not extend or start a session.
/// <pre>
/// let params = [
/// AnalyticsParameterExtendSession : 1,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
@"extend_session";
/// Flight number for travel events (String).
/// <pre>
/// let params = [
/// AnalyticsParameterFlightNumber : "ZZ800",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterFlightNumber NS_SWIFT_NAME(AnalyticsParameterFlightNumber) =
@"flight_number";
/// Group/clan/guild ID (String).
/// <pre>
/// let params = [
/// AnalyticsParameterGroupID : "g1",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterGroupID NS_SWIFT_NAME(AnalyticsParameterGroupID) = @"group_id";
/// The index of the item in a list (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterIndex : 5,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterIndex NS_SWIFT_NAME(AnalyticsParameterIndex) = @"index";
/// Item brand (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemBrand : "Google",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemBrand NS_SWIFT_NAME(AnalyticsParameterItemBrand) =
@"item_brand";
/// Item category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory NS_SWIFT_NAME(AnalyticsParameterItemCategory) =
@"item_category";
/// Item Category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory2 : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
@"item_category2";
/// Item Category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory3 : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
@"item_category3";
/// Item Category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory4 : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
@"item_category4";
/// Item Category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory5 : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
@"item_category5";
/// Item ID (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemID : "SKU_12345",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemID NS_SWIFT_NAME(AnalyticsParameterItemID) = @"item_id";
/// The ID of the list in which the item was presented to the user (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemListID : "ABC123",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
@"item_list_id";
/// The name of the list in which the item was presented to the user (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemListName : "Related products",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
@"item_list_name";
/// Item Name (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemName : "jeggings",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemName NS_SWIFT_NAME(AnalyticsParameterItemName) =
@"item_name";
/// Item variant (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemVariant : "Black",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemVariant NS_SWIFT_NAME(AnalyticsParameterItemVariant) =
@"item_variant";
/// The list of items involved in the transaction expressed as `[[String: Any]]`.
/// <pre>
/// let params = [
/// AnalyticsParameterItems : [
/// [AnalyticsParameterItemName : "jeggings", AnalyticsParameterItemCategory : "pants"],
/// [AnalyticsParameterItemName : "boots", AnalyticsParameterItemCategory : "shoes"],
/// ],
/// ]
/// </pre>
static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
/// Level in game (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterLevel : 42,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterLevel NS_SWIFT_NAME(AnalyticsParameterLevel) = @"level";
/// The name of a level in a game (String).
/// <pre>
/// let params = [
/// AnalyticsParameterLevelName : "room_1",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
@"level_name";
/// Location (String). 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>
/// let params = [
/// AnalyticsParameterLocation : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterLocation NS_SWIFT_NAME(AnalyticsParameterLocation) =
@"location";
/// The location associated with the event. Preferred to be the Google
/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
/// associated item but could be overridden to a custom location ID string.(String).
/// <pre>
/// let params = [
/// AnalyticsParameterLocationID : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
@"location_id";
/// Marketing Tactic (String). Used to identify the targeting criteria applied to a specific
/// campaign.
/// <pre>
/// let params = [
/// AnalyticsParameterMarketingTactic : "Remarketing",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterMarketingTactic
NS_SWIFT_NAME(AnalyticsParameterMarketingTactic) = @"marketing_tactic";
/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterMedium : "email",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterMedium NS_SWIFT_NAME(AnalyticsParameterMedium) = @"medium";
/// A particular approach used in an operation; for example, "facebook" or "email" in the context
/// of a sign_up or login event. (String).
/// <pre>
/// let params = [
/// AnalyticsParameterMethod : "google",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
/// Number of nights staying at hotel (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterNumberOfNights : 3,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterNumberOfNights
NS_SWIFT_NAME(AnalyticsParameterNumberOfNights) = @"number_of_nights";
/// Number of passengers traveling (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterNumberOfPassengers : 11,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterNumberOfPassengers
NS_SWIFT_NAME(AnalyticsParameterNumberOfPassengers) = @"number_of_passengers";
/// Number of rooms for travel events (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterNumberOfRooms : 2,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterNumberOfRooms NS_SWIFT_NAME(AnalyticsParameterNumberOfRooms) =
@"number_of_rooms";
/// Flight or Travel origin (String).
/// <pre>
/// let params = [
/// AnalyticsParameterOrigin : "Mountain View, CA",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterOrigin NS_SWIFT_NAME(AnalyticsParameterOrigin) = @"origin";
/// The chosen method of payment (String).
/// <pre>
/// let params = [
/// AnalyticsParameterPaymentType : "Visa",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
@"payment_type";
/// Purchase price (Double).
/// <pre>
/// let params = [
/// AnalyticsParameterPrice : 1.0,
/// AnalyticsParameterCurrency : "USD", // e.g. $1.00 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterPrice NS_SWIFT_NAME(AnalyticsParameterPrice) = @"price";
/// The ID of a product promotion (String).
/// <pre>
/// let params = [
/// AnalyticsParameterPromotionID : "ABC123",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
@"promotion_id";
/// The name of a product promotion (String).
/// <pre>
/// let params = [
/// AnalyticsParameterPromotionName : "Summer Sale",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
@"promotion_name";
/// Purchase quantity (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterQuantity : 1,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterQuantity NS_SWIFT_NAME(AnalyticsParameterQuantity) =
@"quantity";
/// Score in game (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterScore : 4200,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterScore NS_SWIFT_NAME(AnalyticsParameterScore) = @"score";
/// Current screen class, such as the class name of the UIViewController, logged with screen_view
/// event and added to every event (String).
/// <pre>
/// let params = [
/// AnalyticsParameterScreenClass : "LoginViewController",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterScreenClass NS_SWIFT_NAME(AnalyticsParameterScreenClass) =
@"screen_class";
/// Current screen name, such as the name of the UIViewController, logged with screen_view event and
/// added to every event (String).
/// <pre>
/// let params = [
/// AnalyticsParameterScreenName : "LoginView",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterScreenName NS_SWIFT_NAME(AnalyticsParameterScreenName) =
@"screen_name";
/// The search string/keywords used (String).
/// <pre>
/// let params = [
/// AnalyticsParameterSearchTerm : "periodic table",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterSearchTerm NS_SWIFT_NAME(AnalyticsParameterSearchTerm) =
@"search_term";
/// Shipping cost associated with a transaction (Double).
/// <pre>
/// let params = [
/// AnalyticsParameterShipping : 5.99,
/// AnalyticsParameterCurrency : "USD", // e.g. $5.99 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterShipping NS_SWIFT_NAME(AnalyticsParameterShipping) =
@"shipping";
/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterShippingTier : "Ground",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
@"shipping_tier";
/// The origin of your traffic, such as an Ad network (for example, google) or partner (urban
/// airship). Identify the advertiser, site, publication, etc. that is sending traffic to your
/// property. Highly recommended (String).
/// <pre>
/// let params = [
/// AnalyticsParameterSource : "InMobi",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterSource NS_SWIFT_NAME(AnalyticsParameterSource) = @"source";
/// Source Platform (String). Used to identify the platform responsible for directing traffic to a
/// given Analytics property (e.g., a buying platform where budgets, targeting criteria, etc. are
/// set, a platform for managing organic traffic data, etc.).
/// <pre>
/// let params = [
/// AnalyticsParameterSourcePlatform : "sa360",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterSourcePlatform NS_SWIFT_NAME(AnalyticsParameterSourcePlatform) =
@"source_platform";
/// The departure date, check-in date or rental start date for the item. This should be in
/// YYYY-MM-DD format (String).
/// <pre>
/// let params = [
/// AnalyticsParameterStartDate : "2015-09-14",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterStartDate NS_SWIFT_NAME(AnalyticsParameterStartDate) =
@"start_date";
/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterSuccess : 1,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
/// Tax cost associated with a transaction (Double).
/// <pre>
/// let params = [
/// AnalyticsParameterTax : 2.43,
/// AnalyticsParameterCurrency : "USD", // e.g. $2.43 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterTax NS_SWIFT_NAME(AnalyticsParameterTax) = @"tax";
/// If you're manually tagging keyword campaigns, you should use utm_term to specify the keyword
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterTerm : "game",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterTerm NS_SWIFT_NAME(AnalyticsParameterTerm) = @"term";
/// The unique identifier of a transaction (String).
/// <pre>
/// let params = [
/// AnalyticsParameterTransactionID : "T12345",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterTransactionID NS_SWIFT_NAME(AnalyticsParameterTransactionID) =
@"transaction_id";
/// Travel class (String).
/// <pre>
/// let params = [
/// AnalyticsParameterTravelClass : "business",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterTravelClass NS_SWIFT_NAME(AnalyticsParameterTravelClass) =
@"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 Int or
/// Double.
/// Notes: Values for pre-defined currency-related events (such as @c AnalyticsEventAddToCart)
/// should be supplied using Double and must be accompanied by a @c AnalyticsParameterCurrency
/// parameter. The valid range of accumulated values is
/// [-9,223,372,036,854.77, 9,223,372,036,854.77]. Supplying a non-numeric value, omitting the
/// corresponding @c AnalyticsParameterCurrency parameter, or supplying an invalid
/// <a href="https://goo.gl/qqX3J2">currency code</a> for conversion events will cause that
/// conversion to be omitted from reporting.
/// <pre>
/// let params = [
/// AnalyticsParameterValue : 3.99,
/// AnalyticsParameterCurrency : "USD", // e.g. $3.99 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterValue NS_SWIFT_NAME(AnalyticsParameterValue) = @"value";
/// Name of virtual currency type (String).
/// <pre>
/// let params = [
/// AnalyticsParameterVirtualCurrencyName : "virtual_currency_name",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterVirtualCurrencyName
NS_SWIFT_NAME(AnalyticsParameterVirtualCurrencyName) = @"virtual_currency_name";

View File

@ -0,0 +1,28 @@
/// @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_", "google_", and "ga_" prefixes are reserved and should not
/// be used.
#import <Foundation/Foundation.h>
/// Indicates whether events logged by Google Analytics can be used to personalize ads for the user.
/// Set to "YES" to enable, or "NO" to disable. Default is enabled. See the
/// <a href="https://firebase.google.com/support/guides/disable-analytics">documentation</a> for
/// more details and information about related settings.
///
/// <pre>
/// Analytics.setUserProperty("NO", forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)
/// </pre>
static NSString *const kFIRUserPropertyAllowAdPersonalizationSignals
NS_SWIFT_NAME(AnalyticsUserPropertyAllowAdPersonalizationSignals) = @"allow_personalized_ads";
/// The method used to sign in. For example, "google", "facebook" or "twitter".
static NSString *const kFIRUserPropertySignUpMethod
NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";

View File

@ -0,0 +1,620 @@
#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
#ifndef FIREBASEANALYTICS_SWIFT_H
#define FIREBASEANALYTICS_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#if defined(__OBJC__)
#include <Foundation/Foundation.h>
#endif
#if defined(__cplusplus)
#include <cstdint>
#include <cstddef>
#include <cstdbool>
#include <cstring>
#include <stdlib.h>
#include <new>
#include <type_traits>
#else
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include <string.h>
#endif
#if defined(__cplusplus)
#if defined(__arm64e__) && __has_include(<ptrauth.h>)
# include <ptrauth.h>
#else
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
# ifndef __ptrauth_swift_value_witness_function_pointer
# define __ptrauth_swift_value_witness_function_pointer(x)
# endif
# ifndef __ptrauth_swift_class_method_pointer
# define __ptrauth_swift_class_method_pointer(x)
# endif
#pragma clang diagnostic pop
#endif
#endif
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if !defined(SWIFT_RUNTIME_NAME)
# if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
# else
# define SWIFT_RUNTIME_NAME(X)
# endif
#endif
#if !defined(SWIFT_COMPILE_NAME)
# if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
# else
# define SWIFT_COMPILE_NAME(X)
# endif
#endif
#if !defined(SWIFT_METHOD_FAMILY)
# if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
# else
# define SWIFT_METHOD_FAMILY(X)
# endif
#endif
#if !defined(SWIFT_NOESCAPE)
# if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
# else
# define SWIFT_NOESCAPE
# endif
#endif
#if !defined(SWIFT_RELEASES_ARGUMENT)
# if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
# else
# define SWIFT_RELEASES_ARGUMENT
# endif
#endif
#if !defined(SWIFT_WARN_UNUSED_RESULT)
# if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
# else
# define SWIFT_WARN_UNUSED_RESULT
# endif
#endif
#if !defined(SWIFT_NORETURN)
# if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
# else
# define SWIFT_NORETURN
# endif
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
# define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if !defined(SWIFT_DEPRECATED_OBJC)
# if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
# else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
# endif
#endif
#if defined(__OBJC__)
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#endif
#if !defined(SWIFT_EXTERN)
# if defined(__cplusplus)
# define SWIFT_EXTERN extern "C"
# else
# define SWIFT_EXTERN extern
# endif
#endif
#if !defined(SWIFT_CALL)
# define SWIFT_CALL __attribute__((swiftcall))
#endif
#if !defined(SWIFT_INDIRECT_RESULT)
# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
#endif
#if !defined(SWIFT_CONTEXT)
# define SWIFT_CONTEXT __attribute__((swift_context))
#endif
#if !defined(SWIFT_ERROR_RESULT)
# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
#endif
#if defined(__cplusplus)
# define SWIFT_NOEXCEPT noexcept
#else
# define SWIFT_NOEXCEPT
#endif
#if !defined(SWIFT_C_INLINE_THUNK)
# if __has_attribute(always_inline)
# if __has_attribute(nodebug)
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
# else
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
# endif
# else
# define SWIFT_C_INLINE_THUNK inline
# endif
#endif
#if defined(_WIN32)
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
#endif
#else
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL
#endif
#endif
#if defined(__OBJC__)
#if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
#endif
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseAnalytics",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
#if defined(__OBJC__)
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#if defined(__cplusplus)
#endif
#pragma clang diagnostic pop
#endif
#elif defined(__x86_64__) && __x86_64__
// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
#ifndef FIREBASEANALYTICS_SWIFT_H
#define FIREBASEANALYTICS_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#if defined(__OBJC__)
#include <Foundation/Foundation.h>
#endif
#if defined(__cplusplus)
#include <cstdint>
#include <cstddef>
#include <cstdbool>
#include <cstring>
#include <stdlib.h>
#include <new>
#include <type_traits>
#else
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include <string.h>
#endif
#if defined(__cplusplus)
#if defined(__arm64e__) && __has_include(<ptrauth.h>)
# include <ptrauth.h>
#else
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
# ifndef __ptrauth_swift_value_witness_function_pointer
# define __ptrauth_swift_value_witness_function_pointer(x)
# endif
# ifndef __ptrauth_swift_class_method_pointer
# define __ptrauth_swift_class_method_pointer(x)
# endif
#pragma clang diagnostic pop
#endif
#endif
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if !defined(SWIFT_RUNTIME_NAME)
# if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
# else
# define SWIFT_RUNTIME_NAME(X)
# endif
#endif
#if !defined(SWIFT_COMPILE_NAME)
# if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
# else
# define SWIFT_COMPILE_NAME(X)
# endif
#endif
#if !defined(SWIFT_METHOD_FAMILY)
# if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
# else
# define SWIFT_METHOD_FAMILY(X)
# endif
#endif
#if !defined(SWIFT_NOESCAPE)
# if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
# else
# define SWIFT_NOESCAPE
# endif
#endif
#if !defined(SWIFT_RELEASES_ARGUMENT)
# if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
# else
# define SWIFT_RELEASES_ARGUMENT
# endif
#endif
#if !defined(SWIFT_WARN_UNUSED_RESULT)
# if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
# else
# define SWIFT_WARN_UNUSED_RESULT
# endif
#endif
#if !defined(SWIFT_NORETURN)
# if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
# else
# define SWIFT_NORETURN
# endif
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
# define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if !defined(SWIFT_DEPRECATED_OBJC)
# if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
# else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
# endif
#endif
#if defined(__OBJC__)
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#endif
#if !defined(SWIFT_EXTERN)
# if defined(__cplusplus)
# define SWIFT_EXTERN extern "C"
# else
# define SWIFT_EXTERN extern
# endif
#endif
#if !defined(SWIFT_CALL)
# define SWIFT_CALL __attribute__((swiftcall))
#endif
#if !defined(SWIFT_INDIRECT_RESULT)
# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
#endif
#if !defined(SWIFT_CONTEXT)
# define SWIFT_CONTEXT __attribute__((swift_context))
#endif
#if !defined(SWIFT_ERROR_RESULT)
# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
#endif
#if defined(__cplusplus)
# define SWIFT_NOEXCEPT noexcept
#else
# define SWIFT_NOEXCEPT
#endif
#if !defined(SWIFT_C_INLINE_THUNK)
# if __has_attribute(always_inline)
# if __has_attribute(nodebug)
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
# else
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
# endif
# else
# define SWIFT_C_INLINE_THUNK inline
# endif
#endif
#if defined(_WIN32)
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
#endif
#else
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL
#endif
#endif
#if defined(__OBJC__)
#if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
#endif
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseAnalytics",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
#if defined(__OBJC__)
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#if defined(__cplusplus)
#endif
#pragma clang diagnostic pop
#endif
#else
#error unsupported Swift architecture
#endif

View File

@ -0,0 +1,24 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
#import "FIRAnalytics+AppDelegate.h"
#import "FIRAnalytics+Consent.h"
#import "FIRAnalytics+OnDevice.h"
#import "FIRAnalytics.h"
#import "FirebaseAnalytics.h"
#import "FIREventNames.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"
FOUNDATION_EXPORT double FirebaseAnalyticsVersionNumber;
FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsVersionString[];

View File

@ -0,0 +1,7 @@
#import "FIRAnalytics+AppDelegate.h"
#import "FIRAnalytics+Consent.h"
#import "FIRAnalytics+OnDevice.h"
#import "FIRAnalytics.h"
#import "FIREventNames.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>23G93</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>FirebaseAnalytics</string>
<key>CFBundleIdentifier</key>
<string>org.cocoapods.FirebaseAnalytics</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>FirebaseAnalytics</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>11.1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>iPhoneSimulator</string>
</array>
<key>CFBundleVersion</key>
<string>1</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>21C52</string>
<key>DTPlatformName</key>
<string>iphonesimulator</string>
<key>DTPlatformVersion</key>
<string>17.2</string>
<key>DTSDKBuild</key>
<string>21C52</string>
<key>DTSDKName</key>
<string>iphonesimulator17.2</string>
<key>DTXcode</key>
<string>1520</string>
<key>DTXcodeBuild</key>
<string>15C500b</string>
<key>MinimumOSVersion</key>
<string>100.0</string>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
</dict>
</plist>

View File

@ -0,0 +1,288 @@
{
"ABIRoot": {
"kind": "Root",
"name": "TopLevel",
"printedName": "TopLevel",
"children": [
{
"kind": "Import",
"name": "StoreKit",
"printedName": "StoreKit",
"declKind": "Import",
"moduleName": "FirebaseAnalytics"
},
{
"kind": "Import",
"name": "SwiftUI",
"printedName": "SwiftUI",
"declKind": "Import",
"moduleName": "FirebaseAnalytics"
},
{
"kind": "TypeDecl",
"name": "Analytics",
"printedName": "Analytics",
"children": [
{
"kind": "Function",
"name": "logTransaction",
"printedName": "logTransaction(_:)",
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
},
{
"kind": "TypeNominal",
"name": "Transaction",
"printedName": "StoreKit.Transaction",
"usr": "s:8StoreKit11TransactionV"
}
],
"declKind": "Func",
"usr": "s:So12FIRAnalyticsC17FirebaseAnalyticsE14logTransactionyy8StoreKit0E0VFZ",
"mangledName": "$sSo12FIRAnalyticsC17FirebaseAnalyticsE14logTransactionyy8StoreKit0E0VFZ",
"moduleName": "FirebaseAnalytics",
"static": true,
"declAttributes": [
"Final",
"AccessControl",
"RawDocComment"
],
"isFromExtension": true,
"funcSelfKind": "NonMutating"
}
],
"declKind": "Class",
"usr": "c:objc(cs)FIRAnalytics",
"moduleName": "FirebaseAnalytics",
"isOpen": true,
"objc_name": "FIRAnalytics",
"declAttributes": [
"ObjC",
"Dynamic"
],
"superclassUsr": "c:objc(cs)NSObject",
"isExternal": true,
"inheritsConvenienceInitializers": true,
"superclassNames": [
"ObjectiveC.NSObject"
],
"conformances": [
{
"kind": "Conformance",
"name": "Equatable",
"printedName": "Equatable",
"usr": "s:SQ",
"mangledName": "$sSQ"
},
{
"kind": "Conformance",
"name": "Hashable",
"printedName": "Hashable",
"usr": "s:SH",
"mangledName": "$sSH"
},
{
"kind": "Conformance",
"name": "CVarArg",
"printedName": "CVarArg",
"usr": "s:s7CVarArgP",
"mangledName": "$ss7CVarArgP"
},
{
"kind": "Conformance",
"name": "_KeyValueCodingAndObservingPublishing",
"printedName": "_KeyValueCodingAndObservingPublishing",
"usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP",
"mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP"
},
{
"kind": "Conformance",
"name": "_KeyValueCodingAndObserving",
"printedName": "_KeyValueCodingAndObserving",
"usr": "s:10Foundation27_KeyValueCodingAndObservingP",
"mangledName": "$s10Foundation27_KeyValueCodingAndObservingP"
},
{
"kind": "Conformance",
"name": "CustomStringConvertible",
"printedName": "CustomStringConvertible",
"usr": "s:s23CustomStringConvertibleP",
"mangledName": "$ss23CustomStringConvertibleP"
},
{
"kind": "Conformance",
"name": "CustomDebugStringConvertible",
"printedName": "CustomDebugStringConvertible",
"usr": "s:s28CustomDebugStringConvertibleP",
"mangledName": "$ss28CustomDebugStringConvertibleP"
}
]
},
{
"kind": "TypeDecl",
"name": "View",
"printedName": "View",
"children": [
{
"kind": "Function",
"name": "analyticsScreen",
"printedName": "analyticsScreen(name:class:extraParameters:)",
"children": [
{
"kind": "TypeNominal",
"name": "ModifiedContent",
"printedName": "SwiftUI.ModifiedContent<τ_0_0, FirebaseAnalytics.LoggedAnalyticsModifier>",
"children": [
{
"kind": "TypeNominal",
"name": "GenericTypeParam",
"printedName": "τ_0_0"
},
{
"kind": "TypeNominal",
"name": "LoggedAnalyticsModifier",
"printedName": "FirebaseAnalytics.LoggedAnalyticsModifier",
"usr": "s:17FirebaseAnalytics06LoggedB8ModifierV"
}
],
"usr": "s:7SwiftUI15ModifiedContentV"
},
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"hasDefaultArg": true,
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "Dictionary",
"printedName": "[Swift.String : Any]",
"children": [
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "ProtocolComposition",
"printedName": "Any"
}
],
"hasDefaultArg": true,
"usr": "s:SD"
}
],
"declKind": "Func",
"usr": "s:7SwiftUI4ViewP17FirebaseAnalyticsE15analyticsScreen4name5class15extraParametersQrSS_SSSDySSypGtF",
"mangledName": "$s7SwiftUI4ViewP17FirebaseAnalyticsE15analyticsScreen4name5class15extraParametersQrSS_SSSDySSypGtF",
"moduleName": "FirebaseAnalytics",
"genericSig": "<τ_0_0 where τ_0_0 : SwiftUI.View>",
"sugared_genericSig": "<Self where Self : SwiftUI.View>",
"declAttributes": [
"AccessControl",
"RawDocComment"
],
"isFromExtension": true,
"funcSelfKind": "NonMutating"
}
],
"declKind": "Protocol",
"usr": "s:7SwiftUI4ViewP",
"mangledName": "$s7SwiftUI4ViewP",
"moduleName": "SwiftUI",
"genericSig": "<τ_0_0.Body : SwiftUI.View>",
"sugared_genericSig": "<Self.Body : SwiftUI.View>",
"intro_Macosx": "10.15",
"intro_iOS": "13.0",
"intro_tvOS": "13.0",
"intro_watchOS": "6.0",
"declAttributes": [
"TypeEraser",
"Available",
"Available",
"Available",
"Available"
],
"isExternal": true
}
],
"json_format_version": 8
},
"ConstValues": [
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "BooleanLiteral",
"offset": 1259,
"length": 5,
"value": "false"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "BooleanLiteral",
"offset": 1297,
"length": 5,
"value": "false"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2523,
"length": 1,
"value": "0"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2564,
"length": 1,
"value": "1"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2607,
"length": 1,
"value": "2"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2651,
"length": 1,
"value": "3"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2683,
"length": 1,
"value": "0"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+SwiftUI.swift",
"kind": "StringLiteral",
"offset": 2654,
"length": 6,
"value": "\"View\""
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+SwiftUI.swift",
"kind": "Dictionary",
"offset": 2701,
"length": 3,
"value": "[]"
}
]
}

View File

@ -0,0 +1,22 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
// swift-module-flags: -target arm64-apple-ios12.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalytics
// swift-module-flags-ignorable: -enable-bare-slash-regex
@_exported import FirebaseAnalytics
import StoreKit
import Swift
import SwiftUI
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, *)
@available(watchOS, unavailable)
extension FirebaseAnalytics.Analytics {
public static func logTransaction(_ transaction: StoreKit.Transaction)
}
@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
@available(watchOS, unavailable)
extension SwiftUI.View {
public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
}

View File

@ -0,0 +1,22 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
// swift-module-flags: -target arm64-apple-ios12.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalytics
// swift-module-flags-ignorable: -enable-bare-slash-regex
@_exported import FirebaseAnalytics
import StoreKit
import Swift
import SwiftUI
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, *)
@available(watchOS, unavailable)
extension FirebaseAnalytics.Analytics {
public static func logTransaction(_ transaction: StoreKit.Transaction)
}
@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
@available(watchOS, unavailable)
extension SwiftUI.View {
public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
}

View File

@ -0,0 +1,288 @@
{
"ABIRoot": {
"kind": "Root",
"name": "TopLevel",
"printedName": "TopLevel",
"children": [
{
"kind": "Import",
"name": "StoreKit",
"printedName": "StoreKit",
"declKind": "Import",
"moduleName": "FirebaseAnalytics"
},
{
"kind": "Import",
"name": "SwiftUI",
"printedName": "SwiftUI",
"declKind": "Import",
"moduleName": "FirebaseAnalytics"
},
{
"kind": "TypeDecl",
"name": "Analytics",
"printedName": "Analytics",
"children": [
{
"kind": "Function",
"name": "logTransaction",
"printedName": "logTransaction(_:)",
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
},
{
"kind": "TypeNominal",
"name": "Transaction",
"printedName": "StoreKit.Transaction",
"usr": "s:8StoreKit11TransactionV"
}
],
"declKind": "Func",
"usr": "s:So12FIRAnalyticsC17FirebaseAnalyticsE14logTransactionyy8StoreKit0E0VFZ",
"mangledName": "$sSo12FIRAnalyticsC17FirebaseAnalyticsE14logTransactionyy8StoreKit0E0VFZ",
"moduleName": "FirebaseAnalytics",
"static": true,
"declAttributes": [
"Final",
"AccessControl",
"RawDocComment"
],
"isFromExtension": true,
"funcSelfKind": "NonMutating"
}
],
"declKind": "Class",
"usr": "c:objc(cs)FIRAnalytics",
"moduleName": "FirebaseAnalytics",
"isOpen": true,
"objc_name": "FIRAnalytics",
"declAttributes": [
"ObjC",
"Dynamic"
],
"superclassUsr": "c:objc(cs)NSObject",
"isExternal": true,
"inheritsConvenienceInitializers": true,
"superclassNames": [
"ObjectiveC.NSObject"
],
"conformances": [
{
"kind": "Conformance",
"name": "Equatable",
"printedName": "Equatable",
"usr": "s:SQ",
"mangledName": "$sSQ"
},
{
"kind": "Conformance",
"name": "Hashable",
"printedName": "Hashable",
"usr": "s:SH",
"mangledName": "$sSH"
},
{
"kind": "Conformance",
"name": "CVarArg",
"printedName": "CVarArg",
"usr": "s:s7CVarArgP",
"mangledName": "$ss7CVarArgP"
},
{
"kind": "Conformance",
"name": "_KeyValueCodingAndObservingPublishing",
"printedName": "_KeyValueCodingAndObservingPublishing",
"usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP",
"mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP"
},
{
"kind": "Conformance",
"name": "_KeyValueCodingAndObserving",
"printedName": "_KeyValueCodingAndObserving",
"usr": "s:10Foundation27_KeyValueCodingAndObservingP",
"mangledName": "$s10Foundation27_KeyValueCodingAndObservingP"
},
{
"kind": "Conformance",
"name": "CustomStringConvertible",
"printedName": "CustomStringConvertible",
"usr": "s:s23CustomStringConvertibleP",
"mangledName": "$ss23CustomStringConvertibleP"
},
{
"kind": "Conformance",
"name": "CustomDebugStringConvertible",
"printedName": "CustomDebugStringConvertible",
"usr": "s:s28CustomDebugStringConvertibleP",
"mangledName": "$ss28CustomDebugStringConvertibleP"
}
]
},
{
"kind": "TypeDecl",
"name": "View",
"printedName": "View",
"children": [
{
"kind": "Function",
"name": "analyticsScreen",
"printedName": "analyticsScreen(name:class:extraParameters:)",
"children": [
{
"kind": "TypeNominal",
"name": "ModifiedContent",
"printedName": "SwiftUI.ModifiedContent<τ_0_0, FirebaseAnalytics.LoggedAnalyticsModifier>",
"children": [
{
"kind": "TypeNominal",
"name": "GenericTypeParam",
"printedName": "τ_0_0"
},
{
"kind": "TypeNominal",
"name": "LoggedAnalyticsModifier",
"printedName": "FirebaseAnalytics.LoggedAnalyticsModifier",
"usr": "s:17FirebaseAnalytics06LoggedB8ModifierV"
}
],
"usr": "s:7SwiftUI15ModifiedContentV"
},
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"hasDefaultArg": true,
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "Dictionary",
"printedName": "[Swift.String : Any]",
"children": [
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "ProtocolComposition",
"printedName": "Any"
}
],
"hasDefaultArg": true,
"usr": "s:SD"
}
],
"declKind": "Func",
"usr": "s:7SwiftUI4ViewP17FirebaseAnalyticsE15analyticsScreen4name5class15extraParametersQrSS_SSSDySSypGtF",
"mangledName": "$s7SwiftUI4ViewP17FirebaseAnalyticsE15analyticsScreen4name5class15extraParametersQrSS_SSSDySSypGtF",
"moduleName": "FirebaseAnalytics",
"genericSig": "<τ_0_0 where τ_0_0 : SwiftUI.View>",
"sugared_genericSig": "<Self where Self : SwiftUI.View>",
"declAttributes": [
"AccessControl",
"RawDocComment"
],
"isFromExtension": true,
"funcSelfKind": "NonMutating"
}
],
"declKind": "Protocol",
"usr": "s:7SwiftUI4ViewP",
"mangledName": "$s7SwiftUI4ViewP",
"moduleName": "SwiftUI",
"genericSig": "<τ_0_0.Body : SwiftUI.View>",
"sugared_genericSig": "<Self.Body : SwiftUI.View>",
"intro_Macosx": "10.15",
"intro_iOS": "13.0",
"intro_tvOS": "13.0",
"intro_watchOS": "6.0",
"declAttributes": [
"TypeEraser",
"Available",
"Available",
"Available",
"Available"
],
"isExternal": true
}
],
"json_format_version": 8
},
"ConstValues": [
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "BooleanLiteral",
"offset": 1259,
"length": 5,
"value": "false"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "BooleanLiteral",
"offset": 1297,
"length": 5,
"value": "false"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2523,
"length": 1,
"value": "0"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2564,
"length": 1,
"value": "1"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2607,
"length": 1,
"value": "2"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2651,
"length": 1,
"value": "3"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2683,
"length": 1,
"value": "0"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+SwiftUI.swift",
"kind": "StringLiteral",
"offset": 2654,
"length": 6,
"value": "\"View\""
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+SwiftUI.swift",
"kind": "Dictionary",
"offset": 2701,
"length": 3,
"value": "[]"
}
]
}

View File

@ -0,0 +1,22 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
// swift-module-flags: -target x86_64-apple-ios12.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalytics
// swift-module-flags-ignorable: -enable-bare-slash-regex
@_exported import FirebaseAnalytics
import StoreKit
import Swift
import SwiftUI
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, *)
@available(watchOS, unavailable)
extension FirebaseAnalytics.Analytics {
public static func logTransaction(_ transaction: StoreKit.Transaction)
}
@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
@available(watchOS, unavailable)
extension SwiftUI.View {
public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
}

View File

@ -0,0 +1,22 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
// swift-module-flags: -target x86_64-apple-ios12.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalytics
// swift-module-flags-ignorable: -enable-bare-slash-regex
@_exported import FirebaseAnalytics
import StoreKit
import Swift
import SwiftUI
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, *)
@available(watchOS, unavailable)
extension FirebaseAnalytics.Analytics {
public static func logTransaction(_ transaction: StoreKit.Transaction)
}
@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
@available(watchOS, unavailable)
extension SwiftUI.View {
public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
}

View File

@ -0,0 +1,16 @@
framework module FirebaseAnalytics {
umbrella header "FirebaseAnalytics-umbrella.h"
export *
module * { export * }
link framework "Foundation"
link framework "Security"
link framework "SystemConfiguration"
link framework "UIKit"
link "c++"
link "sqlite3"
link "z"
}
module FirebaseAnalytics.Swift {
header "FirebaseAnalytics-Swift.h"
requires objc
}

View File

@ -0,0 +1 @@
Versions/Current/FirebaseAnalytics

View File

@ -0,0 +1,80 @@
#import <Foundation/Foundation.h>
#import "FIRAnalytics.h"
NS_ASSUME_NONNULL_BEGIN
/// 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:)`.
@interface FIRAnalytics (AppDelegate)
/// 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.
///
/// @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:(nullable void (^)(void))completionHandler;
/// 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.
///
/// @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.
///
/// 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](https://developer.apple.com/documentation/xcode/supporting-universal-links-in-your-app) 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.
///
/// @param userActivity The activity object containing the data associated with the task the user
/// was performing.
+ (void)handleUserActivity:(id)userActivity;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,51 @@
#import <Foundation/Foundation.h>
#import "FIRAnalytics.h"
NS_ASSUME_NONNULL_BEGIN
/// The type of consent to set. Supported consent types are `ConsentType.adStorage`,
/// `ConsentType.analyticsStorage`, `ConsentType.adUserData`, and `ConsentType.adPersonalization`.
/// Omitting a type retains its previous status.
typedef NSString *FIRConsentType NS_TYPED_ENUM NS_SWIFT_NAME(ConsentType);
/// Enables storage (such as device identifiers) related to advertising.
extern FIRConsentType const FIRConsentTypeAdStorage;
/// Enables storage (such as app identifiers) related to analytics, e.g. visit duration.
extern FIRConsentType const FIRConsentTypeAnalyticsStorage;
/// Sets consent for sending user data to Google for advertising purposes.
extern FIRConsentType const FIRConsentTypeAdUserData;
/// Sets consent for personalized advertising.
extern FIRConsentType const FIRConsentTypeAdPersonalization;
/// The status value of the consent type. Supported statuses are `ConsentStatus.granted` and
/// `ConsentStatus.denied`.
typedef NSString *FIRConsentStatus NS_TYPED_ENUM NS_SWIFT_NAME(ConsentStatus);
/// Consent status indicating consent is denied. For an overview of which data is sent when consent
/// is denied, see [SDK behavior with consent
/// mode](https://developers.google.com/tag-platform/security/concepts/consent-mode#tag-behavior).
extern FIRConsentStatus const FIRConsentStatusDenied;
/// Consent status indicating consent is granted.
extern FIRConsentStatus const FIRConsentStatusGranted;
/// Sets the applicable end user consent state.
@interface FIRAnalytics (Consent)
/// Sets the applicable end user consent state (e.g. for device identifiers) for this app on this
/// device. Use the consent settings to specify individual consent type values. Settings are
/// persisted across app sessions. By default consent types are set to `ConsentStatus.granted`.
///
/// @param consentSettings A Dictionary of consent types. Supported consent type keys are
/// `ConsentType.adStorage`, `ConsentType.analyticsStorage`, `ConsentType.adUserData`, and
/// `ConsentType.adPersonalization`. Valid values are `ConsentStatus.granted` and
/// `ConsentStatus.denied`.
+ (void)setConsent:(NSDictionary<FIRConsentType, FIRConsentStatus> *)consentSettings;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,44 @@
#import <Foundation/Foundation.h>
#import "FIRAnalytics.h"
NS_ASSUME_NONNULL_BEGIN
API_UNAVAILABLE(macCatalyst, macos, tvos, watchos)
@interface FIRAnalytics (OnDevice)
/// Initiates on-device conversion measurement given a user email address. Requires dependency
/// GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
/// @param emailAddress User email address. Include a domain name for all email addresses
/// (e.g. gmail.com or hotmail.co.jp).
+ (void)initiateOnDeviceConversionMeasurementWithEmailAddress:(NSString *)emailAddress
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(emailAddress:));
/// Initiates on-device conversion measurement given a phone number in E.164 format. Requires
/// dependency GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
/// @param phoneNumber User phone number. Must be in E.164 format, which means it must be
/// limited to a maximum of 15 digits and must include a plus sign (+) prefix and country code
/// with no dashes, parentheses, or spaces.
+ (void)initiateOnDeviceConversionMeasurementWithPhoneNumber:(NSString *)phoneNumber
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(phoneNumber:));
/// Initiates on-device conversion measurement given a sha256-hashed user email address. Requires
/// dependency GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
/// @param hashedEmailAddress User email address as a UTF8-encoded string normalized and hashed
/// according to the instructions at
/// https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3.
+ (void)initiateOnDeviceConversionMeasurementWithHashedEmailAddress:(NSData *)hashedEmailAddress
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(hashedEmailAddress:));
/// Initiates on-device conversion measurement given a sha256-hashed phone number in E.164 format.
/// Requires dependency GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a
/// no-op.
/// @param hashedPhoneNumber UTF8-encoded user phone number in E.164 format and then hashed
/// according to the instructions at
/// https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3.
+ (void)initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:(NSData *)hashedPhoneNumber
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(hashedPhoneNumber:));
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,155 @@
#import <Foundation/Foundation.h>
#import "FIREventNames.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"
NS_ASSUME_NONNULL_BEGIN
/// The top level Firebase Analytics singleton that provides methods for logging events and setting
/// user properties. See <a href="http://goo.gl/gz8SLz">the developer guides</a> for general
/// information on using Firebase Analytics in your apps.
///
/// @note The Analytics SDK uses SQLite to persist events and other app-specific data. Calling
/// certain thread-unsafe global SQLite methods like `sqlite3_shutdown()` can result in
/// unexpected crashes at runtime.
NS_SWIFT_NAME(Analytics)
@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>ad_activeview</li>
/// <li>ad_click</li>
/// <li>ad_exposure</li>
/// <li>ad_query</li>
/// <li>ad_reward</li>
/// <li>adunit_exposure</li>
/// <li>app_clear_data</li>
/// <li>app_exception</li>
/// <li>app_remove</li>
/// <li>app_store_refund</li>
/// <li>app_store_subscription_cancel</li>
/// <li>app_store_subscription_convert</li>
/// <li>app_store_subscription_renew</li>
/// <li>app_update</li>
/// <li>app_upgrade</li>
/// <li>dynamic_link_app_open</li>
/// <li>dynamic_link_app_update</li>
/// <li>dynamic_link_first_open</li>
/// <li>error</li>
/// <li>firebase_campaign</li>
/// <li>first_open</li>
/// <li>first_visit</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>session_start_with_rollout</li>
/// <li>user_engagement</li>
/// </ul>
///
/// @param name The name of the event. Should contain 1 to 40 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_",
/// "google_", and "ga_" prefixes are 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. To manually log screen view events, use the `screen_view` event name.
/// @param parameters The dictionary of event parameters. Passing `nil` indicates that the event has
/// no parameters. Parameter names can be up to 40 characters long and must start with an
/// alphabetic character and contain only alphanumeric characters and underscores. Only String,
/// Int, and Double parameter types are supported. String parameter values can be up to 100
/// characters long for standard Google Analytics properties, and up to 500 characters long for
/// Google Analytics 360 properties. The "firebase_", "google_", and "ga_" prefixes are reserved
/// and should not be used for parameter names.
+ (void)logEventWithName:(NSString *)name
parameters:(nullable NSDictionary<NSString *, id> *)parameters
NS_SWIFT_NAME(logEvent(_:parameters:));
/// Sets a user property to a given value. Up to 25 user property names are supported. Once set,
/// user property values persist throughout the app lifecycle and across sessions.
///
/// 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_", "google_", and
/// "ga_" prefixes are reserved and should not be used for user property names.
+ (void)setUserPropertyString:(nullable NSString *)value forName:(NSString *)name
NS_SWIFT_NAME(setUserProperty(_:forName:));
/// 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 256 characters long. Setting userID to `nil` removes the user ID.
+ (void)setUserID:(nullable NSString *)userID;
/// Sets whether analytics collection is enabled for this app on this device. This setting is
/// persisted across app sessions. By default it is enabled.
///
/// @param analyticsCollectionEnabled A flag that enables or disables Analytics collection.
+ (void)setAnalyticsCollectionEnabled:(BOOL)analyticsCollectionEnabled;
/// Sets the interval of inactivity in seconds that terminates the current session. The default
/// value is 1800 seconds (30 minutes).
///
/// @param sessionTimeoutInterval The custom time of inactivity in seconds before the current
/// session terminates.
+ (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval;
/// Asynchronously retrieves the identifier of the current app session.
///
/// The session ID retrieval could fail due to Analytics collection disabled, app session expired,
/// etc.
///
/// @param completion The completion handler to call when the session ID retrieval is complete. This
/// handler is executed on a system-defined global concurrent queue.
/// This completion handler takes the following parameters:
/// <b>sessionID</b> The identifier of the current app session. The value is undefined if the
/// request failed.
/// <b>error</b> An error object that indicates why the request failed, or `nil` if the request
/// was successful.
+ (void)sessionIDWithCompletion:(void (^)(int64_t sessionID, NSError *_Nullable error))completion;
/// Returns the unique ID for this instance of the application or `nil` if
/// `ConsentType.analyticsStorage` has been set to `ConsentStatus.denied`.
///
/// @see `FIRAnalytics+Consent.h`
+ (nullable NSString *)appInstanceID;
/// Clears all analytics data for this instance from the device and resets the app instance ID.
+ (void)resetAnalyticsData;
/// Adds parameters that will be set on every event logged from the SDK, including automatic ones.
/// The values passed in the parameters dictionary will be added to the dictionary of default event
/// parameters. These parameters persist across app runs. They are of lower precedence than event
/// parameters, so if an event parameter and a parameter set using this API have the same name, the
/// value of the event parameter will be used. The same limitations on event parameters apply to
/// default event parameters.
///
/// @param parameters Parameters to be added to the dictionary of parameters added to every event.
/// They will be added to the dictionary of default event parameters, replacing any existing
/// parameter with the same name. Valid parameters are String, Int, and Double. Setting a key's
/// value to `NSNull()` will clear that parameter. Passing in a `nil` dictionary will clear all
/// parameters.
+ (void)setDefaultEventParameters:(nullable NSDictionary<NSString *, id> *)parameters;
/// Unavailable.
- (instancetype)init NS_UNAVAILABLE;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,418 @@
/// @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 40 characters long, may only contain alphanumeric
/// characters and underscores ("_"), and must start with an alphabetic character. The "firebase_",
/// "google_", and "ga_" prefixes are reserved and should not be used.
#import <Foundation/Foundation.h>
/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
/// the @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
/// parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterAdPlatform (String) (optional)</li>
/// <li>@c AnalyticsParameterAdFormat (String) (optional)</li>
/// <li>@c AnalyticsParameterAdSource (String) (optional)</li>
/// <li>@c AnalyticsParameterAdUnitName (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
@"ad_impression";
/// Add Payment Info event. This event signifies that a user has submitted their payment
/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
/// Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterPaymentType (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAddPaymentInfo NS_SWIFT_NAME(AnalyticsEventAddPaymentInfo) =
@"add_payment_info";
/// Add Shipping Info event. This event signifies that a user has submitted their shipping
/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
/// Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterShippingTier (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
@"add_shipping_info";
/// E-Commerce Add To Cart event. This event signifies that an item(s) was added to a cart for
/// purchase. Add this event to a funnel with @c AnalyticsEventPurchase to gauge the effectiveness
/// of your checkout process. Note: If you supply the @c AnalyticsParameterValue parameter, you must
/// also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
/// accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAddToCart NS_SWIFT_NAME(AnalyticsEventAddToCart) = @"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. Note: If you supply the @c AnalyticsParameterValue
/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
/// metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventAddToWishlist NS_SWIFT_NAME(AnalyticsEventAddToWishlist) =
@"add_to_wishlist";
/// App Open event. By logging this event when an App becomes active, 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 NS_SWIFT_NAME(AnalyticsEventAppOpen) = @"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 @c AnalyticsEventPurchase event to gauge the
/// effectiveness of your checkout process. Note: If you supply the @c AnalyticsParameterValue
/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
/// metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventBeginCheckout NS_SWIFT_NAME(AnalyticsEventBeginCheckout) =
@"begin_checkout";
/// Campaign Detail event. Log this event to supply the referral details of a re-engagement
/// campaign. Note: you must supply at least one of the required parameters
/// AnalyticsParameterSource, AnalyticsParameterMedium or AnalyticsParameterCampaign. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterSource (String)</li>
/// <li>@c AnalyticsParameterMedium (String)</li>
/// <li>@c AnalyticsParameterCampaign (String)</li>
/// <li>@c AnalyticsParameterTerm (String) (optional)</li>
/// <li>@c AnalyticsParameterContent (String) (optional)</li>
/// <li>@c AnalyticsParameterAdNetworkClickID (String) (optional)</li>
/// <li>@c AnalyticsParameterCP1 (String) (optional)</li>
/// <li>@c AnalyticsParameterCampaignID (String) (optional)</li>
/// <li>@c AnalyticsParameterCreativeFormat (String) (optional)</li>
/// <li>@c AnalyticsParameterMarketingTactic (String) (optional)</li>
/// <li>@c AnalyticsParameterSourcePlatform (String) (optional)</li>
/// </ul>
static NSString *const kFIREventCampaignDetails NS_SWIFT_NAME(AnalyticsEventCampaignDetails) =
@"campaign_details";
/// Earn Virtual Currency event. This event tracks the awarding of virtual currency in your app. Log
/// this along with @c AnalyticsEventSpendVirtualCurrency to better understand your virtual economy.
/// Params:
///
/// <ul>
/// <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
/// <li>@c AnalyticsParameterValue (Int or Double)</li>
/// </ul>
static NSString *const kFIREventEarnVirtualCurrency
NS_SWIFT_NAME(AnalyticsEventEarnVirtualCurrency) = @"earn_virtual_currency";
/// 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
/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
/// parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventGenerateLead NS_SWIFT_NAME(AnalyticsEventGenerateLead) =
@"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>@c AnalyticsParameterGroupID (String)</li>
/// </ul>
static NSString *const kFIREventJoinGroup NS_SWIFT_NAME(AnalyticsEventJoinGroup) = @"join_group";
/// Level End event. Log this event when the user finishes a level. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterLevelName (String)</li>
/// <li>@c AnalyticsParameterSuccess (String)</li>
/// </ul>
static NSString *const kFIREventLevelEnd NS_SWIFT_NAME(AnalyticsEventLevelEnd) = @"level_end";
/// Level Start event. Log this event when the user starts a new level. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterLevelName (String)</li>
/// </ul>
static NSString *const kFIREventLevelStart NS_SWIFT_NAME(AnalyticsEventLevelStart) = @"level_start";
/// 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>@c AnalyticsParameterLevel (Int)</li>
/// <li>@c AnalyticsParameterCharacter (String) (optional)</li>
/// </ul>
static NSString *const kFIREventLevelUp NS_SWIFT_NAME(AnalyticsEventLevelUp) = @"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 NS_SWIFT_NAME(AnalyticsEventLogin) = @"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>@c AnalyticsParameterScore (Int)</li>
/// <li>@c AnalyticsParameterLevel (Int) (optional)</li>
/// <li>@c AnalyticsParameterCharacter (String) (optional)</li>
/// </ul>
static NSString *const kFIREventPostScore NS_SWIFT_NAME(AnalyticsEventPostScore) = @"post_score";
/// E-Commerce Purchase event. This event signifies that an item(s) 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 @c AnalyticsParameterValue parameter, you must also
/// supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
/// accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterEndDate (String) (optional)</li>
/// <li>@c AnalyticsParameterItemID (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterShipping (Double) (optional)</li>
/// <li>@c AnalyticsParameterStartDate (String) (optional)</li>
/// <li>@c AnalyticsParameterTax (Double) (optional)</li>
/// <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
/// parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterShipping (Double) (optional)</li>
/// <li>@c AnalyticsParameterTax (Double) (optional)</li>
/// <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
/// E-Commerce Remove from Cart event. This event signifies that an item(s) was removed from a cart.
/// Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply the @c
/// AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventRemoveFromCart NS_SWIFT_NAME(AnalyticsEventRemoveFromCart) =
@"remove_from_cart";
/// Screen View event. This event signifies a screen view. Use this when a screen transition occurs.
/// This event can be logged irrespective of whether automatic screen tracking is enabled. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterScreenClass (String) (optional)</li>
/// <li>@c AnalyticsParameterScreenName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventScreenView NS_SWIFT_NAME(AnalyticsEventScreenView) = @"screen_view";
/// 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>@c AnalyticsParameterSearchTerm (String)</li>
/// <li>@c AnalyticsParameterStartDate (String) (optional)</li>
/// <li>@c AnalyticsParameterEndDate (String) (optional)</li>
/// <li>@c AnalyticsParameterNumberOfNights (Int) (optional) for hotel bookings</li>
/// <li>@c AnalyticsParameterNumberOfRooms (Int) (optional) for hotel bookings</li>
/// <li>@c AnalyticsParameterNumberOfPassengers (Int) (optional) for travel bookings</li>
/// <li>@c AnalyticsParameterOrigin (String) (optional)</li>
/// <li>@c AnalyticsParameterDestination (String) (optional)</li>
/// <li>@c AnalyticsParameterTravelClass (String) (optional) for travel bookings</li>
/// </ul>
static NSString *const kFIREventSearch NS_SWIFT_NAME(AnalyticsEventSearch) = @"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>@c AnalyticsParameterContentType (String)</li>
/// <li>@c AnalyticsParameterItemID (String)</li>
/// </ul>
static NSString *const kFIREventSelectContent NS_SWIFT_NAME(AnalyticsEventSelectContent) =
@"select_content";
/// Select Item event. This event signifies that an item was selected by a user from a list. Use the
/// appropriate parameters to contextualize the event. Use this event to discover the most popular
/// items selected. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterItemListID (String) (optional)</li>
/// <li>@c AnalyticsParameterItemListName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventSelectItem NS_SWIFT_NAME(AnalyticsEventSelectItem) = @"select_item";
/// Select promotion event. This event signifies that a user has selected a promotion offer. Use the
/// appropriate parameters to contextualize the event, such as the item(s) for which the promotion
/// applies. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
/// <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterLocationID (String) (optional)</li>
/// <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
/// <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventSelectPromotion NS_SWIFT_NAME(AnalyticsEventSelectPromotion) =
@"select_promotion";
/// Share event. Apps with social features can log the Share event to identify the most viral
/// content. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterContentType (String)</li>
/// <li>@c AnalyticsParameterItemID (String)</li>
/// </ul>
static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"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>@c AnalyticsParameterMethod (String)</li>
/// </ul>
static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"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>@c AnalyticsParameterItemName (String)</li>
/// <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
/// <li>@c AnalyticsParameterValue (Int or Double)</li>
/// </ul>
static NSString *const kFIREventSpendVirtualCurrency
NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"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 @c AnalyticsEventTutorialComplete to understand how many users complete
/// this process and move on to the full app experience.
static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
@"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 @c AnalyticsEventTutorialBegin to gauge the completion rate
/// of your on-boarding process.
static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
@"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>@c AnalyticsParameterAchievementID (String)</li>
/// </ul>
static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
@"unlock_achievement";
/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
/// analyze your purchase funnel. Note: If you supply the @c AnalyticsParameterValue parameter, you
/// must also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be
/// computed accurately. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventViewCart NS_SWIFT_NAME(AnalyticsEventViewCart) = @"view_cart";
/// View Item event. This event signifies that a user has viewed an item. 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 @c AnalyticsParameterValue parameter, you must also supply
/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
/// Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
/// </ul>
static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterItemListID (String) (optional)</li>
/// <li>@c AnalyticsParameterItemListName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
@"view_item_list";
/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
/// to a funnel with the @c AnalyticsEventAddToCart and @c AnalyticsEventPurchase to gauge your
/// conversion process. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
/// <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
/// <li>@c AnalyticsParameterLocationID (String) (optional)</li>
/// <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
/// <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
/// </ul>
static NSString *const kFIREventViewPromotion NS_SWIFT_NAME(AnalyticsEventViewPromotion) =
@"view_promotion";
/// View Search Results event. Log this event when the user has been presented with the results of a
/// search. Params:
///
/// <ul>
/// <li>@c AnalyticsParameterSearchTerm (String)</li>
/// </ul>
static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
@"view_search_results";

View File

@ -0,0 +1,722 @@
/// @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 40 characters long, may only contain alphanumeric
/// characters and underscores ("_"), and must start with an alphabetic character. Param values can
/// be up to 100 characters long for standard Google Analytics properties and up to 500 characters
/// long for Google Analytics 360 properties. The "firebase_", "google_", and "ga_" prefixes are
/// reserved and should not be used.
#import <Foundation/Foundation.h>
/// Game achievement ID (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAchievementID : "10_matches_won",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAchievementID NS_SWIFT_NAME(AnalyticsParameterAchievementID) =
@"achievement_id";
/// The ad format (e.g. Banner, Interstitial, Rewarded, Native, Rewarded Interstitial, Instream).
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAdFormat : "Banner",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdFormat NS_SWIFT_NAME(AnalyticsParameterAdFormat) =
@"ad_format";
/// Ad Network Click ID (String). Used for network-specific click IDs which vary in format.
/// <pre>
/// let params = [
/// AnalyticsParameterAdNetworkClickID : "1234567",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdNetworkClickID
NS_SWIFT_NAME(AnalyticsParameterAdNetworkClickID) = @"aclid";
/// The ad platform (e.g. MoPub, IronSource) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAdPlatform : "MoPub",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdPlatform NS_SWIFT_NAME(AnalyticsParameterAdPlatform) =
@"ad_platform";
/// The ad source (e.g. AdColony) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAdSource : "AdColony",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdSource NS_SWIFT_NAME(AnalyticsParameterAdSource) =
@"ad_source";
/// The ad unit name (e.g. Banner_03) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterAdUnitName : "Banner_03",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAdUnitName NS_SWIFT_NAME(AnalyticsParameterAdUnitName) =
@"ad_unit_name";
/// A product affiliation to designate a supplying company or brick and mortar store location
/// (String). <pre>
/// let params = [
/// AnalyticsParameterAffiliation : "Google Store",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterAffiliation NS_SWIFT_NAME(AnalyticsParameterAffiliation) =
@"affiliation";
/// Campaign custom parameter (String). Used as a method of capturing custom data in a campaign.
/// Use varies by network.
/// <pre>
/// let params = [
/// AnalyticsParameterCP1 : "custom_data",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
/// The individual campaign name, slogan, promo code, etc. Some networks have pre-defined macro to
/// capture campaign information, otherwise can be populated by developer. Highly Recommended
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCampaign : "winter_promotion",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCampaign NS_SWIFT_NAME(AnalyticsParameterCampaign) =
@"campaign";
/// Campaign ID (String). Used for keyword analysis to identify a specific product promotion or
/// strategic campaign. This is a required key for GA4 data import.
/// <pre>
/// let params = [
/// AnalyticsParameterCampaignID : "7877652710",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCampaignID NS_SWIFT_NAME(AnalyticsParameterCampaignID) =
@"campaign_id";
/// Character used in game (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCharacter : "beat_boss",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCharacter NS_SWIFT_NAME(AnalyticsParameterCharacter) =
@"character";
/// Campaign content (String).
static NSString *const kFIRParameterContent NS_SWIFT_NAME(AnalyticsParameterContent) = @"content";
/// Type of content selected (String).
/// <pre>
/// let params = [
/// AnalyticsParameterContentType : "news article",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterContentType NS_SWIFT_NAME(AnalyticsParameterContentType) =
@"content_type";
/// Coupon code used for a purchase (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCoupon : "SUMMER_FUN",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCoupon NS_SWIFT_NAME(AnalyticsParameterCoupon) = @"coupon";
/// Creative Format (String). Used to identify the high-level classification of the type of ad
/// served by a specific campaign.
/// <pre>
/// let params = [
/// AnalyticsParameterCreativeFormat : "display",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCreativeFormat NS_SWIFT_NAME(AnalyticsParameterCreativeFormat) =
@"creative_format";
/// The name of a creative used in a promotional spot (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCreativeName : "Summer Sale",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCreativeName NS_SWIFT_NAME(AnalyticsParameterCreativeName) =
@"creative_name";
/// The name of a creative slot (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCreativeSlot : "summer_banner2",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCreativeSlot NS_SWIFT_NAME(AnalyticsParameterCreativeSlot) =
@"creative_slot";
/// Currency of the purchase or items associated with the event, in 3-letter
/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (String).
/// <pre>
/// let params = [
/// AnalyticsParameterCurrency : "USD",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterCurrency NS_SWIFT_NAME(AnalyticsParameterCurrency) =
@"currency";
/// Flight or Travel destination (String).
/// <pre>
/// let params = [
/// AnalyticsParameterDestination : "Mountain View, CA",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterDestination NS_SWIFT_NAME(AnalyticsParameterDestination) =
@"destination";
/// Monetary value of discount associated with a purchase (Double).
/// <pre>
/// let params = [
/// AnalyticsParameterDiscount : 2.0,
/// AnalyticsParameterCurrency : "USD", // e.g. $2.00 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
@"discount";
/// The arrival date, check-out date or rental end date for the item. This should be in
/// YYYY-MM-DD format (String).
/// <pre>
/// let params = [
/// AnalyticsParameterEndDate : "2015-09-14",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterEndDate NS_SWIFT_NAME(AnalyticsParameterEndDate) = @"end_date";
/// Indicates that the associated event should either extend the current session or start a new
/// session if no session was active when the event was logged. Specify 1 to extend the current
/// session or to start a new session; any other value will not extend or start a session.
/// <pre>
/// let params = [
/// AnalyticsParameterExtendSession : 1,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
@"extend_session";
/// Flight number for travel events (String).
/// <pre>
/// let params = [
/// AnalyticsParameterFlightNumber : "ZZ800",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterFlightNumber NS_SWIFT_NAME(AnalyticsParameterFlightNumber) =
@"flight_number";
/// Group/clan/guild ID (String).
/// <pre>
/// let params = [
/// AnalyticsParameterGroupID : "g1",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterGroupID NS_SWIFT_NAME(AnalyticsParameterGroupID) = @"group_id";
/// The index of the item in a list (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterIndex : 5,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterIndex NS_SWIFT_NAME(AnalyticsParameterIndex) = @"index";
/// Item brand (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemBrand : "Google",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemBrand NS_SWIFT_NAME(AnalyticsParameterItemBrand) =
@"item_brand";
/// Item category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory NS_SWIFT_NAME(AnalyticsParameterItemCategory) =
@"item_category";
/// Item Category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory2 : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
@"item_category2";
/// Item Category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory3 : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
@"item_category3";
/// Item Category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory4 : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
@"item_category4";
/// Item Category (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemCategory5 : "pants",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
@"item_category5";
/// Item ID (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemID : "SKU_12345",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemID NS_SWIFT_NAME(AnalyticsParameterItemID) = @"item_id";
/// The ID of the list in which the item was presented to the user (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemListID : "ABC123",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
@"item_list_id";
/// The name of the list in which the item was presented to the user (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemListName : "Related products",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
@"item_list_name";
/// Item Name (context-specific) (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemName : "jeggings",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemName NS_SWIFT_NAME(AnalyticsParameterItemName) =
@"item_name";
/// Item variant (String).
/// <pre>
/// let params = [
/// AnalyticsParameterItemVariant : "Black",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterItemVariant NS_SWIFT_NAME(AnalyticsParameterItemVariant) =
@"item_variant";
/// The list of items involved in the transaction expressed as `[[String: Any]]`.
/// <pre>
/// let params = [
/// AnalyticsParameterItems : [
/// [AnalyticsParameterItemName : "jeggings", AnalyticsParameterItemCategory : "pants"],
/// [AnalyticsParameterItemName : "boots", AnalyticsParameterItemCategory : "shoes"],
/// ],
/// ]
/// </pre>
static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
/// Level in game (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterLevel : 42,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterLevel NS_SWIFT_NAME(AnalyticsParameterLevel) = @"level";
/// The name of a level in a game (String).
/// <pre>
/// let params = [
/// AnalyticsParameterLevelName : "room_1",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
@"level_name";
/// Location (String). 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>
/// let params = [
/// AnalyticsParameterLocation : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterLocation NS_SWIFT_NAME(AnalyticsParameterLocation) =
@"location";
/// The location associated with the event. Preferred to be the Google
/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
/// associated item but could be overridden to a custom location ID string.(String).
/// <pre>
/// let params = [
/// AnalyticsParameterLocationID : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
@"location_id";
/// Marketing Tactic (String). Used to identify the targeting criteria applied to a specific
/// campaign.
/// <pre>
/// let params = [
/// AnalyticsParameterMarketingTactic : "Remarketing",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterMarketingTactic
NS_SWIFT_NAME(AnalyticsParameterMarketingTactic) = @"marketing_tactic";
/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterMedium : "email",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterMedium NS_SWIFT_NAME(AnalyticsParameterMedium) = @"medium";
/// A particular approach used in an operation; for example, "facebook" or "email" in the context
/// of a sign_up or login event. (String).
/// <pre>
/// let params = [
/// AnalyticsParameterMethod : "google",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
/// Number of nights staying at hotel (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterNumberOfNights : 3,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterNumberOfNights
NS_SWIFT_NAME(AnalyticsParameterNumberOfNights) = @"number_of_nights";
/// Number of passengers traveling (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterNumberOfPassengers : 11,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterNumberOfPassengers
NS_SWIFT_NAME(AnalyticsParameterNumberOfPassengers) = @"number_of_passengers";
/// Number of rooms for travel events (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterNumberOfRooms : 2,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterNumberOfRooms NS_SWIFT_NAME(AnalyticsParameterNumberOfRooms) =
@"number_of_rooms";
/// Flight or Travel origin (String).
/// <pre>
/// let params = [
/// AnalyticsParameterOrigin : "Mountain View, CA",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterOrigin NS_SWIFT_NAME(AnalyticsParameterOrigin) = @"origin";
/// The chosen method of payment (String).
/// <pre>
/// let params = [
/// AnalyticsParameterPaymentType : "Visa",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
@"payment_type";
/// Purchase price (Double).
/// <pre>
/// let params = [
/// AnalyticsParameterPrice : 1.0,
/// AnalyticsParameterCurrency : "USD", // e.g. $1.00 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterPrice NS_SWIFT_NAME(AnalyticsParameterPrice) = @"price";
/// The ID of a product promotion (String).
/// <pre>
/// let params = [
/// AnalyticsParameterPromotionID : "ABC123",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
@"promotion_id";
/// The name of a product promotion (String).
/// <pre>
/// let params = [
/// AnalyticsParameterPromotionName : "Summer Sale",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
@"promotion_name";
/// Purchase quantity (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterQuantity : 1,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterQuantity NS_SWIFT_NAME(AnalyticsParameterQuantity) =
@"quantity";
/// Score in game (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterScore : 4200,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterScore NS_SWIFT_NAME(AnalyticsParameterScore) = @"score";
/// Current screen class, such as the class name of the UIViewController, logged with screen_view
/// event and added to every event (String).
/// <pre>
/// let params = [
/// AnalyticsParameterScreenClass : "LoginViewController",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterScreenClass NS_SWIFT_NAME(AnalyticsParameterScreenClass) =
@"screen_class";
/// Current screen name, such as the name of the UIViewController, logged with screen_view event and
/// added to every event (String).
/// <pre>
/// let params = [
/// AnalyticsParameterScreenName : "LoginView",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterScreenName NS_SWIFT_NAME(AnalyticsParameterScreenName) =
@"screen_name";
/// The search string/keywords used (String).
/// <pre>
/// let params = [
/// AnalyticsParameterSearchTerm : "periodic table",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterSearchTerm NS_SWIFT_NAME(AnalyticsParameterSearchTerm) =
@"search_term";
/// Shipping cost associated with a transaction (Double).
/// <pre>
/// let params = [
/// AnalyticsParameterShipping : 5.99,
/// AnalyticsParameterCurrency : "USD", // e.g. $5.99 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterShipping NS_SWIFT_NAME(AnalyticsParameterShipping) =
@"shipping";
/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterShippingTier : "Ground",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
@"shipping_tier";
/// The origin of your traffic, such as an Ad network (for example, google) or partner (urban
/// airship). Identify the advertiser, site, publication, etc. that is sending traffic to your
/// property. Highly recommended (String).
/// <pre>
/// let params = [
/// AnalyticsParameterSource : "InMobi",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterSource NS_SWIFT_NAME(AnalyticsParameterSource) = @"source";
/// Source Platform (String). Used to identify the platform responsible for directing traffic to a
/// given Analytics property (e.g., a buying platform where budgets, targeting criteria, etc. are
/// set, a platform for managing organic traffic data, etc.).
/// <pre>
/// let params = [
/// AnalyticsParameterSourcePlatform : "sa360",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterSourcePlatform NS_SWIFT_NAME(AnalyticsParameterSourcePlatform) =
@"source_platform";
/// The departure date, check-in date or rental start date for the item. This should be in
/// YYYY-MM-DD format (String).
/// <pre>
/// let params = [
/// AnalyticsParameterStartDate : "2015-09-14",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterStartDate NS_SWIFT_NAME(AnalyticsParameterStartDate) =
@"start_date";
/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (Int).
/// <pre>
/// let params = [
/// AnalyticsParameterSuccess : 1,
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
/// Tax cost associated with a transaction (Double).
/// <pre>
/// let params = [
/// AnalyticsParameterTax : 2.43,
/// AnalyticsParameterCurrency : "USD", // e.g. $2.43 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterTax NS_SWIFT_NAME(AnalyticsParameterTax) = @"tax";
/// If you're manually tagging keyword campaigns, you should use utm_term to specify the keyword
/// (String).
/// <pre>
/// let params = [
/// AnalyticsParameterTerm : "game",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterTerm NS_SWIFT_NAME(AnalyticsParameterTerm) = @"term";
/// The unique identifier of a transaction (String).
/// <pre>
/// let params = [
/// AnalyticsParameterTransactionID : "T12345",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterTransactionID NS_SWIFT_NAME(AnalyticsParameterTransactionID) =
@"transaction_id";
/// Travel class (String).
/// <pre>
/// let params = [
/// AnalyticsParameterTravelClass : "business",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterTravelClass NS_SWIFT_NAME(AnalyticsParameterTravelClass) =
@"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 Int or
/// Double.
/// Notes: Values for pre-defined currency-related events (such as @c AnalyticsEventAddToCart)
/// should be supplied using Double and must be accompanied by a @c AnalyticsParameterCurrency
/// parameter. The valid range of accumulated values is
/// [-9,223,372,036,854.77, 9,223,372,036,854.77]. Supplying a non-numeric value, omitting the
/// corresponding @c AnalyticsParameterCurrency parameter, or supplying an invalid
/// <a href="https://goo.gl/qqX3J2">currency code</a> for conversion events will cause that
/// conversion to be omitted from reporting.
/// <pre>
/// let params = [
/// AnalyticsParameterValue : 3.99,
/// AnalyticsParameterCurrency : "USD", // e.g. $3.99 USD
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterValue NS_SWIFT_NAME(AnalyticsParameterValue) = @"value";
/// Name of virtual currency type (String).
/// <pre>
/// let params = [
/// AnalyticsParameterVirtualCurrencyName : "virtual_currency_name",
/// // ...
/// ]
/// </pre>
static NSString *const kFIRParameterVirtualCurrencyName
NS_SWIFT_NAME(AnalyticsParameterVirtualCurrencyName) = @"virtual_currency_name";

View File

@ -0,0 +1,28 @@
/// @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_", "google_", and "ga_" prefixes are reserved and should not
/// be used.
#import <Foundation/Foundation.h>
/// Indicates whether events logged by Google Analytics can be used to personalize ads for the user.
/// Set to "YES" to enable, or "NO" to disable. Default is enabled. See the
/// <a href="https://firebase.google.com/support/guides/disable-analytics">documentation</a> for
/// more details and information about related settings.
///
/// <pre>
/// Analytics.setUserProperty("NO", forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)
/// </pre>
static NSString *const kFIRUserPropertyAllowAdPersonalizationSignals
NS_SWIFT_NAME(AnalyticsUserPropertyAllowAdPersonalizationSignals) = @"allow_personalized_ads";
/// The method used to sign in. For example, "google", "facebook" or "twitter".
static NSString *const kFIRUserPropertySignUpMethod
NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";

View File

@ -0,0 +1,620 @@
#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
#ifndef FIREBASEANALYTICS_SWIFT_H
#define FIREBASEANALYTICS_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#if defined(__OBJC__)
#include <Foundation/Foundation.h>
#endif
#if defined(__cplusplus)
#include <cstdint>
#include <cstddef>
#include <cstdbool>
#include <cstring>
#include <stdlib.h>
#include <new>
#include <type_traits>
#else
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include <string.h>
#endif
#if defined(__cplusplus)
#if defined(__arm64e__) && __has_include(<ptrauth.h>)
# include <ptrauth.h>
#else
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
# ifndef __ptrauth_swift_value_witness_function_pointer
# define __ptrauth_swift_value_witness_function_pointer(x)
# endif
# ifndef __ptrauth_swift_class_method_pointer
# define __ptrauth_swift_class_method_pointer(x)
# endif
#pragma clang diagnostic pop
#endif
#endif
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if !defined(SWIFT_RUNTIME_NAME)
# if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
# else
# define SWIFT_RUNTIME_NAME(X)
# endif
#endif
#if !defined(SWIFT_COMPILE_NAME)
# if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
# else
# define SWIFT_COMPILE_NAME(X)
# endif
#endif
#if !defined(SWIFT_METHOD_FAMILY)
# if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
# else
# define SWIFT_METHOD_FAMILY(X)
# endif
#endif
#if !defined(SWIFT_NOESCAPE)
# if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
# else
# define SWIFT_NOESCAPE
# endif
#endif
#if !defined(SWIFT_RELEASES_ARGUMENT)
# if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
# else
# define SWIFT_RELEASES_ARGUMENT
# endif
#endif
#if !defined(SWIFT_WARN_UNUSED_RESULT)
# if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
# else
# define SWIFT_WARN_UNUSED_RESULT
# endif
#endif
#if !defined(SWIFT_NORETURN)
# if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
# else
# define SWIFT_NORETURN
# endif
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
# define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if !defined(SWIFT_DEPRECATED_OBJC)
# if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
# else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
# endif
#endif
#if defined(__OBJC__)
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#endif
#if !defined(SWIFT_EXTERN)
# if defined(__cplusplus)
# define SWIFT_EXTERN extern "C"
# else
# define SWIFT_EXTERN extern
# endif
#endif
#if !defined(SWIFT_CALL)
# define SWIFT_CALL __attribute__((swiftcall))
#endif
#if !defined(SWIFT_INDIRECT_RESULT)
# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
#endif
#if !defined(SWIFT_CONTEXT)
# define SWIFT_CONTEXT __attribute__((swift_context))
#endif
#if !defined(SWIFT_ERROR_RESULT)
# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
#endif
#if defined(__cplusplus)
# define SWIFT_NOEXCEPT noexcept
#else
# define SWIFT_NOEXCEPT
#endif
#if !defined(SWIFT_C_INLINE_THUNK)
# if __has_attribute(always_inline)
# if __has_attribute(nodebug)
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
# else
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
# endif
# else
# define SWIFT_C_INLINE_THUNK inline
# endif
#endif
#if defined(_WIN32)
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
#endif
#else
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL
#endif
#endif
#if defined(__OBJC__)
#if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
#endif
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseAnalytics",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
#if defined(__OBJC__)
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#if defined(__cplusplus)
#endif
#pragma clang diagnostic pop
#endif
#elif defined(__x86_64__) && __x86_64__
// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
#ifndef FIREBASEANALYTICS_SWIFT_H
#define FIREBASEANALYTICS_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#if defined(__OBJC__)
#include <Foundation/Foundation.h>
#endif
#if defined(__cplusplus)
#include <cstdint>
#include <cstddef>
#include <cstdbool>
#include <cstring>
#include <stdlib.h>
#include <new>
#include <type_traits>
#else
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include <string.h>
#endif
#if defined(__cplusplus)
#if defined(__arm64e__) && __has_include(<ptrauth.h>)
# include <ptrauth.h>
#else
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
# ifndef __ptrauth_swift_value_witness_function_pointer
# define __ptrauth_swift_value_witness_function_pointer(x)
# endif
# ifndef __ptrauth_swift_class_method_pointer
# define __ptrauth_swift_class_method_pointer(x)
# endif
#pragma clang diagnostic pop
#endif
#endif
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if !defined(SWIFT_RUNTIME_NAME)
# if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
# else
# define SWIFT_RUNTIME_NAME(X)
# endif
#endif
#if !defined(SWIFT_COMPILE_NAME)
# if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
# else
# define SWIFT_COMPILE_NAME(X)
# endif
#endif
#if !defined(SWIFT_METHOD_FAMILY)
# if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
# else
# define SWIFT_METHOD_FAMILY(X)
# endif
#endif
#if !defined(SWIFT_NOESCAPE)
# if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
# else
# define SWIFT_NOESCAPE
# endif
#endif
#if !defined(SWIFT_RELEASES_ARGUMENT)
# if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
# else
# define SWIFT_RELEASES_ARGUMENT
# endif
#endif
#if !defined(SWIFT_WARN_UNUSED_RESULT)
# if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
# else
# define SWIFT_WARN_UNUSED_RESULT
# endif
#endif
#if !defined(SWIFT_NORETURN)
# if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
# else
# define SWIFT_NORETURN
# endif
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
# define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if !defined(SWIFT_DEPRECATED_OBJC)
# if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
# else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
# endif
#endif
#if defined(__OBJC__)
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#endif
#if !defined(SWIFT_EXTERN)
# if defined(__cplusplus)
# define SWIFT_EXTERN extern "C"
# else
# define SWIFT_EXTERN extern
# endif
#endif
#if !defined(SWIFT_CALL)
# define SWIFT_CALL __attribute__((swiftcall))
#endif
#if !defined(SWIFT_INDIRECT_RESULT)
# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
#endif
#if !defined(SWIFT_CONTEXT)
# define SWIFT_CONTEXT __attribute__((swift_context))
#endif
#if !defined(SWIFT_ERROR_RESULT)
# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
#endif
#if defined(__cplusplus)
# define SWIFT_NOEXCEPT noexcept
#else
# define SWIFT_NOEXCEPT
#endif
#if !defined(SWIFT_C_INLINE_THUNK)
# if __has_attribute(always_inline)
# if __has_attribute(nodebug)
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
# else
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
# endif
# else
# define SWIFT_C_INLINE_THUNK inline
# endif
#endif
#if defined(_WIN32)
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
#endif
#else
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL
#endif
#endif
#if defined(__OBJC__)
#if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
#endif
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseAnalytics",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
#if defined(__OBJC__)
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#if defined(__cplusplus)
#endif
#pragma clang diagnostic pop
#endif
#else
#error unsupported Swift architecture
#endif

View File

@ -0,0 +1,24 @@
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
#import "FIRAnalytics+AppDelegate.h"
#import "FIRAnalytics+Consent.h"
#import "FIRAnalytics+OnDevice.h"
#import "FIRAnalytics.h"
#import "FirebaseAnalytics.h"
#import "FIREventNames.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"
FOUNDATION_EXPORT double FirebaseAnalyticsVersionNumber;
FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsVersionString[];

View File

@ -0,0 +1,7 @@
#import "FIRAnalytics+AppDelegate.h"
#import "FIRAnalytics+Consent.h"
#import "FIRAnalytics+OnDevice.h"
#import "FIRAnalytics.h"
#import "FIREventNames.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"

View File

@ -0,0 +1,288 @@
{
"ABIRoot": {
"kind": "Root",
"name": "TopLevel",
"printedName": "TopLevel",
"children": [
{
"kind": "Import",
"name": "StoreKit",
"printedName": "StoreKit",
"declKind": "Import",
"moduleName": "FirebaseAnalytics"
},
{
"kind": "Import",
"name": "SwiftUI",
"printedName": "SwiftUI",
"declKind": "Import",
"moduleName": "FirebaseAnalytics"
},
{
"kind": "TypeDecl",
"name": "Analytics",
"printedName": "Analytics",
"children": [
{
"kind": "Function",
"name": "logTransaction",
"printedName": "logTransaction(_:)",
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
},
{
"kind": "TypeNominal",
"name": "Transaction",
"printedName": "StoreKit.Transaction",
"usr": "s:8StoreKit11TransactionV"
}
],
"declKind": "Func",
"usr": "s:So12FIRAnalyticsC17FirebaseAnalyticsE14logTransactionyy8StoreKit0E0VFZ",
"mangledName": "$sSo12FIRAnalyticsC17FirebaseAnalyticsE14logTransactionyy8StoreKit0E0VFZ",
"moduleName": "FirebaseAnalytics",
"static": true,
"declAttributes": [
"Final",
"AccessControl",
"RawDocComment"
],
"isFromExtension": true,
"funcSelfKind": "NonMutating"
}
],
"declKind": "Class",
"usr": "c:objc(cs)FIRAnalytics",
"moduleName": "FirebaseAnalytics",
"isOpen": true,
"objc_name": "FIRAnalytics",
"declAttributes": [
"ObjC",
"Dynamic"
],
"superclassUsr": "c:objc(cs)NSObject",
"isExternal": true,
"inheritsConvenienceInitializers": true,
"superclassNames": [
"ObjectiveC.NSObject"
],
"conformances": [
{
"kind": "Conformance",
"name": "Equatable",
"printedName": "Equatable",
"usr": "s:SQ",
"mangledName": "$sSQ"
},
{
"kind": "Conformance",
"name": "Hashable",
"printedName": "Hashable",
"usr": "s:SH",
"mangledName": "$sSH"
},
{
"kind": "Conformance",
"name": "CVarArg",
"printedName": "CVarArg",
"usr": "s:s7CVarArgP",
"mangledName": "$ss7CVarArgP"
},
{
"kind": "Conformance",
"name": "_KeyValueCodingAndObservingPublishing",
"printedName": "_KeyValueCodingAndObservingPublishing",
"usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP",
"mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP"
},
{
"kind": "Conformance",
"name": "_KeyValueCodingAndObserving",
"printedName": "_KeyValueCodingAndObserving",
"usr": "s:10Foundation27_KeyValueCodingAndObservingP",
"mangledName": "$s10Foundation27_KeyValueCodingAndObservingP"
},
{
"kind": "Conformance",
"name": "CustomStringConvertible",
"printedName": "CustomStringConvertible",
"usr": "s:s23CustomStringConvertibleP",
"mangledName": "$ss23CustomStringConvertibleP"
},
{
"kind": "Conformance",
"name": "CustomDebugStringConvertible",
"printedName": "CustomDebugStringConvertible",
"usr": "s:s28CustomDebugStringConvertibleP",
"mangledName": "$ss28CustomDebugStringConvertibleP"
}
]
},
{
"kind": "TypeDecl",
"name": "View",
"printedName": "View",
"children": [
{
"kind": "Function",
"name": "analyticsScreen",
"printedName": "analyticsScreen(name:class:extraParameters:)",
"children": [
{
"kind": "TypeNominal",
"name": "ModifiedContent",
"printedName": "SwiftUI.ModifiedContent<τ_0_0, FirebaseAnalytics.LoggedAnalyticsModifier>",
"children": [
{
"kind": "TypeNominal",
"name": "GenericTypeParam",
"printedName": "τ_0_0"
},
{
"kind": "TypeNominal",
"name": "LoggedAnalyticsModifier",
"printedName": "FirebaseAnalytics.LoggedAnalyticsModifier",
"usr": "s:17FirebaseAnalytics06LoggedB8ModifierV"
}
],
"usr": "s:7SwiftUI15ModifiedContentV"
},
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"hasDefaultArg": true,
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "Dictionary",
"printedName": "[Swift.String : Any]",
"children": [
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "ProtocolComposition",
"printedName": "Any"
}
],
"hasDefaultArg": true,
"usr": "s:SD"
}
],
"declKind": "Func",
"usr": "s:7SwiftUI4ViewP17FirebaseAnalyticsE15analyticsScreen4name5class15extraParametersQrSS_SSSDySSypGtF",
"mangledName": "$s7SwiftUI4ViewP17FirebaseAnalyticsE15analyticsScreen4name5class15extraParametersQrSS_SSSDySSypGtF",
"moduleName": "FirebaseAnalytics",
"genericSig": "<τ_0_0 where τ_0_0 : SwiftUI.View>",
"sugared_genericSig": "<Self where Self : SwiftUI.View>",
"declAttributes": [
"AccessControl",
"RawDocComment"
],
"isFromExtension": true,
"funcSelfKind": "NonMutating"
}
],
"declKind": "Protocol",
"usr": "s:7SwiftUI4ViewP",
"mangledName": "$s7SwiftUI4ViewP",
"moduleName": "SwiftUI",
"genericSig": "<τ_0_0.Body : SwiftUI.View>",
"sugared_genericSig": "<Self.Body : SwiftUI.View>",
"intro_Macosx": "10.15",
"intro_iOS": "13.0",
"intro_tvOS": "13.0",
"intro_watchOS": "6.0",
"declAttributes": [
"TypeEraser",
"Available",
"Available",
"Available",
"Available"
],
"isExternal": true
}
],
"json_format_version": 8
},
"ConstValues": [
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "BooleanLiteral",
"offset": 1259,
"length": 5,
"value": "false"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "BooleanLiteral",
"offset": 1297,
"length": 5,
"value": "false"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2523,
"length": 1,
"value": "0"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2564,
"length": 1,
"value": "1"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2607,
"length": 1,
"value": "2"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2651,
"length": 1,
"value": "3"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2683,
"length": 1,
"value": "0"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+SwiftUI.swift",
"kind": "StringLiteral",
"offset": 2654,
"length": 6,
"value": "\"View\""
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+SwiftUI.swift",
"kind": "Dictionary",
"offset": 2701,
"length": 3,
"value": "[]"
}
]
}

View File

@ -0,0 +1,22 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
// swift-module-flags: -target arm64-apple-macos10.15 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalytics
// swift-module-flags-ignorable: -enable-bare-slash-regex
@_exported import FirebaseAnalytics
import StoreKit
import Swift
import SwiftUI
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, *)
@available(watchOS, unavailable)
extension FirebaseAnalytics.Analytics {
public static func logTransaction(_ transaction: StoreKit.Transaction)
}
@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
@available(watchOS, unavailable)
extension SwiftUI.View {
public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
}

View File

@ -0,0 +1,22 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
// swift-module-flags: -target arm64-apple-macos10.15 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalytics
// swift-module-flags-ignorable: -enable-bare-slash-regex
@_exported import FirebaseAnalytics
import StoreKit
import Swift
import SwiftUI
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, *)
@available(watchOS, unavailable)
extension FirebaseAnalytics.Analytics {
public static func logTransaction(_ transaction: StoreKit.Transaction)
}
@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
@available(watchOS, unavailable)
extension SwiftUI.View {
public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
}

View File

@ -0,0 +1,288 @@
{
"ABIRoot": {
"kind": "Root",
"name": "TopLevel",
"printedName": "TopLevel",
"children": [
{
"kind": "Import",
"name": "StoreKit",
"printedName": "StoreKit",
"declKind": "Import",
"moduleName": "FirebaseAnalytics"
},
{
"kind": "Import",
"name": "SwiftUI",
"printedName": "SwiftUI",
"declKind": "Import",
"moduleName": "FirebaseAnalytics"
},
{
"kind": "TypeDecl",
"name": "Analytics",
"printedName": "Analytics",
"children": [
{
"kind": "Function",
"name": "logTransaction",
"printedName": "logTransaction(_:)",
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
},
{
"kind": "TypeNominal",
"name": "Transaction",
"printedName": "StoreKit.Transaction",
"usr": "s:8StoreKit11TransactionV"
}
],
"declKind": "Func",
"usr": "s:So12FIRAnalyticsC17FirebaseAnalyticsE14logTransactionyy8StoreKit0E0VFZ",
"mangledName": "$sSo12FIRAnalyticsC17FirebaseAnalyticsE14logTransactionyy8StoreKit0E0VFZ",
"moduleName": "FirebaseAnalytics",
"static": true,
"declAttributes": [
"Final",
"AccessControl",
"RawDocComment"
],
"isFromExtension": true,
"funcSelfKind": "NonMutating"
}
],
"declKind": "Class",
"usr": "c:objc(cs)FIRAnalytics",
"moduleName": "FirebaseAnalytics",
"isOpen": true,
"objc_name": "FIRAnalytics",
"declAttributes": [
"ObjC",
"Dynamic"
],
"superclassUsr": "c:objc(cs)NSObject",
"isExternal": true,
"inheritsConvenienceInitializers": true,
"superclassNames": [
"ObjectiveC.NSObject"
],
"conformances": [
{
"kind": "Conformance",
"name": "Equatable",
"printedName": "Equatable",
"usr": "s:SQ",
"mangledName": "$sSQ"
},
{
"kind": "Conformance",
"name": "Hashable",
"printedName": "Hashable",
"usr": "s:SH",
"mangledName": "$sSH"
},
{
"kind": "Conformance",
"name": "CVarArg",
"printedName": "CVarArg",
"usr": "s:s7CVarArgP",
"mangledName": "$ss7CVarArgP"
},
{
"kind": "Conformance",
"name": "_KeyValueCodingAndObservingPublishing",
"printedName": "_KeyValueCodingAndObservingPublishing",
"usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP",
"mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP"
},
{
"kind": "Conformance",
"name": "_KeyValueCodingAndObserving",
"printedName": "_KeyValueCodingAndObserving",
"usr": "s:10Foundation27_KeyValueCodingAndObservingP",
"mangledName": "$s10Foundation27_KeyValueCodingAndObservingP"
},
{
"kind": "Conformance",
"name": "CustomStringConvertible",
"printedName": "CustomStringConvertible",
"usr": "s:s23CustomStringConvertibleP",
"mangledName": "$ss23CustomStringConvertibleP"
},
{
"kind": "Conformance",
"name": "CustomDebugStringConvertible",
"printedName": "CustomDebugStringConvertible",
"usr": "s:s28CustomDebugStringConvertibleP",
"mangledName": "$ss28CustomDebugStringConvertibleP"
}
]
},
{
"kind": "TypeDecl",
"name": "View",
"printedName": "View",
"children": [
{
"kind": "Function",
"name": "analyticsScreen",
"printedName": "analyticsScreen(name:class:extraParameters:)",
"children": [
{
"kind": "TypeNominal",
"name": "ModifiedContent",
"printedName": "SwiftUI.ModifiedContent<τ_0_0, FirebaseAnalytics.LoggedAnalyticsModifier>",
"children": [
{
"kind": "TypeNominal",
"name": "GenericTypeParam",
"printedName": "τ_0_0"
},
{
"kind": "TypeNominal",
"name": "LoggedAnalyticsModifier",
"printedName": "FirebaseAnalytics.LoggedAnalyticsModifier",
"usr": "s:17FirebaseAnalytics06LoggedB8ModifierV"
}
],
"usr": "s:7SwiftUI15ModifiedContentV"
},
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"hasDefaultArg": true,
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "Dictionary",
"printedName": "[Swift.String : Any]",
"children": [
{
"kind": "TypeNominal",
"name": "String",
"printedName": "Swift.String",
"usr": "s:SS"
},
{
"kind": "TypeNominal",
"name": "ProtocolComposition",
"printedName": "Any"
}
],
"hasDefaultArg": true,
"usr": "s:SD"
}
],
"declKind": "Func",
"usr": "s:7SwiftUI4ViewP17FirebaseAnalyticsE15analyticsScreen4name5class15extraParametersQrSS_SSSDySSypGtF",
"mangledName": "$s7SwiftUI4ViewP17FirebaseAnalyticsE15analyticsScreen4name5class15extraParametersQrSS_SSSDySSypGtF",
"moduleName": "FirebaseAnalytics",
"genericSig": "<τ_0_0 where τ_0_0 : SwiftUI.View>",
"sugared_genericSig": "<Self where Self : SwiftUI.View>",
"declAttributes": [
"AccessControl",
"RawDocComment"
],
"isFromExtension": true,
"funcSelfKind": "NonMutating"
}
],
"declKind": "Protocol",
"usr": "s:7SwiftUI4ViewP",
"mangledName": "$s7SwiftUI4ViewP",
"moduleName": "SwiftUI",
"genericSig": "<τ_0_0.Body : SwiftUI.View>",
"sugared_genericSig": "<Self.Body : SwiftUI.View>",
"intro_Macosx": "10.15",
"intro_iOS": "13.0",
"intro_tvOS": "13.0",
"intro_watchOS": "6.0",
"declAttributes": [
"TypeEraser",
"Available",
"Available",
"Available",
"Available"
],
"isExternal": true
}
],
"json_format_version": 8
},
"ConstValues": [
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "BooleanLiteral",
"offset": 1259,
"length": 5,
"value": "false"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "BooleanLiteral",
"offset": 1297,
"length": 5,
"value": "false"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2523,
"length": 1,
"value": "0"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2564,
"length": 1,
"value": "1"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2607,
"length": 1,
"value": "2"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2651,
"length": 1,
"value": "3"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+StoreKit.swift",
"kind": "IntegerLiteral",
"offset": 2683,
"length": 1,
"value": "0"
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+SwiftUI.swift",
"kind": "StringLiteral",
"offset": 2654,
"length": 6,
"value": "\"View\""
},
{
"filePath": "\/Volumes\/google\/src\/cloud\/hantran\/m152\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+SwiftUI.swift",
"kind": "Dictionary",
"offset": 2701,
"length": 3,
"value": "[]"
}
]
}

View File

@ -0,0 +1,22 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
// swift-module-flags: -target x86_64-apple-macos10.15 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalytics
// swift-module-flags-ignorable: -enable-bare-slash-regex
@_exported import FirebaseAnalytics
import StoreKit
import Swift
import SwiftUI
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, *)
@available(watchOS, unavailable)
extension FirebaseAnalytics.Analytics {
public static func logTransaction(_ transaction: StoreKit.Transaction)
}
@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
@available(watchOS, unavailable)
extension SwiftUI.View {
public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
}

View File

@ -0,0 +1,22 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
// swift-module-flags: -target x86_64-apple-macos10.15 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalytics
// swift-module-flags-ignorable: -enable-bare-slash-regex
@_exported import FirebaseAnalytics
import StoreKit
import Swift
import SwiftUI
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, *)
@available(watchOS, unavailable)
extension FirebaseAnalytics.Analytics {
public static func logTransaction(_ transaction: StoreKit.Transaction)
}
@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
@available(watchOS, unavailable)
extension SwiftUI.View {
public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
}

Some files were not shown because too many files have changed in this diff Show More