ObjCAPITests.m 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. //
  2. // Copyright 2023 Google LLC
  3. //
  4. // Licensed under the Apache License, Version 2.0 (the "License");
  5. // you may not use this file except in compliance with the License.
  6. // You may obtain a copy of the License at
  7. //
  8. // http://www.apache.org/licenses/LICENSE-2.0
  9. //
  10. // Unless required by applicable law or agreed to in writing, software
  11. // distributed under the License is distributed on an "AS IS" BASIS,
  12. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. // See the License for the specific language governing permissions and
  14. // limitations under the License.
  15. //
  16. // MARK: This file is used to test the coverage of using Analytics APIs from Objective C.
  17. @import Foundation;
  18. @import XCTest;
  19. @import FirebaseAnalytics;
  20. @interface ObjCAPICoverage : XCTestCase
  21. @end
  22. @implementation ObjCAPICoverage
  23. - (void)testFoo {
  24. XCTAssert(YES);
  25. }
  26. - (NSString *)analyticsTests {
  27. [FIRAnalytics logEventWithName:@"event_name" parameters:@{@"param" : @1}];
  28. [FIRAnalytics setUserPropertyString:@"value" forName:@"name"];
  29. [FIRAnalytics setUserID:@"userid"];
  30. [FIRAnalytics setAnalyticsCollectionEnabled:YES];
  31. [FIRAnalytics setSessionTimeoutInterval:360.0];
  32. [FIRAnalytics resetAnalyticsData];
  33. [FIRAnalytics setDefaultEventParameters:@{@"default" : @100}];
  34. NSString *str = [FIRAnalytics appInstanceID];
  35. [FIRAnalytics sessionIDWithCompletion:^(int64_t sessionID, NSError *_Nullable error){
  36. }];
  37. return str;
  38. }
  39. - (void)appDelegateTests:(NSURL *)url {
  40. [FIRAnalytics handleEventsForBackgroundURLSession:@"sessionID"
  41. completionHandler:^{
  42. }];
  43. [FIRAnalytics handleOpenURL:url];
  44. [FIRAnalytics handleUserActivity:[NSUserActivity init]];
  45. }
  46. - (void)consentTests:(NSURL *)url {
  47. [FIRAnalytics setConsent:@{
  48. FIRConsentTypeAdPersonalization : FIRConsentStatusGranted,
  49. FIRConsentTypeAdStorage : FIRConsentStatusDenied,
  50. FIRConsentTypeAdUserData : FIRConsentStatusGranted,
  51. FIRConsentTypeAnalyticsStorage : FIRConsentStatusDenied,
  52. }];
  53. }
  54. - (void)onDeviceConversionTests:(NSURL *)url {
  55. [FIRAnalytics initiateOnDeviceConversionMeasurementWithEmailAddress:@"a@.a.com"];
  56. [FIRAnalytics initiateOnDeviceConversionMeasurementWithPhoneNumber:@"+15555555555"];
  57. [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedEmailAddress:[NSData data]];
  58. [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:[NSData data]];
  59. }
  60. - (NSArray<NSString *> *)eventNames {
  61. return @[
  62. kFIREventAdImpression,
  63. kFIREventAddPaymentInfo,
  64. kFIREventAddShippingInfo,
  65. kFIREventAddToCart,
  66. kFIREventAddToWishlist,
  67. kFIREventAppOpen,
  68. kFIREventBeginCheckout,
  69. kFIREventCampaignDetails,
  70. kFIREventEarnVirtualCurrency,
  71. kFIREventGenerateLead,
  72. kFIREventJoinGroup,
  73. kFIREventLevelEnd,
  74. kFIREventLevelStart,
  75. kFIREventLevelUp,
  76. kFIREventLogin,
  77. kFIREventPostScore,
  78. kFIREventPurchase,
  79. kFIREventRefund,
  80. kFIREventRemoveFromCart,
  81. kFIREventScreenView,
  82. kFIREventSearch,
  83. kFIREventSelectContent,
  84. kFIREventSelectItem,
  85. kFIREventSelectPromotion,
  86. kFIREventShare,
  87. kFIREventSignUp,
  88. kFIREventSpendVirtualCurrency,
  89. kFIREventTutorialBegin,
  90. kFIREventTutorialComplete,
  91. kFIREventUnlockAchievement,
  92. kFIREventViewCart,
  93. kFIREventViewItem,
  94. kFIREventViewItemList,
  95. kFIREventViewPromotion,
  96. kFIREventViewSearchResults,
  97. ];
  98. }
  99. - (NSArray<NSString *> *)parameterNames {
  100. return @[
  101. kFIRParameterAchievementID,
  102. kFIRParameterAdFormat,
  103. kFIRParameterAdNetworkClickID,
  104. kFIRParameterAdPlatform,
  105. kFIRParameterAdSource,
  106. kFIRParameterAdUnitName,
  107. kFIRParameterAffiliation,
  108. kFIRParameterCP1,
  109. kFIRParameterCampaign,
  110. kFIRParameterCampaignID,
  111. kFIRParameterCharacter,
  112. kFIRParameterContent,
  113. kFIRParameterContentType,
  114. kFIRParameterCoupon,
  115. kFIRParameterCreativeFormat,
  116. kFIRParameterCreativeName,
  117. kFIRParameterCreativeSlot,
  118. kFIRParameterCurrency,
  119. kFIRParameterDestination,
  120. kFIRParameterDiscount,
  121. kFIRParameterEndDate,
  122. kFIRParameterExtendSession,
  123. kFIRParameterFlightNumber,
  124. kFIRParameterGroupID,
  125. kFIRParameterIndex,
  126. kFIRParameterItemBrand,
  127. kFIRParameterItemCategory,
  128. kFIRParameterItemCategory2,
  129. kFIRParameterItemCategory3,
  130. kFIRParameterItemCategory4,
  131. kFIRParameterItemCategory5,
  132. kFIRParameterItemID,
  133. kFIRParameterItemListID,
  134. kFIRParameterItemListName,
  135. kFIRParameterItemName,
  136. kFIRParameterItemVariant,
  137. kFIRParameterItems,
  138. kFIRParameterLevel,
  139. kFIRParameterLevelName,
  140. kFIRParameterLocation,
  141. kFIRParameterLocationID,
  142. kFIRParameterMarketingTactic,
  143. kFIRParameterMedium,
  144. kFIRParameterMethod,
  145. kFIRParameterNumberOfNights,
  146. kFIRParameterNumberOfPassengers,
  147. kFIRParameterNumberOfRooms,
  148. kFIRParameterOrigin,
  149. kFIRParameterPaymentType,
  150. kFIRParameterPrice,
  151. kFIRParameterPromotionID,
  152. kFIRParameterPromotionName,
  153. kFIRParameterQuantity,
  154. kFIRParameterScore,
  155. kFIRParameterScreenClass,
  156. kFIRParameterScreenName,
  157. kFIRParameterSearchTerm,
  158. kFIRParameterShipping,
  159. kFIRParameterShippingTier,
  160. kFIRParameterSource,
  161. kFIRParameterSourcePlatform,
  162. kFIRParameterStartDate,
  163. kFIRParameterSuccess,
  164. kFIRParameterTax,
  165. kFIRParameterTerm,
  166. kFIRParameterTransactionID,
  167. kFIRParameterTravelClass,
  168. kFIRParameterValue,
  169. kFIRParameterVirtualCurrencyName,
  170. ];
  171. }
  172. - (NSArray<NSString *> *)userPropertyNames {
  173. return @[
  174. kFIRUserPropertyAllowAdPersonalizationSignals,
  175. kFIRUserPropertySignUpMethod,
  176. ];
  177. }
  178. @end