diff --git a/admob/integration_test/Podfile b/admob/integration_test/Podfile index a81928021..afead091d 100644 --- a/admob/integration_test/Podfile +++ b/admob/integration_test/Podfile @@ -3,7 +3,7 @@ platform :ios, '10.0' # Firebase AdMob test application. target 'integration_test' do - pod 'Firebase/Analytics', '8.13.0' + pod 'Firebase/Analytics', '8.15.0' pod 'Google-Mobile-Ads-SDK', '7.69.0-cppsdk' end diff --git a/analytics/integration_test/Podfile b/analytics/integration_test/Podfile index 54dc7d49d..114a76552 100644 --- a/analytics/integration_test/Podfile +++ b/analytics/integration_test/Podfile @@ -5,12 +5,12 @@ platform :ios, '10.0' target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/Analytics', '8.13.0' + pod 'Firebase/Analytics', '8.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Analytics', '8.13.0' + pod 'Firebase/Analytics', '8.15.0' end post_install do |installer| diff --git a/analytics/ios_headers/FIREventNames.h b/analytics/ios_headers/FIREventNames.h index 4972c4aa4..292a9f6ce 100644 --- a/analytics/ios_headers/FIREventNames.h +++ b/analytics/ios_headers/FIREventNames.h @@ -1,6 +1,6 @@ // Copyright 2022 Google LLC -// Copied from Firebase Analytics iOS SDK 8.13.0. +// Copied from Firebase Analytics iOS SDK 8.15.0. /// @file FIREventNames.h /// @@ -17,70 +17,72 @@ #import /// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply -/// the @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency parameter -/// so that revenue metrics can be computed accurately. Params: +/// the @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency +/// parameter so that revenue metrics can be computed accurately. Params: /// /// 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 kFIRParameterValue parameter, you must also supply the -/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params: +/// 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: /// /// 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 kFIRParameterValue parameter, you must also supply the -/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params: +/// 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: /// /// 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 kFIREventPurchase to gauge the effectiveness of -/// your checkout process. Note: If you supply the @c kFIRParameterValue parameter, you must also -/// supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed +/// 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: /// /// 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 kFIRParameterValue -/// parameter, you must also supply the @c kFIRParameterCurrency parameter so that revenue metrics -/// can be computed accurately. Params: +/// 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: /// /// static NSString *const kFIREventAddToWishlist NS_SWIFT_NAME(AnalyticsEventAddToWishlist) = @"add_to_wishlist"; @@ -92,36 +94,36 @@ static NSString *const kFIREventAddToWishlist NS_SWIFT_NAME(AnalyticsEventAddToW 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 kFIREventPurchase event to gauge the -/// effectiveness of your checkout process. Note: If you supply the @c kFIRParameterValue parameter, -/// you must also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be -/// computed accurately. Params: +/// 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: /// /// 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 kFIRParameterSource, -/// kFIRParameterMedium or kFIRParameterCampaign. Params: -/// -/// +/// This constant has been deprecated. Use @c AnalyticsEventPurchase constant instead. static NSString *const kFIREventEcommercePurchase NS_SWIFT_NAME(AnalyticsEventEcommercePurchase) = @"ecommerce_purchase"; /// Generate Lead event. Log this event when a lead has been generated in the app to understand the /// efficacy of your install and re-engagement campaigns. Note: If you supply the -/// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency +/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency /// parameter so that revenue metrics can be computed accurately. Params: /// /// static NSString *const kFIREventGenerateLead NS_SWIFT_NAME(AnalyticsEventGenerateLead) = @"generate_lead"; @@ -193,22 +192,22 @@ static NSString *const kFIREventGenerateLead NS_SWIFT_NAME(AnalyticsEventGenerat /// this event to analyze how popular certain groups or social features are in your app. Params: /// /// static NSString *const kFIREventJoinGroup NS_SWIFT_NAME(AnalyticsEventJoinGroup) = @"join_group"; /// Level End event. Log this event when the user finishes a level. Params: /// /// static NSString *const kFIREventLevelEnd NS_SWIFT_NAME(AnalyticsEventLevelEnd) = @"level_end"; /// Level Start event. Log this event when the user starts a new level. Params: /// /// static NSString *const kFIREventLevelStart NS_SWIFT_NAME(AnalyticsEventLevelStart) = @"level_start"; @@ -217,8 +216,8 @@ static NSString *const kFIREventLevelStart NS_SWIFT_NAME(AnalyticsEventLevelStar /// are difficult to pass. Params: /// /// static NSString *const kFIREventLevelUp NS_SWIFT_NAME(AnalyticsEventLevelUp) = @"level_up"; @@ -231,88 +230,88 @@ static NSString *const kFIREventLogin NS_SWIFT_NAME(AnalyticsEventLogin) = @"log /// high scores with certain audiences or behaviors. Params: /// /// static NSString *const kFIREventPostScore NS_SWIFT_NAME(AnalyticsEventPostScore) = @"post_score"; /// Present Offer event. This event signifies that the app has presented a purchase offer to a user. -/// Add this event to a funnel with the kFIREventAddToCart and kFIREventEcommercePurchase to gauge -/// your conversion process. Note: If you supply the @c kFIRParameterValue parameter, you must -/// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed -/// accurately. Params: +/// Add this event to a funnel with the @c AnalyticsEventAddToCart and @c +/// AnalyticsEventEcommercePurchase to gauge your conversion 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: /// /// -/// This constant has been deprecated. Use @c kFIREventViewPromotion constant instead. +/// This constant has been deprecated. Use @c AnalyticsEventViewPromotion constant instead. static NSString *const kFIREventPresentOffer NS_SWIFT_NAME(AnalyticsEventPresentOffer) = @"present_offer"; /// 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 kFIRParameterValue parameter, you must also supply -/// the @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. -/// Params: +/// 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: /// /// static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase"; /// E-Commerce Purchase Refund event. This event signifies that an item purchase was refunded. -/// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the -/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. +/// 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: /// /// -/// This constant has been deprecated. Use @c kFIREventRefund constant instead. +/// This constant has been deprecated. Use @c AnalyticsEventRefund constant instead. static NSString *const kFIREventPurchaseRefund NS_SWIFT_NAME(AnalyticsEventPurchaseRefund) = @"purchase_refund"; /// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the -/// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency parameter so -/// that revenue metrics can be computed accurately. Params: +/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency +/// parameter so that revenue metrics can be computed accurately. Params: /// /// 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 kFIRParameterValue parameter, you must also supply the @c -/// kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params: +/// 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: /// /// static NSString *const kFIREventRemoveFromCart NS_SWIFT_NAME(AnalyticsEventRemoveFromCart) = @"remove_from_cart"; @@ -321,8 +320,8 @@ static NSString *const kFIREventRemoveFromCart NS_SWIFT_NAME(AnalyticsEventRemov /// This event can be logged irrespective of whether automatic screen tracking is enabled. Params: /// /// static NSString *const kFIREventScreenView NS_SWIFT_NAME(AnalyticsEventScreenView) = @"screen_view"; @@ -331,18 +330,15 @@ static NSString *const kFIREventScreenView NS_SWIFT_NAME(AnalyticsEventScreenVie /// identify the most popular content in your app. Params: /// /// static NSString *const kFIREventSearch NS_SWIFT_NAME(AnalyticsEventSearch) = @"search"; @@ -351,8 +347,8 @@ static NSString *const kFIREventSearch NS_SWIFT_NAME(AnalyticsEventSearch) = @"s /// identify popular content and categories of content in your app. Params: /// /// static NSString *const kFIREventSelectContent NS_SWIFT_NAME(AnalyticsEventSelectContent) = @"select_content"; @@ -362,9 +358,9 @@ static NSString *const kFIREventSelectContent NS_SWIFT_NAME(AnalyticsEventSelect /// items selected. Params: /// /// static NSString *const kFIREventSelectItem NS_SWIFT_NAME(AnalyticsEventSelectItem) = @"select_item"; @@ -373,12 +369,12 @@ static NSString *const kFIREventSelectItem NS_SWIFT_NAME(AnalyticsEventSelectIte /// applies. Params: /// /// static NSString *const kFIREventSelectPromotion NS_SWIFT_NAME(AnalyticsEventSelectPromotion) = @"select_promotion"; @@ -386,8 +382,8 @@ static NSString *const kFIREventSelectPromotion NS_SWIFT_NAME(AnalyticsEventSele /// Set checkout option. Params: /// /// /// This constant has been deprecated. static NSString *const kFIREventSetCheckoutOption NS_SWIFT_NAME(AnalyticsEventSetCheckoutOption) = @@ -397,8 +393,8 @@ static NSString *const kFIREventSetCheckoutOption NS_SWIFT_NAME(AnalyticsEventSe /// content. Params: /// /// static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"share"; @@ -407,7 +403,7 @@ static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"sha /// different behaviors between logged in and logged out users. Params: /// /// static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"sign_up"; @@ -415,22 +411,22 @@ static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"s /// help you identify which virtual goods are the most popular objects of purchase. Params: /// /// 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 kFIREventTutorialComplete to understand how many users complete this -/// process and move on to the full app experience. +/// 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 kFIREventTutorialBegin to gauge the completion rate of your -/// on-boarding process. +/// 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"; @@ -439,56 +435,57 @@ static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTut /// help you understand how many users are experiencing all that your game has to offer. Params: /// /// 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 kFIRParameterValue parameter, you must -/// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed -/// accurately. Params: +/// 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: /// /// 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 kFIRParameterValue parameter, you must also supply the -/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params: +/// 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: /// /// 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: /// /// 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 kFIREventAddToCart and @c kFIREventPurchase to gauge your conversion -/// process. Params: +/// to a funnel with the @c AnalyticsEventAddToCart and @c AnalyticsEventPurchase to gauge your +/// conversion process. Params: /// /// static NSString *const kFIREventViewPromotion NS_SWIFT_NAME(AnalyticsEventViewPromotion) = @"view_promotion"; @@ -497,7 +494,7 @@ static NSString *const kFIREventViewPromotion NS_SWIFT_NAME(AnalyticsEventViewPr /// search. Params: /// /// static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) = @"view_search_results"; diff --git a/analytics/ios_headers/FIRParameterNames.h b/analytics/ios_headers/FIRParameterNames.h index 5524834a8..eb586c812 100644 --- a/analytics/ios_headers/FIRParameterNames.h +++ b/analytics/ios_headers/FIRParameterNames.h @@ -1,6 +1,6 @@ // Copyright 2022 Google LLC -// Copied from Firebase Analytics iOS SDK 8.13.0. +// Copied from Firebase Analytics iOS SDK 8.15.0. /// @file FIRParameterNames.h /// @@ -16,650 +16,652 @@ #import -/// Game achievement ID (NSString). +/// Game achievement ID (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterAchievementID : @"10_matches_won",
+///     let params = [
+///       AnalyticsParameterAchievementID : "10_matches_won",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterAchievementID NS_SWIFT_NAME(AnalyticsParameterAchievementID) = @"achievement_id"; /// The ad format (e.g. Banner, Interstitial, Rewarded, Native, Rewarded Interstitial, Instream). -/// (NSString). +/// (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterAdFormat : @"Banner",
+///     let params = [
+///       AnalyticsParameterAdFormat : "Banner",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterAdFormat NS_SWIFT_NAME(AnalyticsParameterAdFormat) = @"ad_format"; -/// Ad Network Click ID (NSString). Used for network-specific click IDs which vary in format. +/// Ad Network Click ID (String). Used for network-specific click IDs which vary in format. ///
-///     NSDictionary *params = @{
-///       kFIRParameterAdNetworkClickID : @"1234567",
+///     let params = [
+///       AnalyticsParameterAdNetworkClickID : "1234567",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterAdNetworkClickID NS_SWIFT_NAME(AnalyticsParameterAdNetworkClickID) = @"aclid"; -/// The ad platform (e.g. MoPub, IronSource) (NSString). +/// The ad platform (e.g. MoPub, IronSource) (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterAdPlatform : @"MoPub",
+///     let params = [
+///       AnalyticsParameterAdPlatform : "MoPub",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterAdPlatform NS_SWIFT_NAME(AnalyticsParameterAdPlatform) = @"ad_platform"; -/// The ad source (e.g. AdColony) (NSString). +/// The ad source (e.g. AdColony) (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterAdSource : @"AdColony",
+///     let params = [
+///       AnalyticsParameterAdSource : "AdColony",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterAdSource NS_SWIFT_NAME(AnalyticsParameterAdSource) = @"ad_source"; -/// The ad unit name (e.g. Banner_03) (NSString). +/// The ad unit name (e.g. Banner_03) (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterAdUnitName : @"Banner_03",
+///     let params = [
+///       AnalyticsParameterAdUnitName : "Banner_03",
 ///       // ...
-///     };
+///     ]
 /// 
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 -/// (NSString).
-///     NSDictionary *params = @{
-///       kFIRParameterAffiliation : @"Google Store",
+/// (String). 
+///     let params = [
+///       AnalyticsParameterAffiliation : "Google Store",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterAffiliation NS_SWIFT_NAME(AnalyticsParameterAffiliation) = @"affiliation"; -/// Campaign custom parameter (NSString). Used as a method of capturing custom data in a campaign. +/// Campaign custom parameter (String). Used as a method of capturing custom data in a campaign. /// Use varies by network. ///
-///     NSDictionary *params = @{
-///       kFIRParameterCP1 : @"custom_data",
+///     let params = [
+///       AnalyticsParameterCP1 : "custom_data",
 ///       // ...
-///     };
+///     ]
 /// 
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 -/// (NSString). +/// (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterCampaign : @"winter_promotion",
+///     let params = [
+///       AnalyticsParameterCampaign : "winter_promotion",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterCampaign NS_SWIFT_NAME(AnalyticsParameterCampaign) = @"campaign"; -/// Campaign ID (NSString). Used for keyword analysis to identify a specific product promotion or +/// 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. ///
-///     NSDictionary *params = @{
-///       kFIRParameterCampaignID : @"7877652710",
+///     let params = [
+///       AnalyticsParameterCampaignID : "7877652710",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterCampaignID NS_SWIFT_NAME(AnalyticsParameterCampaignID) = @"campaign_id"; -/// Character used in game (NSString). +/// Character used in game (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterCharacter : @"beat_boss",
+///     let params = [
+///       AnalyticsParameterCharacter : "beat_boss",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterCharacter NS_SWIFT_NAME(AnalyticsParameterCharacter) = @"character"; -/// Some option on a step in an ecommerce flow (NSString). +/// Some option on a step in an ecommerce flow (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterCheckoutOption : @"Visa",
+///     let params = [
+///       AnalyticsParameterCheckoutOption : "Visa",
 ///       // ...
-///     };
+///     ]
 /// 
/// This constant has been deprecated. static NSString *const kFIRParameterCheckoutOption NS_SWIFT_NAME(AnalyticsParameterCheckoutOption) = @"checkout_option"; -/// The checkout step (1..N) (unsigned 64-bit integer as NSNumber). +/// The checkout step (1..N) (Int). ///
-///     NSDictionary *params = @{
-///       kFIRParameterCheckoutStep : @"1",
+///     let params = [
+///       AnalyticsParameterCheckoutStep : 1,
 ///       // ...
-///     };
+///     ]
 /// 
/// This constant has been deprecated. static NSString *const kFIRParameterCheckoutStep NS_SWIFT_NAME(AnalyticsParameterCheckoutStep) = @"checkout_step"; -/// Campaign content (NSString). +/// Campaign content (String). static NSString *const kFIRParameterContent NS_SWIFT_NAME(AnalyticsParameterContent) = @"content"; -/// Type of content selected (NSString). +/// Type of content selected (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterContentType : @"news article",
+///     let params = [
+///       AnalyticsParameterContentType : "news article",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterContentType NS_SWIFT_NAME(AnalyticsParameterContentType) = @"content_type"; -/// Coupon code used for a purchase (NSString). +/// Coupon code used for a purchase (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterCoupon : @"SUMMER_FUN",
+///     let params = [
+///       AnalyticsParameterCoupon : "SUMMER_FUN",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterCoupon NS_SWIFT_NAME(AnalyticsParameterCoupon) = @"coupon"; -/// Creative Format (NSString). Used to identify the high-level classification of the type of ad +/// Creative Format (String). Used to identify the high-level classification of the type of ad /// served by a specific campaign. ///
-///     NSDictionary *params = @{
-///       kFIRParameterCreativeFormat : @"display",
+///     let params = [
+///       AnalyticsParameterCreativeFormat : "display",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterCreativeFormat NS_SWIFT_NAME(AnalyticsParameterCreativeFormat) = @"creative_format"; -/// The name of a creative used in a promotional spot (NSString). +/// The name of a creative used in a promotional spot (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterCreativeName : @"Summer Sale",
+///     let params = [
+///       AnalyticsParameterCreativeName : "Summer Sale",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterCreativeName NS_SWIFT_NAME(AnalyticsParameterCreativeName) = @"creative_name"; -/// The name of a creative slot (NSString). +/// The name of a creative slot (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterCreativeSlot : @"summer_banner2",
+///     let params = [
+///       AnalyticsParameterCreativeSlot : "summer_banner2",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterCreativeSlot NS_SWIFT_NAME(AnalyticsParameterCreativeSlot) = @"creative_slot"; /// Currency of the purchase or items associated with the event, in 3-letter -/// ISO_4217 format (NSString). +/// ISO_4217 format (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterCurrency : @"USD",
+///     let params = [
+///       AnalyticsParameterCurrency : "USD",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterCurrency NS_SWIFT_NAME(AnalyticsParameterCurrency) = @"currency"; -/// Flight or Travel destination (NSString). +/// Flight or Travel destination (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterDestination : @"Mountain View, CA",
+///     let params = [
+///       AnalyticsParameterDestination : "Mountain View, CA",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterDestination NS_SWIFT_NAME(AnalyticsParameterDestination) = @"destination"; -/// Monetary value of discount associated with a purchase (double as NSNumber). +/// Monetary value of discount associated with a purchase (Double). ///
-///     NSDictionary *params = @{
-///       kFIRParameterDiscount : @(2.0),
-///       kFIRParameterCurrency : @"USD",  // e.g. $2.00 USD
+///     let params = [
+///       AnalyticsParameterDiscount : 2.0,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $2.00 USD
 ///       // ...
-///     };
+///     ]
 /// 
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 (NSString). +/// YYYY-MM-DD format (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterEndDate : @"2015-09-14",
+///     let params = [
+///       AnalyticsParameterEndDate : "2015-09-14",
 ///       // ...
-///     };
+///     ]
 /// 
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 YES to extend the current session or to start a new session; any -/// other value will not extend or start a session. +/// 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. ///
-///     NSDictionary *params = @{
-///       kFIRParameterExtendSession : @YES,
+///     let params = [
+///       AnalyticsParameterExtendSession : 1,
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) = @"extend_session"; -/// Flight number for travel events (NSString). +/// Flight number for travel events (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterFlightNumber : @"ZZ800",
+///     let params = [
+///       AnalyticsParameterFlightNumber : "ZZ800",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterFlightNumber NS_SWIFT_NAME(AnalyticsParameterFlightNumber) = @"flight_number"; -/// Group/clan/guild ID (NSString). +/// Group/clan/guild ID (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterGroupID : @"g1",
+///     let params = [
+///       AnalyticsParameterGroupID : "g1",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterGroupID NS_SWIFT_NAME(AnalyticsParameterGroupID) = @"group_id"; -/// The index of the item in a list (signed 64-bit integer as NSNumber). +/// The index of the item in a list (Int). ///
-///     NSDictionary *params = @{
-///       kFIRParameterIndex : @(5),
+///     let params = [
+///       AnalyticsParameterIndex : 5,
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterIndex NS_SWIFT_NAME(AnalyticsParameterIndex) = @"index"; -/// Item brand (NSString). +/// Item brand (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterItemBrand : @"Google",
+///     let params = [
+///       AnalyticsParameterItemBrand : "Google",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterItemBrand NS_SWIFT_NAME(AnalyticsParameterItemBrand) = @"item_brand"; -/// Item category (context-specific) (NSString). +/// Item category (context-specific) (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory : @"pants",
+///     let params = [
+///       AnalyticsParameterItemCategory : "pants",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterItemCategory NS_SWIFT_NAME(AnalyticsParameterItemCategory) = @"item_category"; -/// Item Category (context-specific) (NSString). +/// Item Category (context-specific) (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory2 : @"pants",
+///     let params = [
+///       AnalyticsParameterItemCategory2 : "pants",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) = @"item_category2"; -/// Item Category (context-specific) (NSString). +/// Item Category (context-specific) (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory3 : @"pants",
+///     let params = [
+///       AnalyticsParameterItemCategory3 : "pants",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) = @"item_category3"; -/// Item Category (context-specific) (NSString). +/// Item Category (context-specific) (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory4 : @"pants",
+///     let params = [
+///       AnalyticsParameterItemCategory4 : "pants",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) = @"item_category4"; -/// Item Category (context-specific) (NSString). +/// Item Category (context-specific) (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory5 : @"pants",
+///     let params = [
+///       AnalyticsParameterItemCategory5 : "pants",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) = @"item_category5"; -/// Item ID (context-specific) (NSString). +/// Item ID (context-specific) (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterItemID : @"SKU_12345",
+///     let params = [
+///       AnalyticsParameterItemID : "SKU_12345",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterItemID NS_SWIFT_NAME(AnalyticsParameterItemID) = @"item_id"; -/// The list in which the item was presented to the user (NSString). +/// The list in which the item was presented to the user (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterItemList : @"Search Results",
+///     let params = [
+///       AnalyticsParameterItemList : "Search Results",
 ///       // ...
-///     };
+///     ]
 /// 
-/// This constant has been deprecated. Use @c kFIRParameterItemListName constant instead. +/// This constant has been deprecated. Use @c AnalyticsParameterItemListName instead. static NSString *const kFIRParameterItemList NS_SWIFT_NAME(AnalyticsParameterItemList) = @"item_list"; -/// The ID of the list in which the item was presented to the userĀ (NSString). +/// The ID of the list in which the item was presented to the userĀ (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterItemListID : @"ABC123",
+///     let params = [
+///       AnalyticsParameterItemListID : "ABC123",
 ///       // ...
-///     };
+///     ]
 /// 
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 (NSString). +/// The name of the list in which the item was presented to the user (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterItemListName : @"Related products",
+///     let params = [
+///       AnalyticsParameterItemListName : "Related products",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) = @"item_list_name"; -/// The Google Place ID (NSString) that +/// The Google Place ID (String) that /// corresponds to the associated item. Alternatively, you can supply your own custom Location ID. ///
-///     NSDictionary *params = @{
-///       kFIRParameterItemLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+///     let params = [
+///       AnalyticsParameterItemLocationID : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
 ///       // ...
-///     };
+///     ]
 /// 
-/// This constant has been deprecated. Use @c kFIRParameterLocationID constant instead. +/// This constant has been deprecated. Use @c AnalyticsParameterLocationID constant instead. static NSString *const kFIRParameterItemLocationID NS_SWIFT_NAME(AnalyticsParameterItemLocationID) = @"item_location_id"; -/// Item Name (context-specific) (NSString). +/// Item Name (context-specific) (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterItemName : @"jeggings",
+///     let params = [
+///       AnalyticsParameterItemName : "jeggings",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterItemName NS_SWIFT_NAME(AnalyticsParameterItemName) = @"item_name"; -/// Item variant (NSString). +/// Item variant (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterItemVariant : @"Black",
+///     let params = [
+///       AnalyticsParameterItemVariant : "Black",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterItemVariant NS_SWIFT_NAME(AnalyticsParameterItemVariant) = @"item_variant"; -/// The list of items involved in the transaction. (NSArray). +/// The list of items involved in the transaction. (Array>). ///
-///     NSDictionary *params = @{
-///       kFIRParameterItems : @[
-///         @{kFIRParameterItemName : @"jeggings", kFIRParameterItemCategory : @"pants"},
-///         @{kFIRParameterItemName : @"boots", kFIRParameterItemCategory : @"shoes"},
+///     let params = [
+///       AnalyticsParameterItems : [
+///         [AnalyticsParameterItemName : "jeggings", AnalyticsParameterItemCategory : "pants"],
+///         [AnalyticsParameterItemName : "boots", AnalyticsParameterItemCategory : "shoes"],
 ///       ],
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items"; -/// Level in game (signed 64-bit integer as NSNumber). +/// Level in game (Int). ///
-///     NSDictionary *params = @{
-///       kFIRParameterLevel : @(42),
+///     let params = [
+///       AnalyticsParameterLevel : 42,
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterLevel NS_SWIFT_NAME(AnalyticsParameterLevel) = @"level"; -/// The name of a level in a game (NSString). +/// The name of a level in a game (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterLevelName : @"room_1",
+///     let params = [
+///       AnalyticsParameterLevelName : "room_1",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) = @"level_name"; -/// Location (NSString). The Google Place ID +/// Location (String). The Google Place ID /// that corresponds to the associated event. Alternatively, you can supply your own custom /// Location ID. ///
-///     NSDictionary *params = @{
-///       kFIRParameterLocation : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+///     let params = [
+///       AnalyticsParameterLocation : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterLocation NS_SWIFT_NAME(AnalyticsParameterLocation) = @"location"; /// The location associated with the event. Preferred to be the Google /// Place ID that corresponds to the -/// associated item but could be overridden to a custom location ID string.(NSString).
-///     NSDictionary *params = @{
-///       kFIRParameterLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+/// associated item but could be overridden to a custom location ID string.(String).
+/// 
+///     let params = [
+///       AnalyticsParameterLocationID : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) = @"location_id"; -/// Marketing Tactic (NSString). Used to identify the targeting criteria applied to a specific +/// Marketing Tactic (String). Used to identify the targeting criteria applied to a specific /// campaign. ///
-///     NSDictionary *params = @{
-///       kFIRParameterMarketingTactic : @"Remarketing",
+///     let params = [
+///       AnalyticsParameterMarketingTactic : "Remarketing",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterMarketingTactic NS_SWIFT_NAME(AnalyticsParameterMarketingTactic) = @"marketing_tactic"; /// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended -/// (NSString). +/// (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterMedium : @"email",
+///     let params = [
+///       AnalyticsParameterMedium : "email",
 ///       // ...
-///     };
+///     ]
 /// 
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. (NSString). +/// of a sign_up or login event. (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterMethod : @"google",
+///     let params = [
+///       AnalyticsParameterMethod : "google",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method"; -/// Number of nights staying at hotel (signed 64-bit integer as NSNumber). +/// Number of nights staying at hotel (Int). ///
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfNights : @(3),
+///     let params = [
+///       AnalyticsParameterNumberOfNights : 3,
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterNumberOfNights NS_SWIFT_NAME(AnalyticsParameterNumberOfNights) = @"number_of_nights"; -/// Number of passengers traveling (signed 64-bit integer as NSNumber). +/// Number of passengers traveling (Int). ///
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfPassengers : @(11),
+///     let params = [
+///       AnalyticsParameterNumberOfPassengers : 11,
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterNumberOfPassengers NS_SWIFT_NAME(AnalyticsParameterNumberOfPassengers) = @"number_of_passengers"; -/// Number of rooms for travel events (signed 64-bit integer as NSNumber). +/// Number of rooms for travel events (Int). ///
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfRooms : @(2),
+///     let params = [
+///       AnalyticsParameterNumberOfRooms : 2,
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterNumberOfRooms NS_SWIFT_NAME(AnalyticsParameterNumberOfRooms) = @"number_of_rooms"; -/// Flight or Travel origin (NSString). +/// Flight or Travel origin (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterOrigin : @"Mountain View, CA",
+///     let params = [
+///       AnalyticsParameterOrigin : "Mountain View, CA",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterOrigin NS_SWIFT_NAME(AnalyticsParameterOrigin) = @"origin"; -/// The chosen method of payment (NSString). +/// The chosen method of payment (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterPaymentType : @"Visa",
+///     let params = [
+///       AnalyticsParameterPaymentType : "Visa",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) = @"payment_type"; -/// Purchase price (double as NSNumber). +/// Purchase price (Double). ///
-///     NSDictionary *params = @{
-///       kFIRParameterPrice : @(1.0),
-///       kFIRParameterCurrency : @"USD",  // e.g. $1.00 USD
+///     let params = [
+///       AnalyticsParameterPrice : 1.0,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $1.00 USD
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterPrice NS_SWIFT_NAME(AnalyticsParameterPrice) = @"price"; -/// The ID of a product promotion (NSString). +/// The ID of a product promotion (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterPromotionID : @"ABC123",
+///     let params = [
+///       AnalyticsParameterPromotionID : "ABC123",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) = @"promotion_id"; -/// The name of a product promotion (NSString). +/// The name of a product promotion (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterPromotionName : @"Summer Sale",
+///     let params = [
+///       AnalyticsParameterPromotionName : "Summer Sale",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) = @"promotion_name"; -/// Purchase quantity (signed 64-bit integer as NSNumber). +/// Purchase quantity (Int). ///
-///     NSDictionary *params = @{
-///       kFIRParameterQuantity : @(1),
+///     let params = [
+///       AnalyticsParameterQuantity : 1,
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterQuantity NS_SWIFT_NAME(AnalyticsParameterQuantity) = @"quantity"; -/// Score in game (signed 64-bit integer as NSNumber). +/// Score in game (Int). ///
-///     NSDictionary *params = @{
-///       kFIRParameterScore : @(4200),
+///     let params = [
+///       AnalyticsParameterScore : 4200,
 ///       // ...
-///     };
+///     ]
 /// 
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 (NSString).
-///     NSDictionary *params = @{
-///       kFIRParameterScreenClass : @"LoginViewController",
+/// event and added to every event (String).
+/// 
+///     let params = [
+///       AnalyticsParameterScreenClass : "LoginViewController",
 ///       // ...
-///     };
+///     ]
 /// 
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 (NSString).
-///     NSDictionary *params = @{
-///       kFIRParameterScreenName : @"LoginView",
+/// added to every event (String).
+/// 
+///     let params = [
+///       AnalyticsParameterScreenName : "LoginView",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterScreenName NS_SWIFT_NAME(AnalyticsParameterScreenName) = @"screen_name"; -/// The search string/keywords used (NSString). +/// The search string/keywords used (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterSearchTerm : @"periodic table",
+///     let params = [
+///       AnalyticsParameterSearchTerm : "periodic table",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterSearchTerm NS_SWIFT_NAME(AnalyticsParameterSearchTerm) = @"search_term"; -/// Shipping cost associated with a transaction (double as NSNumber). +/// Shipping cost associated with a transaction (Double). ///
-///     NSDictionary *params = @{
-///       kFIRParameterShipping : @(5.99),
-///       kFIRParameterCurrency : @"USD",  // e.g. $5.99 USD
+///     let params = [
+///       AnalyticsParameterShipping : 5.99,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $5.99 USD
 ///       // ...
-///     };
+///     ]
 /// 
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 -/// (NSString). +/// (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterShippingTier : @"Ground",
+///     let params = [
+///       AnalyticsParameterShippingTier : "Ground",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) = @"shipping_tier"; -/// Sign up method (NSString). +/// Sign up method (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterSignUpMethod : @"google",
+///     let params = [
+///       AnalyticsParameterSignUpMethod : "google",
 ///       // ...
-///     };
+///     ]
 /// 
/// /// This constant has been deprecated. Use Method constant instead. @@ -668,113 +670,113 @@ static NSString *const kFIRParameterSignUpMethod NS_SWIFT_NAME(AnalyticsParamete /// 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 (NSString). +/// property. Highly recommended (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterSource : @"InMobi",
+///     let params = [
+///       AnalyticsParameterSource : "InMobi",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterSource NS_SWIFT_NAME(AnalyticsParameterSource) = @"source"; -/// Source Platform (NSString). Used to identify the platform responsible for directing traffic to a +/// 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.). ///
-///     NSDictionary *params = @{
-///       kFIRParameterSourcePlatform : @"sa360",
+///     let params = [
+///       AnalyticsParameterSourcePlatform : "sa360",
 ///       // ...
-///     };
+///     ]
 /// 
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 (NSString). +/// YYYY-MM-DD format (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterStartDate : @"2015-09-14",
+///     let params = [
+///       AnalyticsParameterStartDate : "2015-09-14",
 ///       // ...
-///     };
+///     ]
 /// 
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 (unsigned -/// integer as NSNumber). +/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (Int). ///
-///     NSDictionary *params = @{
-///       kFIRParameterSuccess : @(1),
+///     let params = [
+///       AnalyticsParameterSuccess : 1,
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success"; -/// Tax cost associated with a transaction (double as NSNumber). +/// Tax cost associated with a transaction (Double). ///
-///     NSDictionary *params = @{
-///       kFIRParameterTax : @(2.43),
-///       kFIRParameterCurrency : @"USD",  // e.g. $2.43 USD
+///     let params = [
+///       AnalyticsParameterTax : 2.43,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $2.43 USD
 ///       // ...
-///     };
+///     ]
 /// 
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 -/// (NSString). +/// (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterTerm : @"game",
+///     let params = [
+///       AnalyticsParameterTerm : "game",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterTerm NS_SWIFT_NAME(AnalyticsParameterTerm) = @"term"; -/// The unique identifier of a transaction (NSString). +/// The unique identifier of a transaction (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterTransactionID : @"T12345",
+///     let params = [
+///       AnalyticsParameterTransactionID : "T12345",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterTransactionID NS_SWIFT_NAME(AnalyticsParameterTransactionID) = @"transaction_id"; -/// Travel class (NSString). +/// Travel class (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterTravelClass : @"business",
+///     let params = [
+///       AnalyticsParameterTravelClass : "business",
 ///       // ...
-///     };
+///     ]
 /// 
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 signed -/// 64-bit integer or double as NSNumber. Notes: Values for pre-defined currency-related events -/// (such as @c kFIREventAddToCart) should be supplied using double as NSNumber and must be -/// accompanied by a @c kFIRParameterCurrency parameter. The valid range of accumulated values is +/// 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 kFIRParameterCurrency parameter, or supplying an invalid +/// corresponding @c AnalyticsParameterCurrency parameter, or supplying an invalid /// currency code for conversion events will cause that /// conversion to be omitted from reporting. ///
-///     NSDictionary *params = @{
-///       kFIRParameterValue : @(3.99),
-///       kFIRParameterCurrency : @"USD",  // e.g. $3.99 USD
+///     let params = [
+///       AnalyticsParameterValue : 3.99,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $3.99 USD
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterValue NS_SWIFT_NAME(AnalyticsParameterValue) = @"value"; -/// Name of virtual currency type (NSString). +/// Name of virtual currency type (String). ///
-///     NSDictionary *params = @{
-///       kFIRParameterVirtualCurrencyName : @"virtual_currency_name",
+///     let params = [
+///       AnalyticsParameterVirtualCurrencyName : "virtual_currency_name",
 ///       // ...
-///     };
+///     ]
 /// 
static NSString *const kFIRParameterVirtualCurrencyName NS_SWIFT_NAME(AnalyticsParameterVirtualCurrencyName) = @"virtual_currency_name"; diff --git a/analytics/ios_headers/FIRUserPropertyNames.h b/analytics/ios_headers/FIRUserPropertyNames.h index a71d058a2..871bae7d9 100644 --- a/analytics/ios_headers/FIRUserPropertyNames.h +++ b/analytics/ios_headers/FIRUserPropertyNames.h @@ -1,6 +1,6 @@ // Copyright 2022 Google LLC -// Copied from Firebase Analytics iOS SDK 8.13.0. +// Copied from Firebase Analytics iOS SDK 8.15.0. /// @file FIRUserPropertyNames.h /// @@ -22,8 +22,7 @@ /// more details and information about related settings. /// ///
-///     [FIRAnalytics setUserPropertyString:@"NO"
-///                                 forName:kFIRUserPropertyAllowAdPersonalizationSignals];
+///     Analytics.setUserProperty("NO", forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)
 /// 
static NSString *const kFIRUserPropertyAllowAdPersonalizationSignals NS_SWIFT_NAME(AnalyticsUserPropertyAllowAdPersonalizationSignals) = @"allow_personalized_ads"; diff --git a/app/integration_test/Podfile b/app/integration_test/Podfile index 9246711ed..5757b90ab 100644 --- a/app/integration_test/Podfile +++ b/app/integration_test/Podfile @@ -4,7 +4,7 @@ platform :ios, '10.0' # Firebase App test application. target 'integration_test' do - pod 'Firebase/Analytics', '8.13.0' + pod 'Firebase/Analytics', '8.15.0' end post_install do |installer| diff --git a/auth/integration_test/Podfile b/auth/integration_test/Podfile index f7607b04a..1d9c957d6 100644 --- a/auth/integration_test/Podfile +++ b/auth/integration_test/Podfile @@ -4,12 +4,12 @@ source 'https://github.com/CocoaPods/Specs.git' target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/Auth', '8.13.0' + pod 'Firebase/Auth', '8.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Auth', '8.13.0' + pod 'Firebase/Auth', '8.15.0' end post_install do |installer| diff --git a/cmake/external/firestore.cmake b/cmake/external/firestore.cmake index 9009f7cc2..9c46bdaf1 100644 --- a/cmake/external/firestore.cmake +++ b/cmake/external/firestore.cmake @@ -20,7 +20,7 @@ endif() # If the format of the line below changes, then be sure to update # https://github.com/firebase/firebase-cpp-sdk/blob/fd054fa016/.github/workflows/update-dependencies.yml#L81 -set(version CocoaPods-8.12.1) +set(version CocoaPods-8.15.0) function(GetReleasedDep) message("Getting released firebase-ios-sdk @ ${version}") diff --git a/cmake/external/firestore_snappy.patch.txt b/cmake/external/firestore_snappy.patch.txt index 5a5040430..3cab9246f 100644 --- a/cmake/external/firestore_snappy.patch.txt +++ b/cmake/external/firestore_snappy.patch.txt @@ -617,3 +617,273 @@ index 000000000..28bfb0837 + const uint8_t*& ip = *ip_p; + // This section is crucial for the throughput of the decompression loop. + // The latency of an iteration is fundamentally constrained by the +diff --git a/Firestore/Protos/CMakeLists.txt b/Firestore/Protos/CMakeLists.txt +index 85589b35f..96da74110 100644 +--- a/Firestore/Protos/CMakeLists.txt ++++ b/Firestore/Protos/CMakeLists.txt +@@ -12,7 +12,12 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + +-include(FindPythonInterp) ++include(python_setup) ++FirebaseSetupPythonInterpreter( ++ OUTVAR MY_PYTHON_EXECUTABLE ++ KEY FirestoreProtos ++ REQUIREMENTS six ++) + + # Generate output in-place. So long as the build is idempotent this helps + # verify that the protoc-generated output isn't changing. +@@ -200,7 +205,7 @@ if(FIREBASE_IOS_PROTOC_GENERATE_SOURCES) + COMMENT "Generating nanopb sources" + OUTPUT ${NANOPB_GENERATED_SOURCES} + COMMAND +- ${PYTHON_EXECUTABLE} ++ ${MY_PYTHON_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/build_protos.py + --nanopb + --protoc=$ +@@ -232,7 +237,7 @@ if(FIREBASE_IOS_PROTOC_GENERATE_SOURCES) + COMMENT "Generating C++ protobuf sources" + OUTPUT ${PROTOBUF_CPP_GENERATED_SOURCES} + COMMAND +- ${PYTHON_EXECUTABLE} ++ ${MY_PYTHON_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/build_protos.py + --cpp + --protoc=$ +diff --git a/Firestore/core/CMakeLists.txt b/Firestore/core/CMakeLists.txt +index aeb96431b..a1f477cbe 100644 +--- a/Firestore/core/CMakeLists.txt ++++ b/Firestore/core/CMakeLists.txt +@@ -14,8 +14,12 @@ + + include(CheckSymbolExists) + include(CheckIncludeFiles) +-include(FindPythonInterp) + ++include(python_setup) ++FirebaseSetupPythonInterpreter( ++ OUTVAR MY_PYTHON_EXECUTABLE ++ KEY FirestoreCore ++) + + ## firestore_util + +@@ -286,7 +290,7 @@ add_custom_command( + OUTPUT + ${GRPC_ROOT_CERTIFICATE_SOURCES} + COMMAND +- ${PYTHON_EXECUTABLE} ${FIREBASE_SOURCE_DIR}/scripts/binary_to_array.py ++ ${MY_PYTHON_EXECUTABLE} ${FIREBASE_SOURCE_DIR}/scripts/binary_to_array.py + --output_header=${OUTPUT_DIR}/grpc_root_certificates_generated.h + --output_source=${OUTPUT_DIR}/grpc_root_certificates_generated.cc + --cpp_namespace=firebase::firestore::remote +diff --git a/cmake/external/CMakeLists.txt b/cmake/external/CMakeLists.txt +index 2179633a8..794936fe4 100644 +--- a/cmake/external/CMakeLists.txt ++++ b/cmake/external/CMakeLists.txt +@@ -15,7 +15,12 @@ + cmake_minimum_required(VERSION 3.5.1) + project(Firebase-download C CXX) + +-list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) ++list( ++ APPEND ++ CMAKE_MODULE_PATH ++ ${CMAKE_CURRENT_LIST_DIR} ++ ${CMAKE_CURRENT_LIST_DIR}/.. ++) + + set( + FIREBASE_DOWNLOAD_DIR +diff --git a/cmake/python_setup.cmake b/cmake/python_setup.cmake +new file mode 100644 +index 000000000..bdb7b9f6a +--- /dev/null ++++ b/cmake/python_setup.cmake +@@ -0,0 +1,183 @@ ++# Copyright 2022 Google LLC ++# ++# Licensed under the Apache License, Version 2.0 (the "License"); ++# you may not use this file except in compliance with the License. ++# You may obtain a copy of the License at ++# ++# http://www.apache.org/licenses/LICENSE-2.0 ++# ++# Unless required by applicable law or agreed to in writing, software ++# distributed under the License is distributed on an "AS IS" BASIS, ++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++# See the License for the specific language governing permissions and ++# limitations under the License. ++ ++# Sets up an isolated Python interpreter, installing required dependencies. ++# ++# This function does the following: ++# 1. Finds a Python interpreter using the best-available built-in cmake ++# mechanism do do so. This is referred to as the "host" interpreter. ++# 2. Creates a Python virtualenv in the cmake binary directory using the ++# host Python interpreter found in the previous step. ++# 3. Locates the Python interpreter in the virtualenv and sets its path in ++# the specified OUTVAR variable. ++# 4. Runs `pip install` to install the specified required dependencies, if any, ++# in the virtualenv. ++# ++# This function also writes "stamp files" into the virtualenv. These files ++# are used to determine if the virtualenv is up-to-date from a previous cmake ++# run or if it needs to be recreated from scratch. It will simply be re-used if ++# possible. ++# ++# If any errors occur (e.g. cannot install one of the given requirements) then a ++# fatal error is logged, causing the cmake processing to terminate. ++# ++# See https://docs.python.org/3/library/venv.html for details about virtualenv. ++# ++# Arguments: ++# OUTVAR - The name of the variable into which to store the path of the ++# Python executable from the virtualenv. ++# KEY - A unique key to ensure isolation from other Python virtualenv ++# environments created by this function. This value will be incorporated ++# into the path of the virtualenv and incorporated into the name of the ++# cmake cache variable that stores its path. ++# REQUIREMENTS - (Optional) A list of Python packages to install in the ++# virtualenv. These will be given as arguments to `pip install`. ++# ++# Example: ++# include(python_setup) ++# FirebaseSetupPythonInterpreter( ++# OUTVAR MY_PYTHON_EXECUTABLE ++# KEY ScanStuff ++# REQUIREMENTS six absl-py ++# ) ++# execute_process(COMMAND "${MY_PYTHON_EXECUTABLE}" scan_stuff.py) ++function(FirebaseSetupPythonInterpreter) ++ cmake_parse_arguments( ++ PARSE_ARGV 0 ++ ARG ++ "" # zero-value arguments ++ "OUTVAR;KEY" # single-value arguments ++ "REQUIREMENTS" # multi-value arguments ++ ) ++ ++ # Validate this function's arguments. ++ if("${ARG_OUTVAR}" STREQUAL "") ++ message(FATAL_ERROR "OUTVAR must be specified to ${CMAKE_CURRENT_FUNCTION}") ++ elseif("${ARG_KEY}" STREQUAL "") ++ message(FATAL_ERROR "KEY must be specified to ${CMAKE_CURRENT_FUNCTION}") ++ endif() ++ ++ # Calculate the name of the cmake *cache* variable into which to store the ++ # path of the Python interpreter from the virtualenv. ++ set(CACHEVAR "FIREBASE_PYTHON_EXECUTABLE_${ARG_KEY}") ++ ++ set(LOG_PREFIX "${CMAKE_CURRENT_FUNCTION}(${ARG_KEY})") ++ ++ # Find a "host" Python interpreter using the best available mechanism. ++ if(${CMAKE_VERSION} VERSION_LESS "3.12") ++ include(FindPythonInterp) ++ set(DEFAULT_PYTHON_HOST_EXECUTABLE "${PYTHON_EXECUTABLE}") ++ else() ++ find_package(Python3 COMPONENTS Interpreter REQUIRED) ++ set(DEFAULT_PYTHON_HOST_EXECUTABLE "${Python3_EXECUTABLE}") ++ endif() ++ ++ # Get the host Python interpreter on the host system to use. ++ set( ++ FIREBASE_PYTHON_HOST_EXECUTABLE ++ "${DEFAULT_PYTHON_HOST_EXECUTABLE}" ++ CACHE FILEPATH ++ "The Python interpreter on the host system to use" ++ ) ++ ++ # Check if the virtualenv is already up-to-date by examining the contents of ++ # its stamp files. The stamp files store the path of the host Python ++ # interpreter and the dependencies that were installed by pip. If both of ++ # these files exist and contain the same Python interpreter and dependencies ++ # then just re-use the virtualenv; otherwise, re-create it. ++ set(PYVENV_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/pyvenv/${ARG_KEY}") ++ set(STAMP_FILE1 "${PYVENV_DIRECTORY}/cmake_firebase_python_stamp1.txt") ++ set(STAMP_FILE2 "${PYVENV_DIRECTORY}/cmake_firebase_python_stamp2.txt") ++ ++ if(EXISTS "${STAMP_FILE1}" AND EXISTS "${STAMP_FILE2}") ++ file(READ "${STAMP_FILE1}" STAMP_FILE1_CONTENTS) ++ file(READ "${STAMP_FILE2}" STAMP_FILE2_CONTENTS) ++ if( ++ ("${STAMP_FILE1_CONTENTS}" STREQUAL "${FIREBASE_PYTHON_HOST_EXECUTABLE}") ++ AND ++ ("${STAMP_FILE2_CONTENTS}" STREQUAL "${ARG_REQUIREMENTS}") ++ ) ++ set("${ARG_OUTVAR}" "$CACHE{${CACHEVAR}}" PARENT_SCOPE) ++ message(STATUS "${LOG_PREFIX}: Using Python interpreter: $CACHE{${CACHEVAR}}") ++ return() ++ endif() ++ endif() ++ ++ # Create the virtualenv. ++ message(STATUS ++ "${LOG_PREFIX}: Creating Python virtualenv in ${PYVENV_DIRECTORY} " ++ "using ${FIREBASE_PYTHON_HOST_EXECUTABLE}" ++ ) ++ file(REMOVE_RECURSE "${PYVENV_DIRECTORY}") ++ execute_process( ++ COMMAND ++ "${FIREBASE_PYTHON_HOST_EXECUTABLE}" ++ -m ++ venv ++ "${PYVENV_DIRECTORY}" ++ RESULT_VARIABLE ++ FIREBASE_PYVENV_CREATE_RESULT ++ ) ++ if(NOT FIREBASE_PYVENV_CREATE_RESULT EQUAL 0) ++ message(FATAL_ERROR ++ "Failed to create a Python virtualenv in ${PYVENV_DIRECTORY} " ++ "using ${FIREBASE_PYTHON_HOST_EXECUTABLE}") ++ endif() ++ ++ # Find the Python interpreter in the virtualenv. ++ find_program( ++ "${CACHEVAR}" ++ DOC "The Python interpreter to use for ${ARG_KEY}" ++ NAMES python3 python ++ PATHS "${PYVENV_DIRECTORY}" ++ PATH_SUFFIXES bin Scripts ++ NO_DEFAULT_PATH ++ ) ++ if(NOT ${CACHEVAR}) ++ message(FATAL_ERROR "Unable to find Python executable in ${PYVENV_DIRECTORY}") ++ else() ++ set(PYTHON_EXECUTABLE "$CACHE{${CACHEVAR}}") ++ message(STATUS "${LOG_PREFIX}: Found Python executable in virtualenv: ${PYTHON_EXECUTABLE}") ++ endif() ++ ++ # Install the dependencies in the virtualenv, if any are requested. ++ if(NOT ("${ARG_REQUIREMENTS}" STREQUAL "")) ++ message(STATUS ++ "${LOG_PREFIX}: Installing Python dependencies into " ++ "${PYVENV_DIRECTORY}: ${ARG_REQUIREMENTS}" ++ ) ++ execute_process( ++ COMMAND ++ "${PYTHON_EXECUTABLE}" ++ -m ++ pip ++ install ++ ${ARG_REQUIREMENTS} ++ RESULT_VARIABLE ++ PIP_INSTALL_RESULT ++ ) ++ if(NOT PIP_INSTALL_RESULT EQUAL 0) ++ message(FATAL_ERROR ++ "Failed to install Python dependencies into " ++ "${PYVENV_DIRECTORY}: ${ARG_REQUIREMENTS}" ++ ) ++ endif() ++ endif() ++ ++ # Write the stamp files. ++ file(WRITE "${STAMP_FILE1}" "${FIREBASE_PYTHON_HOST_EXECUTABLE}") ++ file(WRITE "${STAMP_FILE2}" "${ARG_REQUIREMENTS}") ++ ++ set("${ARG_OUTVAR}" "${PYTHON_EXECUTABLE}" PARENT_SCOPE) ++endfunction(FirebaseSetupPythonInterpreter) diff --git a/database/integration_test/Podfile b/database/integration_test/Podfile index 5f51921d0..25371cae0 100644 --- a/database/integration_test/Podfile +++ b/database/integration_test/Podfile @@ -4,14 +4,14 @@ source 'https://github.com/CocoaPods/Specs.git' target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/Database', '8.13.0' - pod 'Firebase/Auth', '8.13.0' + pod 'Firebase/Database', '8.15.0' + pod 'Firebase/Auth', '8.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Database', '8.13.0' - pod 'Firebase/Auth', '8.13.0' + pod 'Firebase/Database', '8.15.0' + pod 'Firebase/Auth', '8.15.0' end post_install do |installer| diff --git a/dynamic_links/integration_test/Podfile b/dynamic_links/integration_test/Podfile index ac306a426..d005a7015 100644 --- a/dynamic_links/integration_test/Podfile +++ b/dynamic_links/integration_test/Podfile @@ -4,7 +4,7 @@ platform :ios, '10.0' # Firebase Dynamic Links test application. target 'integration_test' do - pod 'Firebase/DynamicLinks', '8.13.0' + pod 'Firebase/DynamicLinks', '8.15.0' end post_install do |installer| diff --git a/firestore/integration_test/Podfile b/firestore/integration_test/Podfile index 9b40fa3d1..d36635a22 100644 --- a/firestore/integration_test/Podfile +++ b/firestore/integration_test/Podfile @@ -4,14 +4,14 @@ source 'https://github.com/CocoaPods/Specs.git' target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/Firestore', '8.13.0' - pod 'Firebase/Auth', '8.13.0' + pod 'Firebase/Firestore', '8.15.0' + pod 'Firebase/Auth', '8.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Firestore', '8.13.0' - pod 'Firebase/Auth', '8.13.0' + pod 'Firebase/Firestore', '8.15.0' + pod 'Firebase/Auth', '8.15.0' end post_install do |installer| diff --git a/firestore/integration_test_internal/Podfile b/firestore/integration_test_internal/Podfile index 0f7e7aea2..7457898e5 100644 --- a/firestore/integration_test_internal/Podfile +++ b/firestore/integration_test_internal/Podfile @@ -4,14 +4,14 @@ platform :ios, '10.0' target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/Firestore', '8.13.0' - pod 'Firebase/Auth', '8.13.0' + pod 'Firebase/Firestore', '8.15.0' + pod 'Firebase/Auth', '8.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Firestore', '8.13.0' - pod 'Firebase/Auth', '8.13.0' + pod 'Firebase/Firestore', '8.15.0' + pod 'Firebase/Auth', '8.15.0' end post_install do |installer| diff --git a/firestore/src/main/query_main.h b/firestore/src/main/query_main.h index bc430aae9..9993777c8 100644 --- a/firestore/src/main/query_main.h +++ b/firestore/src/main/query_main.h @@ -182,7 +182,7 @@ class QueryInternal { kEndAt, }; - using Operator = core::Filter::Operator; + using Operator = core::FieldFilter::Operator; Query Where(const FieldPath& field, Operator op, diff --git a/functions/integration_test/Podfile b/functions/integration_test/Podfile index 7830767a3..458d9a0cd 100644 --- a/functions/integration_test/Podfile +++ b/functions/integration_test/Podfile @@ -4,14 +4,14 @@ source 'https://github.com/CocoaPods/Specs.git' target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/Functions', '8.13.0' - pod 'Firebase/Auth', '8.13.0' + pod 'Firebase/Functions', '8.15.0' + pod 'Firebase/Auth', '8.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Functions', '8.13.0' - pod 'Firebase/Auth', '8.13.0' + pod 'Firebase/Functions', '8.15.0' + pod 'Firebase/Auth', '8.15.0' end post_install do |installer| diff --git a/installations/integration_test/Podfile b/installations/integration_test/Podfile index 9047a4973..ddf549171 100644 --- a/installations/integration_test/Podfile +++ b/installations/integration_test/Podfile @@ -4,8 +4,8 @@ platform :ios, '10.0' # Firebase Installations test application. target 'integration_test' do - pod 'Firebase/Analytics', '8.13.0' - pod 'Firebase/Installations', '8.13.0' + pod 'Firebase/Analytics', '8.15.0' + pod 'Firebase/Installations', '8.15.0' end post_install do |installer| diff --git a/ios_pod/Podfile b/ios_pod/Podfile index 6bbfb1fee..5fd5cde1d 100644 --- a/ios_pod/Podfile +++ b/ios_pod/Podfile @@ -2,19 +2,19 @@ source 'https://github.com/CocoaPods/Specs.git' platform :ios, '10.0' target 'GetPods' do - pod 'Firebase/Core', '8.13.0' + pod 'Firebase/Core', '8.15.0' pod 'Google-Mobile-Ads-SDK', '7.69.0-cppsdk' - pod 'Firebase/Analytics', '8.13.0' - pod 'Firebase/Auth', '8.13.0' - pod 'Firebase/Crashlytics', '8.13.0' - pod 'Firebase/Database', '8.13.0' - pod 'Firebase/DynamicLinks', '8.13.0' - pod 'Firebase/Firestore', '8.13.0' - pod 'Firebase/Functions', '8.13.0' - pod 'Firebase/Installations', '8.13.0' - pod 'Firebase/Messaging', '8.13.0' - pod 'Firebase/RemoteConfig', '8.13.0' - pod 'Firebase/Storage', '8.13.0' + pod 'Firebase/Analytics', '8.15.0' + pod 'Firebase/Auth', '8.15.0' + pod 'Firebase/Crashlytics', '8.15.0' + pod 'Firebase/Database', '8.15.0' + pod 'Firebase/DynamicLinks', '8.15.0' + pod 'Firebase/Firestore', '8.15.0' + pod 'Firebase/Functions', '8.15.0' + pod 'Firebase/Installations', '8.15.0' + pod 'Firebase/Messaging', '8.15.0' + pod 'Firebase/RemoteConfig', '8.15.0' + pod 'Firebase/Storage', '8.15.0' end diff --git a/messaging/integration_test/Podfile b/messaging/integration_test/Podfile index 8da116160..03edf1e97 100644 --- a/messaging/integration_test/Podfile +++ b/messaging/integration_test/Podfile @@ -4,12 +4,12 @@ source 'https://github.com/CocoaPods/Specs.git' target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/Messaging', '8.13.0' + pod 'Firebase/Messaging', '8.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Messaging', '8.13.0' + pod 'Firebase/Messaging', '8.15.0' end post_install do |installer| diff --git a/release_build_files/readme.md b/release_build_files/readme.md index 71422ed06..ce4bd8653 100644 --- a/release_build_files/readme.md +++ b/release_build_files/readme.md @@ -180,46 +180,46 @@ Feature | Required Frameworks and Cocoapods -------------------------- | --------------------------------------- Firebase AdMob | firebase_admob.xcframework | | firebase.xcframework -| | Firebase/Analytics Cocoapod (8.13.0) +| | Firebase/Analytics Cocoapod (8.15.0) | | Google-Mobile-Ads-SDK Cocoapod (7.69.0-cppsdk) Firebase Analytics | firebase_analytics.xcframework | | firebase.xcframework -| | Firebase/Analytics Cocoapod (8.13.0) +| | Firebase/Analytics Cocoapod (8.15.0) Firebase Authentication | firebase_auth.xcframework | | firebase.xcframework -| | Firebase/Auth Cocoapod (8.13.0) +| | Firebase/Auth Cocoapod (8.15.0) Firebase Dynamic Links | firebase_dynamic_links.xcframework | | firebase.xcframework -| | Firebase/DynamicLinks Cocoapod (8.13.0) +| | Firebase/DynamicLinks Cocoapod (8.15.0) Cloud Firestore | firebase_firestore.xcframework | | firebase_auth.xcframework | | firebase.xcframework -| | Firebase/Firestore Cocoapod (8.13.0) -| | Firebase/Auth Cocoapod (8.13.0) +| | Firebase/Firestore Cocoapod (8.15.0) +| | Firebase/Auth Cocoapod (8.15.0) Firebase Functions | firebase_functions.xcframework | | firebase_auth.xcframework (optional) | | firebase.xcframework -| | Firebase/Functions Cocoapod (8.13.0) -| | Firebase/Auth Cocoapod (8.13.0) +| | Firebase/Functions Cocoapod (8.15.0) +| | Firebase/Auth Cocoapod (8.15.0) Firebase Installations | firebase_installations.xcframework | | firebase.xcframework -| | FirebaseInstallations Cocoapod (8.14.0) +| | FirebaseInstallations Cocoapod (8.15.0) Firebase Cloud Messaging | firebase_messaging.xcframework | | firebase.xcframework -| | Firebase/Messaging Cocoapod (8.13.0) +| | Firebase/Messaging Cocoapod (8.15.0) Firebase Realtime Database | firebase_database.xcframework | | firebase_auth.xcframework | | firebase.xcframework -| | Firebase/Database Cocoapod (8.13.0) -| | Firebase/Auth Cocoapod (8.13.0) +| | Firebase/Database Cocoapod (8.15.0) +| | Firebase/Auth Cocoapod (8.15.0) Firebase Remote Config | firebase_remote_config.xcframework | | firebase.xcframework -| | Firebase/RemoteConfig Cocoapod (8.13.0) +| | Firebase/RemoteConfig Cocoapod (8.15.0) Firebase Storage | firebase_storage.xcframework | | firebase_auth.xcframework | | firebase.xcframework -| | Firebase/Storage Cocoapod (8.13.0) -| | Firebase/Auth Cocoapod (8.13.0) +| | Firebase/Storage Cocoapod (8.15.0) +| | Firebase/Auth Cocoapod (8.15.0) Important: Each version of the Firebase C++ SDK supports a specific version of the Firebase iOS SDK. Please ensure that you reference the Cocoapod versions @@ -240,46 +240,46 @@ Feature | Required Libraries and Cocoapods -------------------------- | ----------------------------------------- Firebase AdMob | libfirebase_admob.a | | libfirebase_app.a -| | Firebase/Analytics Cocoapod (8.13.0) +| | Firebase/Analytics Cocoapod (8.15.0) | | Google-Mobile-Ads-SDK Cocoapod (7.69.0-cppsdk) Firebase Analytics | libfirebase_analytics.a | | libfirebase_app.a -| | Firebase/Analytics Cocoapod (8.13.0) +| | Firebase/Analytics Cocoapod (8.15.0) Firebase Authentication | libfirebase_auth.a | | libfirebase_app.a -| | Firebase/Auth Cocoapod (8.13.0) +| | Firebase/Auth Cocoapod (8.15.0) Firebase Dynamic Links | libfirebase_dynamic_links.a | | libfirebase_app.a -| | Firebase/DynamicLinks Cocoapod (8.13.0) +| | Firebase/DynamicLinks Cocoapod (8.15.0) Cloud Firestore | libfirebase_firestore.a | | libfirebase_app.a | | libfirebase_auth.a -| | Firebase/Firestore Cocoapod (8.13.0) -| | Firebase/Auth Cocoapod (8.13.0) +| | Firebase/Firestore Cocoapod (8.15.0) +| | Firebase/Auth Cocoapod (8.15.0) Firebase Functions | libfirebase_functions.a | | libfirebase_app.a | | libfirebase_auth.a (optional) -| | Firebase/Functions Cocoapod (8.13.0) -| | Firebase/Auth Cocoapod (8.13.0) +| | Firebase/Functions Cocoapod (8.15.0) +| | Firebase/Auth Cocoapod (8.15.0) Firebase Installations | libfirebase_installations.a | | libfirebase_app.a -| | FirebaseInstallations Cocoapod (8.14.0) +| | FirebaseInstallations Cocoapod (8.15.0) Firebase Cloud Messaging | libfirebase_messaging.a | | libfirebase_app.a -| | Firebase/CloudMessaging Cocoapod (8.13.0) +| | Firebase/CloudMessaging Cocoapod (8.15.0) Firebase Realtime Database | libfirebase_database.a | | libfirebase_app.a | | libfirebase_auth.a -| | Firebase/Database Cocoapod (8.13.0) -| | Firebase/Auth Cocoapod (8.13.0) +| | Firebase/Database Cocoapod (8.15.0) +| | Firebase/Auth Cocoapod (8.15.0) Firebase Remote Config | libfirebase_remote_config.a | | libfirebase_app.a -| | Firebase/RemoteConfig Cocoapod (8.13.0) +| | Firebase/RemoteConfig Cocoapod (8.15.0) Firebase Storage | libfirebase_storage.a | | libfirebase_app.a | | libfirebase_auth.a -| | Firebase/Storage Cocoapod (8.13.0) -| | Firebase/Auth Cocoapod (8.13.0) +| | Firebase/Storage Cocoapod (8.15.0) +| | Firebase/Auth Cocoapod (8.15.0) Important: Each version of the Firebase C++ SDK supports a specific version of the Firebase iOS SDK. Please ensure that you reference the Cocoapod versions diff --git a/remote_config/integration_test/Podfile b/remote_config/integration_test/Podfile index 453a01673..6bfe7467a 100644 --- a/remote_config/integration_test/Podfile +++ b/remote_config/integration_test/Podfile @@ -4,12 +4,12 @@ source 'https://github.com/CocoaPods/Specs.git' target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/RemoteConfig', '8.13.0' + pod 'Firebase/RemoteConfig', '8.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/RemoteConfig', '8.13.0' + pod 'Firebase/RemoteConfig', '8.15.0' end post_install do |installer| diff --git a/scripts/gha/build_testapps.py b/scripts/gha/build_testapps.py index 49916026b..6a3d71785 100644 --- a/scripts/gha/build_testapps.py +++ b/scripts/gha/build_testapps.py @@ -259,7 +259,8 @@ def main(argv): cmake_flags.extend(( "-DCMAKE_TOOLCHAIN_FILE=%s" % toolchain_file, - "-DVCPKG_TARGET_TRIPLET=%s" % utils.get_vcpkg_triplet(arch=vcpkg_arch) + "-DVCPKG_TARGET_TRIPLET=%s" % utils.get_vcpkg_triplet(arch=vcpkg_arch), + "-DFIREBASE_PYTHON_HOST_EXECUTABLE:FILEPATH=%s" % sys.executable, )) if FLAGS.cmake_flag: diff --git a/storage/integration_test/Podfile b/storage/integration_test/Podfile index 39c81cb4d..2fc7d5965 100644 --- a/storage/integration_test/Podfile +++ b/storage/integration_test/Podfile @@ -4,14 +4,14 @@ source 'https://github.com/CocoaPods/Specs.git' target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/Storage', '8.13.0' - pod 'Firebase/Auth', '8.13.0' + pod 'Firebase/Storage', '8.15.0' + pod 'Firebase/Auth', '8.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Storage', '8.13.0' - pod 'Firebase/Auth', '8.13.0' + pod 'Firebase/Storage', '8.15.0' + pod 'Firebase/Auth', '8.15.0' end post_install do |installer|