airbridge-react-native-sdk-restricted 2.8.9 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/.github/workflows/build.yml +249 -159
  2. package/.github/workflows/documentation.yml +79 -0
  3. package/.github/workflows/qa.yml +187 -0
  4. package/.github/workflows/release.yml +26 -0
  5. package/airbridge-react-native-sdk-restricted.podspec +10 -7
  6. package/airbridge_sdk.json +4 -0
  7. package/android/build.gradle +22 -5
  8. package/android/{copy-config.gradle → copy-airbridge-json.gradle} +2 -2
  9. package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeReactNative.kt +153 -0
  10. package/android/src/main/java/co/ab180/airbridge/reactnative/common/AirbridgeLifecycleIntegration.kt +7 -0
  11. package/android/src/main/java/co/ab180/airbridge/reactnative/extension/AirbridgeOptionBuilderApply.kt +79 -0
  12. package/android/src/main/java/co/ab180/airbridge/reactnative/extension/JSONConvert.kt +33 -0
  13. package/android/src/main/java/co/ab180/airbridge/reactnative/module/AttributionInteractor.kt +54 -0
  14. package/android/src/main/java/co/ab180/airbridge/reactnative/module/DeeplinkInteractor.kt +45 -0
  15. package/android/src/main/java/co/ab180/airbridge/reactnative/module/EventInteractor.kt +22 -0
  16. package/android/src/main/java/co/ab180/airbridge/reactnative/module/FetchInteractor.kt +51 -0
  17. package/android/src/main/java/co/ab180/airbridge/reactnative/module/PlacementInteractor.kt +56 -0
  18. package/android/src/main/java/co/ab180/airbridge/reactnative/module/RegisterInteractor.kt +108 -0
  19. package/android/src/main/java/co/ab180/airbridge/reactnative/module/SwitchInteractor.kt +43 -0
  20. package/android/src/main/java/co/ab180/airbridge/reactnative/module/WebInterfaceInteractor.kt +24 -0
  21. package/build/document/.nojekyll +1 -0
  22. package/build/document/assets/highlight.css +22 -0
  23. package/build/document/assets/icons.js +18 -0
  24. package/build/document/assets/icons.svg +1 -0
  25. package/build/document/assets/main.js +60 -0
  26. package/build/document/assets/navigation.js +1 -0
  27. package/build/document/assets/search.js +1 -0
  28. package/build/document/assets/style.css +1448 -0
  29. package/build/document/classes/Airbridge.html +113 -0
  30. package/build/document/classes/AirbridgeAttribute.html +49 -0
  31. package/build/document/classes/AirbridgeCategory.html +28 -0
  32. package/build/document/index.html +8 -0
  33. package/build/document/modules.html +4 -0
  34. package/build/source/Airbridge.d.ts +230 -0
  35. package/build/source/Airbridge.js +277 -0
  36. package/build/source/Airbridge.js.map +1 -0
  37. package/build/source/architecture/Interactor.d.ts +2 -0
  38. package/build/source/architecture/Interactor.js +7 -0
  39. package/build/source/architecture/Interactor.js.map +1 -0
  40. package/build/source/architecture/module.d.ts +1 -0
  41. package/build/source/architecture/module.js +2 -0
  42. package/build/source/architecture/module.js.map +1 -0
  43. package/build/source/constant/AirbridgeAttribute.d.ts +51 -0
  44. package/build/source/constant/AirbridgeAttribute.js +144 -0
  45. package/build/source/constant/AirbridgeAttribute.js.map +1 -0
  46. package/build/source/constant/AirbridgeCategory.d.ts +30 -0
  47. package/build/source/constant/AirbridgeCategory.js +81 -0
  48. package/build/source/constant/AirbridgeCategory.js.map +1 -0
  49. package/build/source/module/Attribution.d.ts +16 -0
  50. package/build/source/module/Attribution.js +39 -0
  51. package/build/source/module/Attribution.js.map +1 -0
  52. package/build/source/module/Deeplink.d.ts +17 -0
  53. package/build/source/module/Deeplink.js +40 -0
  54. package/build/source/module/Deeplink.js.map +1 -0
  55. package/build/source/module/Event.d.ts +14 -0
  56. package/build/source/module/Event.js +50 -0
  57. package/build/source/module/Event.js.map +1 -0
  58. package/build/source/module/Fetch.d.ts +19 -0
  59. package/build/source/module/Fetch.js +100 -0
  60. package/build/source/module/Fetch.js.map +1 -0
  61. package/build/source/module/Placement.d.ts +18 -0
  62. package/build/source/module/Placement.js +95 -0
  63. package/build/source/module/Placement.js.map +1 -0
  64. package/build/source/module/Register.d.ts +49 -0
  65. package/build/source/module/Register.js +138 -0
  66. package/build/source/module/Register.js.map +1 -0
  67. package/build/source/module/Switch.d.ts +24 -0
  68. package/build/source/module/Switch.js +39 -0
  69. package/build/source/module/Switch.js.map +1 -0
  70. package/build/source/module/WebInterface.d.ts +16 -0
  71. package/build/source/module/WebInterface.js +46 -0
  72. package/build/source/module/WebInterface.js.map +1 -0
  73. package/build/source/module.d.ts +3 -0
  74. package/build/source/module.js +4 -0
  75. package/build/source/module.js.map +1 -0
  76. package/build/source/utility/check.d.ts +13 -0
  77. package/build/source/utility/check.js +15 -0
  78. package/build/source/utility/check.js.map +1 -0
  79. package/build/source/utility/compute.d.ts +3 -0
  80. package/build/source/utility/compute.js +5 -0
  81. package/build/source/utility/compute.js.map +1 -0
  82. package/build/source/utility/create.d.ts +5 -0
  83. package/build/source/utility/create.js +12 -0
  84. package/build/source/utility/create.js.map +1 -0
  85. package/build/source/utility/extract.d.ts +3 -0
  86. package/build/source/utility/extract.js +4 -0
  87. package/build/source/utility/extract.js.map +1 -0
  88. package/build/source/utility/json.d.ts +11 -0
  89. package/build/source/utility/json.js +137 -0
  90. package/build/source/utility/json.js.map +1 -0
  91. package/build/source/utility/log.d.ts +4 -0
  92. package/build/source/utility/log.js +9 -0
  93. package/build/source/utility/log.js.map +1 -0
  94. package/changelog.md +14 -3
  95. package/ios/AirbridgeReactNative/AirbridgeReactNative.h +23 -0
  96. package/ios/AirbridgeReactNative/AirbridgeReactNative.m +36 -0
  97. package/ios/AirbridgeReactNative/AirbridgeReactNative.swift +107 -0
  98. package/ios/AirbridgeReactNative/Extension/AirbridgeOptionBuilderApply.swift +86 -0
  99. package/ios/AirbridgeReactNative/Extension/DataFromHex.swift +21 -0
  100. package/ios/AirbridgeReactNative/Extension/Logger.swift +62 -0
  101. package/ios/AirbridgeReactNative/Module/AirbridgeModuleExtern.m +133 -0
  102. package/ios/AirbridgeReactNative/Module/AttributionInteractor.swift +43 -0
  103. package/ios/AirbridgeReactNative/Module/DeeplinkInteractor.swift +49 -0
  104. package/ios/AirbridgeReactNative/Module/EventInteractor.swift +26 -0
  105. package/ios/AirbridgeReactNative/Module/FetchInteractor.swift +66 -0
  106. package/ios/AirbridgeReactNative/Module/PlacementInteractor.swift +72 -0
  107. package/ios/AirbridgeReactNative/Module/RegisterInteractor.swift +104 -0
  108. package/ios/AirbridgeReactNative/Module/SwitchInteractor.swift +48 -0
  109. package/ios/AirbridgeReactNative/Module/WebInterfaceInteractor.swift +30 -0
  110. package/ios/{copy-config.rb → copy-airbridge-json.rb} +1 -1
  111. package/package.json +18 -27
  112. package/qa/Gemfile +3 -4
  113. package/qa/Gemfile.lock +28 -17
  114. package/qa/airbridge_qa.json +6 -0
  115. package/qa/android/app/build.gradle +30 -26
  116. package/qa/android/app/src/main/AndroidManifest.xml +182 -7
  117. package/qa/android/app/src/main/java/co/ab180/airbridge/qa/application/ConfigurationLoader.kt +5 -5
  118. package/qa/android/app/src/main/java/co/ab180/airbridge/qa/application/MainActivity.kt +2 -2
  119. package/qa/android/app/src/main/java/co/ab180/airbridge/qa/application/module/IdentifiersInteractor.kt +8 -17
  120. package/qa/android/app/src/main/java/co/ab180/airbridge/qa/application/module/InstallReferrerInteractor.kt +13 -22
  121. package/qa/android/app/src/main/java/co/ab180/airbridge/qa/application/module/ModuleInjector.kt +1 -2
  122. package/qa/android/app/src/main/res/values/airbridge.xml +16 -0
  123. package/qa/android/build.gradle +4 -2
  124. package/qa/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  125. package/qa/android/gradle.properties +0 -2
  126. package/qa/android/gradlew +1 -1
  127. package/qa/android/settings.gradle +3 -1
  128. package/qa/ios/AirbridgeQA/AirbridgeQA.entitlements +12 -0
  129. package/qa/ios/AirbridgeQA/AppDelegate.mm +40 -30
  130. package/qa/ios/AirbridgeQA/DeviceInfoInteractor.swift +0 -1
  131. package/qa/ios/AirbridgeQA/IdentifiersInteractor.swift +4 -8
  132. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-20@2x.png +0 -0
  133. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-20@2x~ipad.png +0 -0
  134. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-20@3x.png +0 -0
  135. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-20~ipad.png +0 -0
  136. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-29.png +0 -0
  137. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-29@2x.png +0 -0
  138. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-29@2x~ipad.png +0 -0
  139. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-29@3x.png +0 -0
  140. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-29~ipad.png +0 -0
  141. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-40@2x.png +0 -0
  142. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-40@2x~ipad.png +0 -0
  143. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-40@3x.png +0 -0
  144. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-40~ipad.png +0 -0
  145. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-60@2x~car.png +0 -0
  146. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-60@3x~car.png +0 -0
  147. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-83.5@2x~ipad.png +0 -0
  148. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon@2x.png +0 -0
  149. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon@2x~ipad.png +0 -0
  150. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon@3x.png +0 -0
  151. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon~ios-marketing.png +0 -0
  152. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon~ipad.png +0 -0
  153. package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/Contents.json +113 -32
  154. package/qa/ios/AirbridgeQA/Info.plist +8 -0
  155. package/qa/ios/AirbridgeQA.xcodeproj/project.pbxproj +47 -29
  156. package/qa/ios/InternalLibrary/airbridge-ios-sdk-qa-library.podspec +32 -0
  157. package/qa/ios/InternalLibrary/airbridge-ios-sdk-restricted.podspec +32 -0
  158. package/qa/ios/Library/airbridge-ios-sdk-qa-library.podspec +6 -1
  159. package/qa/ios/Podfile +13 -1
  160. package/qa/ios/Podfile.lock +689 -316
  161. package/qa/ios/Script/prepare-build-parameter.rb +23 -0
  162. package/qa/metro.config.js +5 -2
  163. package/qa/package-lock.json +3369 -1433
  164. package/qa/package.json +30 -30
  165. package/qa/source/App.js +13 -6
  166. package/qa/source/common/FCMService.js +39 -15
  167. package/qa/source/common/QALog.js +12 -0
  168. package/qa/source/navigations/Stack.js +8 -1
  169. package/qa/source/pages/AppInfo.js +40 -0
  170. package/qa/source/pages/Browse.js +16 -19
  171. package/qa/source/pages/DeviceInfo.js +10 -4
  172. package/qa/source/pages/Event.js +70 -60
  173. package/qa/source/pages/Home.js +77 -17
  174. package/qa/source/pages/Identifiers.js +10 -6
  175. package/qa/source/pages/Placement.js +3 -3
  176. package/qa/source/pages/Skad.js +76 -0
  177. package/qa/source/pages/UserInfo.js +47 -28
  178. package/readme.md +6 -6
  179. package/script/BuildDocument.sh +10 -0
  180. package/{scripts/build-qa.sh → script/BuildQA.sh} +5 -4
  181. package/script/BuildSource.sh +14 -0
  182. package/script/ChangeInternalSDK.sh +22 -0
  183. package/script/ChangeProductionSDK.sh +39 -0
  184. package/script/ChangeRestricted.sh +34 -0
  185. package/script/PrepareBuildParameter.sh +28 -0
  186. package/source/Airbridge.ts +340 -0
  187. package/source/architecture/Interactor.ts +10 -0
  188. package/source/architecture/module.ts +1 -0
  189. package/source/constant/AirbridgeAttribute.ts +188 -0
  190. package/source/constant/AirbridgeCategory.ts +104 -0
  191. package/source/module/Attribution.ts +4 -8
  192. package/source/module/Deeplink.ts +59 -0
  193. package/source/module/Event.ts +71 -0
  194. package/source/module/Fetch.ts +137 -0
  195. package/source/module/Placement.ts +134 -0
  196. package/source/module/Register.ts +203 -0
  197. package/source/module/Switch.ts +61 -0
  198. package/source/module/WebInterface.ts +55 -0
  199. package/source/module.ts +3 -0
  200. package/source/tsconfig.json +14 -0
  201. package/source/utility/check.ts +46 -0
  202. package/source/utility/compute.ts +9 -0
  203. package/source/utility/create.ts +12 -0
  204. package/source/utility/extract.ts +5 -0
  205. package/source/utility/json.ts +180 -0
  206. package/source/utility/log.ts +14 -0
  207. package/test/jest.json +13 -0
  208. package/test/mock.ts +112 -0
  209. package/test/module/Deeplink.test.ts +29 -0
  210. package/test/tsconfig.json +8 -0
  211. package/.eslintrc.json +0 -44
  212. package/.gitattributes +0 -1
  213. package/.github/actions/add-github-check/action.yml +0 -78
  214. package/.github/actions/add-github-comment/action.yml +0 -48
  215. package/.github/actions/add-slack-message/action.yml +0 -32
  216. package/.github/actions/edit-github-check/action.yml +0 -59
  217. package/.github/actions/edit-github-comment/action.yml +0 -41
  218. package/.github/workflows/release-restricted.yml +0 -35
  219. package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeAttribution.java +0 -78
  220. package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeDeeplink.java +0 -97
  221. package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeEvent.java +0 -76
  222. package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeLifecycle.java +0 -31
  223. package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeLifecycleIntegration.java +0 -8
  224. package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgePlacement.java +0 -42
  225. package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeRN.java +0 -112
  226. package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeState.java +0 -174
  227. package/android/src/main/java/co/ab180/airbridge/reactnative/ConfigReader.java +0 -154
  228. package/android/src/main/java/co/ab180/airbridge/reactnative/Get.java +0 -84
  229. package/index.d.ts +0 -338
  230. package/index.js +0 -8
  231. package/ios/AirbridgeRN/ARNConfigReader.h +0 -19
  232. package/ios/AirbridgeRN/ARNConfigReader.m +0 -80
  233. package/ios/AirbridgeRN/ARNGet.h +0 -20
  234. package/ios/AirbridgeRN/ARNGet.m +0 -40
  235. package/ios/AirbridgeRN/ARNHex.h +0 -16
  236. package/ios/AirbridgeRN/ARNHex.m +0 -44
  237. package/ios/AirbridgeRN/AirbridgeAttribution.h +0 -19
  238. package/ios/AirbridgeRN/AirbridgeAttribution.m +0 -47
  239. package/ios/AirbridgeRN/AirbridgeDeeplink.h +0 -20
  240. package/ios/AirbridgeRN/AirbridgeDeeplink.m +0 -59
  241. package/ios/AirbridgeRN/AirbridgeEvent.h +0 -17
  242. package/ios/AirbridgeRN/AirbridgeEvent.m +0 -63
  243. package/ios/AirbridgeRN/AirbridgePlacement.h +0 -17
  244. package/ios/AirbridgeRN/AirbridgePlacement.m +0 -38
  245. package/ios/AirbridgeRN/AirbridgeRN.h +0 -71
  246. package/ios/AirbridgeRN/AirbridgeRN.m +0 -83
  247. package/ios/AirbridgeRN/AirbridgeState.h +0 -17
  248. package/ios/AirbridgeRN/AirbridgeState.m +0 -94
  249. package/ios/AirbridgeRN.xcodeproj/project.pbxproj +0 -417
  250. package/qa/android/app/src/main/java/co/ab180/airbridge/qa/application/module/UserInfoInteractor.kt +0 -74
  251. package/qa/ios/AirbridgeQA/UserInfoInteractor.m +0 -57
  252. package/qa/ios/AirbridgeQA/UserInfoInteractor.swift +0 -49
  253. package/qa/source/pages/appInfo.js +0 -22
  254. package/scripts/addiOSFramework.js +0 -48
  255. package/scripts/change_restricted.sh +0 -21
  256. package/scripts/update_native_version.sh +0 -104
  257. package/src/Airbridge.js +0 -82
  258. package/src/Deeplink.js +0 -75
  259. package/src/Event.js +0 -38
  260. package/src/Placement.js +0 -56
  261. package/src/State.js +0 -175
  262. package/src/WebInterface.js +0 -135
  263. package/src/tool/Log.js +0 -40
  264. package/src/tool/_.js +0 -56
  265. package/src/type/AirbridgeAttributes.js +0 -40
  266. package/src/type/AirbridgeCategory.js +0 -35
  267. package/src/type/AirbridgeProduct.js +0 -18
  268. package/src/typedef/EventOption.js +0 -9
  269. package/src/typedef/Product.js +0 -10
  270. package/src/typedef/User.js +0 -9
@@ -5,18 +5,18 @@
5
5
  #import <Firebase/Firebase.h>
6
6
  #import <objc/runtime.h>
7
7
 
8
- #import <AirBridge/AirBridge.h>
9
- #import <AirbridgeRN/AirbridgeRN.h>
8
+ #import <Airbridge/Airbridge.h>
10
9
  #import <AirbridgeQALibrary/AirbridgeQALibrary.h>
10
+ #import <AirbridgeReactNative/AirbridgeReactNative.h>
11
11
 
12
+ #import <WebKit/WebKit.h>
12
13
  #import <AppTrackingTransparency/AppTrackingTransparency.h>
13
14
 
14
- @interface AirbridgeRN ()
15
+ @interface AirbridgeReactNative ()
15
16
 
16
- + (AirbridgeRN*)getInstance:(NSString*)appToken
17
- appName:(NSString*)appName
18
- withAirbridgeJSON:(nullable NSDictionary*)airbridgeJSON
19
- withLaunchOptions:(nullable NSDictionary*)launchOptions;
17
+ + (void)initializeSDKWithName:(NSString*)name
18
+ token:(NSString*)token
19
+ airbridgeJSON:(nullable NSDictionary*)airbridgeJSON;
20
20
 
21
21
  @end
22
22
 
@@ -37,11 +37,26 @@
37
37
  [SDKConfigurationManager.shared resetAndReturnError:nil];
38
38
  configuration = SDKConfigurationManager.shared.configuration;
39
39
  }
40
- [AirBridge setPaginateLogEnabled:true];
41
- [AirbridgeRN getInstance:@"fe67302f822445d98591566d5fae1293"
42
- appName:@"qaabr"
43
- withAirbridgeJSON:[self airbridgeJSON:configuration]
44
- withLaunchOptions:launchOptions];
40
+
41
+ NSMutableDictionary *newDic = [NSMutableDictionary dictionaryWithDictionary:[configuration toAirbridgeJSON]];
42
+ [newDic setValue:@[
43
+ @"qaabr.dev.abr.ge",
44
+ @"qaabr.dev1.abr.ge",
45
+ @"qaabr.dev2.abr.ge",
46
+ @"qaabr.dev.airbridge.io",
47
+ @"qaabr.dev1.airbridge.io",
48
+ @"qaabr.dev2.airbridge.io",
49
+ @"qa.ab180.co",
50
+ @"qa.dev.ab180.co",
51
+ @"qa.dev1.ab180.co",
52
+ @"qa.dev2.ab180.co",
53
+ @"xn--qa--bw8n.xn--ob0bx63e.com"
54
+ ] forKey:@"trackingLinkCustomDomains"];
55
+
56
+ [configuration applyToStorage];
57
+ [AirbridgeReactNative initializeSDKWithName:@"qaabr"
58
+ token:@"fe67302f822445d98591566d5fae1293"
59
+ airbridgeJSON:newDic];
45
60
 
46
61
  return [super application:application didFinishLaunchingWithOptions:launchOptions];
47
62
  }
@@ -74,22 +89,6 @@
74
89
  [RCTPresentedViewController() presentViewController:alert animated:YES completion:NULL];
75
90
  }
76
91
 
77
- - (NSDictionary*)airbridgeJSON:(SDKConfiguration*)configuration {
78
- NSMutableDictionary* dictionary = [[NSMutableDictionary alloc] init];
79
- dictionary[@"sessionTimeoutSeconds"] = @(configuration.sessionTimeoutSecond);
80
- dictionary[@"autoStartTrackingEnabled"] = @(configuration.isAutoStartTrackingEnabled);
81
- dictionary[@"userInfoHashEnabled"] = @(configuration.isHashUserInformationEnabled);
82
- dictionary[@"trackAirbridgeLinkOnly"] = @(configuration.isTrackAirbridgeDeeplinkOnlyEnabled);
83
- dictionary[@"facebookDeferredAppLinkEnabled"] = @(configuration.isTrackMetaDeferredAppLinkEnabled);
84
- dictionary[@"trackingAuthorizeTimeoutSeconds"] = @(configuration.autoDetermineTrackingAuthorizationTimeoutSecond);
85
- if (configuration.isSDKSignatureEnabled) {
86
- dictionary[@"sdkSignatureSecretID"] = configuration.sdkSignatureSecretID;
87
- dictionary[@"sdkSignatureSecret"] = configuration.sdkSignatureSecretKey;
88
- }
89
- dictionary[@"logLevel"] = @"debug";
90
- return dictionary;
91
- }
92
-
93
92
  - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
94
93
  {
95
94
  return [self bundleURL];
@@ -108,7 +107,7 @@
108
107
  openURL:(NSURL *)url
109
108
  options:(NSDictionary<UIApplicationOpenURLOptionsKey, id>*)options
110
109
  {
111
- [AirbridgeRN.deeplink handleURLSchemeDeeplink:url];
110
+ [AirbridgeReactNative trackDeeplinkWithUrl:url];
112
111
  return YES;
113
112
  }
114
113
 
@@ -116,8 +115,19 @@
116
115
  continueUserActivity:(NSUserActivity *)userActivity
117
116
  restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler
118
117
  {
119
- [AirbridgeRN.deeplink handleUserActivity:userActivity];
118
+ [AirbridgeReactNative trackDeeplinkWithUserActivity:userActivity];
120
119
  return YES;
121
120
  }
122
121
 
122
+ - (void) application:(UIApplication *)application
123
+ didReceiveRemoteNotification:(NSDictionary *)userInfo
124
+ fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
125
+ {
126
+ if ([userInfo objectForKey:@"airbridge-uninstall-tracking"] != nil) {
127
+ NSLog(@"(Airbridge) Airbridge silent push notification received");
128
+ } else {
129
+ NSLog(@"(Airbridge) Message data payload: %@", userInfo);
130
+ }
131
+ }
132
+
123
133
  @end
@@ -6,7 +6,6 @@
6
6
  //
7
7
 
8
8
  import React
9
- import AirBridge
10
9
  import CoreTelephony
11
10
  import SystemConfiguration
12
11
 
@@ -6,7 +6,6 @@
6
6
  //
7
7
 
8
8
  import React
9
- import AirBridge
10
9
  import AdSupport
11
10
 
12
11
  @objc(IdentifiersInteractor)
@@ -29,12 +28,9 @@ class IdentifiersInteractor: NSObject {
29
28
  }
30
29
 
31
30
  func fetch(onSuccess: @escaping ([String: String?]) -> Void) {
32
- AirBridge.fetchAirbridgeGeneratedUUID { generatedDeviceUUID in
33
- onSuccess([
34
- "idfa": ASIdentifierManager.shared().advertisingIdentifier.uuidString,
35
- "idfv": UIDevice.current.identifierForVendor?.uuidString,
36
- "generatedDeviceUUID": generatedDeviceUUID
37
- ])
38
- }
31
+ onSuccess([
32
+ "idfa": ASIdentifierManager.shared().advertisingIdentifier.uuidString,
33
+ "idfv": UIDevice.current.identifierForVendor?.uuidString
34
+ ])
39
35
  }
40
36
  }
@@ -1,53 +1,134 @@
1
1
  {
2
- "images" : [
2
+ "images": [
3
3
  {
4
- "idiom" : "iphone",
5
- "scale" : "2x",
6
- "size" : "20x20"
4
+ "filename": "AppIcon@2x.png",
5
+ "idiom": "iphone",
6
+ "scale": "2x",
7
+ "size": "60x60"
7
8
  },
8
9
  {
9
- "idiom" : "iphone",
10
- "scale" : "3x",
11
- "size" : "20x20"
10
+ "filename": "AppIcon@3x.png",
11
+ "idiom": "iphone",
12
+ "scale": "3x",
13
+ "size": "60x60"
12
14
  },
13
15
  {
14
- "idiom" : "iphone",
15
- "scale" : "2x",
16
- "size" : "29x29"
16
+ "filename": "AppIcon~ipad.png",
17
+ "idiom": "ipad",
18
+ "scale": "1x",
19
+ "size": "76x76"
17
20
  },
18
21
  {
19
- "idiom" : "iphone",
20
- "scale" : "3x",
21
- "size" : "29x29"
22
+ "filename": "AppIcon@2x~ipad.png",
23
+ "idiom": "ipad",
24
+ "scale": "2x",
25
+ "size": "76x76"
22
26
  },
23
27
  {
24
- "idiom" : "iphone",
25
- "scale" : "2x",
26
- "size" : "40x40"
28
+ "filename": "AppIcon-83.5@2x~ipad.png",
29
+ "idiom": "ipad",
30
+ "scale": "2x",
31
+ "size": "83.5x83.5"
27
32
  },
28
33
  {
29
- "idiom" : "iphone",
30
- "scale" : "3x",
31
- "size" : "40x40"
34
+ "filename": "AppIcon-40@2x.png",
35
+ "idiom": "iphone",
36
+ "scale": "2x",
37
+ "size": "40x40"
32
38
  },
33
39
  {
34
- "idiom" : "iphone",
35
- "scale" : "2x",
36
- "size" : "60x60"
40
+ "filename": "AppIcon-40@3x.png",
41
+ "idiom": "iphone",
42
+ "scale": "3x",
43
+ "size": "40x40"
37
44
  },
38
45
  {
39
- "idiom" : "iphone",
40
- "scale" : "3x",
41
- "size" : "60x60"
46
+ "filename": "AppIcon-40~ipad.png",
47
+ "idiom": "ipad",
48
+ "scale": "1x",
49
+ "size": "40x40"
42
50
  },
43
51
  {
44
- "idiom" : "ios-marketing",
45
- "scale" : "1x",
46
- "size" : "1024x1024"
52
+ "filename": "AppIcon-40@2x~ipad.png",
53
+ "idiom": "ipad",
54
+ "scale": "2x",
55
+ "size": "40x40"
56
+ },
57
+ {
58
+ "filename": "AppIcon-20@2x.png",
59
+ "idiom": "iphone",
60
+ "scale": "2x",
61
+ "size": "20x20"
62
+ },
63
+ {
64
+ "filename": "AppIcon-20@3x.png",
65
+ "idiom": "iphone",
66
+ "scale": "3x",
67
+ "size": "20x20"
68
+ },
69
+ {
70
+ "filename": "AppIcon-20~ipad.png",
71
+ "idiom": "ipad",
72
+ "scale": "1x",
73
+ "size": "20x20"
74
+ },
75
+ {
76
+ "filename": "AppIcon-20@2x~ipad.png",
77
+ "idiom": "ipad",
78
+ "scale": "2x",
79
+ "size": "20x20"
80
+ },
81
+ {
82
+ "filename": "AppIcon-29.png",
83
+ "idiom": "iphone",
84
+ "scale": "1x",
85
+ "size": "29x29"
86
+ },
87
+ {
88
+ "filename": "AppIcon-29@2x.png",
89
+ "idiom": "iphone",
90
+ "scale": "2x",
91
+ "size": "29x29"
92
+ },
93
+ {
94
+ "filename": "AppIcon-29@3x.png",
95
+ "idiom": "iphone",
96
+ "scale": "3x",
97
+ "size": "29x29"
98
+ },
99
+ {
100
+ "filename": "AppIcon-29~ipad.png",
101
+ "idiom": "ipad",
102
+ "scale": "1x",
103
+ "size": "29x29"
104
+ },
105
+ {
106
+ "filename": "AppIcon-29@2x~ipad.png",
107
+ "idiom": "ipad",
108
+ "scale": "2x",
109
+ "size": "29x29"
110
+ },
111
+ {
112
+ "filename": "AppIcon-60@2x~car.png",
113
+ "idiom": "car",
114
+ "scale": "2x",
115
+ "size": "60x60"
116
+ },
117
+ {
118
+ "filename": "AppIcon-60@3x~car.png",
119
+ "idiom": "car",
120
+ "scale": "3x",
121
+ "size": "60x60"
122
+ },
123
+ {
124
+ "filename": "AppIcon~ios-marketing.png",
125
+ "idiom": "ios-marketing",
126
+ "scale": "1x",
127
+ "size": "1024x1024"
47
128
  }
48
129
  ],
49
- "info" : {
50
- "author" : "xcode",
51
- "version" : 1
130
+ "info": {
131
+ "author": "iconkitchen",
132
+ "version": 1
52
133
  }
53
- }
134
+ }
@@ -30,6 +30,14 @@
30
30
  <string>qaabr</string>
31
31
  </array>
32
32
  </dict>
33
+ <dict>
34
+ <key>CFBundleTypeRole</key>
35
+ <string>None</string>
36
+ <key>CFBundleURLSchemes</key>
37
+ <array>
38
+ <string>other</string>
39
+ </array>
40
+ </dict>
33
41
  </array>
34
42
  <key>CFBundleVersion</key>
35
43
  <string>$(CURRENT_PROJECT_VERSION)</string>
@@ -17,8 +17,6 @@
17
17
  81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
18
18
  C32569CA2C252200005224AD /* PermissionInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C32569C92C252200005224AD /* PermissionInteractor.swift */; };
19
19
  C32569CD2C2523F9005224AD /* PermissionInteractor.m in Sources */ = {isa = PBXBuildFile; fileRef = C32569CC2C2523F9005224AD /* PermissionInteractor.m */; };
20
- C3A504762C291665003D3C3C /* UserInfoInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3A504752C291665003D3C3C /* UserInfoInteractor.swift */; };
21
- C3A504782C2916FD003D3C3C /* UserInfoInteractor.m in Sources */ = {isa = PBXBuildFile; fileRef = C3A504772C2916FD003D3C3C /* UserInfoInteractor.m */; };
22
20
  C3A5047A2C291A32003D3C3C /* IdentifiersInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3A504792C291A32003D3C3C /* IdentifiersInteractor.swift */; };
23
21
  C3A5047C2C291BE5003D3C3C /* IdentifiersInteractor.m in Sources */ = {isa = PBXBuildFile; fileRef = C3A5047B2C291BE5003D3C3C /* IdentifiersInteractor.m */; };
24
22
  C3A5047E2C291CA9003D3C3C /* DeviceInfoInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3A5047D2C291CA9003D3C3C /* DeviceInfoInteractor.swift */; };
@@ -56,8 +54,6 @@
56
54
  89C6BE57DB24E9ADA2F236DE /* Pods-AirbridgeQA-AirbridgeQATests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AirbridgeQA-AirbridgeQATests.release.xcconfig"; path = "Target Support Files/Pods-AirbridgeQA-AirbridgeQATests/Pods-AirbridgeQA-AirbridgeQATests.release.xcconfig"; sourceTree = "<group>"; };
57
55
  C32569C92C252200005224AD /* PermissionInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = PermissionInteractor.swift; path = AirbridgeQA/PermissionInteractor.swift; sourceTree = "<group>"; };
58
56
  C32569CC2C2523F9005224AD /* PermissionInteractor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PermissionInteractor.m; path = AirbridgeQA/PermissionInteractor.m; sourceTree = "<group>"; };
59
- C3A504752C291665003D3C3C /* UserInfoInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = UserInfoInteractor.swift; path = AirbridgeQA/UserInfoInteractor.swift; sourceTree = "<group>"; };
60
- C3A504772C2916FD003D3C3C /* UserInfoInteractor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UserInfoInteractor.m; path = AirbridgeQA/UserInfoInteractor.m; sourceTree = "<group>"; };
61
57
  C3A504792C291A32003D3C3C /* IdentifiersInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = IdentifiersInteractor.swift; path = AirbridgeQA/IdentifiersInteractor.swift; sourceTree = "<group>"; };
62
58
  C3A5047B2C291BE5003D3C3C /* IdentifiersInteractor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = IdentifiersInteractor.m; path = AirbridgeQA/IdentifiersInteractor.m; sourceTree = "<group>"; };
63
59
  C3A5047D2C291CA9003D3C3C /* DeviceInfoInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = DeviceInfoInteractor.swift; path = AirbridgeQA/DeviceInfoInteractor.swift; sourceTree = "<group>"; };
@@ -118,8 +114,6 @@
118
114
  C3A9724E2C16D52700148EF3 /* GoogleService-Info.plist */,
119
115
  C32569C92C252200005224AD /* PermissionInteractor.swift */,
120
116
  C32569CC2C2523F9005224AD /* PermissionInteractor.m */,
121
- C3A504752C291665003D3C3C /* UserInfoInteractor.swift */,
122
- C3A504772C2916FD003D3C3C /* UserInfoInteractor.m */,
123
117
  C3A504792C291A32003D3C3C /* IdentifiersInteractor.swift */,
124
118
  C3A5047B2C291BE5003D3C3C /* IdentifiersInteractor.m */,
125
119
  C3A5047D2C291CA9003D3C3C /* DeviceInfoInteractor.swift */,
@@ -209,6 +203,7 @@
209
203
  buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "AirbridgeQA" */;
210
204
  buildPhases = (
211
205
  C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */,
206
+ C367F7A4CE6E212E32D1F3AF /* [AirbridgeQA] Prepare build parameter */,
212
207
  13B07F871A680F5B00A75B9A /* Sources */,
213
208
  13B07F8C1A680F5B00A75B9A /* Frameworks */,
214
209
  13B07F8E1A680F5B00A75B9A /* Resources */,
@@ -216,7 +211,7 @@
216
211
  00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */,
217
212
  E235C05ADACE081382539298 /* [CP] Copy Pods Resources */,
218
213
  E69B344EB307D0B30A1489D0 /* [CP-User] [RNFB] Core Configuration */,
219
- F3CA2F01D012BA2728957B14 /* [Airbridge] Copy airbridge.json */,
214
+ 0F6BA7EF1972C8E1EFFDC1E2 /* [Airbridge] Copy airbridge.json */,
220
215
  );
221
216
  buildRules = (
222
217
  );
@@ -318,6 +313,24 @@
318
313
  shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AirbridgeQA/Pods-AirbridgeQA-frameworks.sh\"\n";
319
314
  showEnvVarsInLog = 0;
320
315
  };
316
+ 0F6BA7EF1972C8E1EFFDC1E2 /* [Airbridge] Copy airbridge.json */ = {
317
+ isa = PBXShellScriptBuildPhase;
318
+ buildActionMask = 2147483647;
319
+ files = (
320
+ );
321
+ inputFileListPaths = (
322
+ );
323
+ inputPaths = (
324
+ );
325
+ name = "[Airbridge] Copy airbridge.json";
326
+ outputFileListPaths = (
327
+ );
328
+ outputPaths = (
329
+ );
330
+ runOnlyForDeploymentPostprocessing = 0;
331
+ shellPath = /bin/sh;
332
+ shellScript = "if [ -r ${SRCROOT}/../airbridge.json ]; then\n cp ${SRCROOT}/../airbridge.json ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/airbridge.json\nfi";
333
+ };
321
334
  A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */ = {
322
335
  isa = PBXShellScriptBuildPhase;
323
336
  buildActionMask = 2147483647;
@@ -340,6 +353,24 @@
340
353
  shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
341
354
  showEnvVarsInLog = 0;
342
355
  };
356
+ C367F7A4CE6E212E32D1F3AF /* [AirbridgeQA] Prepare build parameter */ = {
357
+ isa = PBXShellScriptBuildPhase;
358
+ buildActionMask = 2147483647;
359
+ files = (
360
+ );
361
+ inputFileListPaths = (
362
+ );
363
+ inputPaths = (
364
+ );
365
+ name = "[AirbridgeQA] Prepare build parameter";
366
+ outputFileListPaths = (
367
+ );
368
+ outputPaths = (
369
+ );
370
+ runOnlyForDeploymentPostprocessing = 0;
371
+ shellPath = /bin/sh;
372
+ shellScript = "sh \"$SRCROOT/../../script/PrepareBuildParameter.sh\"";
373
+ };
343
374
  C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = {
344
375
  isa = PBXShellScriptBuildPhase;
345
376
  buildActionMask = 2147483647;
@@ -409,24 +440,6 @@
409
440
  shellPath = /bin/sh;
410
441
  shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n##########################################################################\n##########################################################################\n#\n# NOTE THAT IF YOU CHANGE THIS FILE YOU MUST RUN pod install AFTERWARDS\n#\n# This file is installed as an Xcode build script in the project file\n# by cocoapods, and you will not see your changes until you pod install\n#\n##########################################################################\n##########################################################################\n\nset -e\n\n_MAX_LOOKUPS=2;\n_SEARCH_RESULT=''\n_RN_ROOT_EXISTS=''\n_CURRENT_LOOKUPS=1\n_JSON_ROOT=\"'react-native'\"\n_JSON_FILE_NAME='firebase.json'\n_JSON_OUTPUT_BASE64='e30=' # { }\n_CURRENT_SEARCH_DIR=${PROJECT_DIR}\n_PLIST_BUDDY=/usr/libexec/PlistBuddy\n_TARGET_PLIST=\"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n_DSYM_PLIST=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n# plist arrays\n_PLIST_ENTRY_KEYS=()\n_PLIST_ENTRY_TYPES=()\n_PLIST_ENTRY_VALUES=()\n\nfunction setPlistValue {\n echo \"info: setting plist entry '$1' of type '$2' in file '$4'\"\n ${_PLIST_BUDDY} -c \"Add :$1 $2 '$3'\" $4 || echo \"info: '$1' already exists\"\n}\n\nfunction getFirebaseJsonKeyValue () {\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$1'); puts output[$_JSON_ROOT]['$2']\"\n else\n echo \"\"\n fi;\n}\n\nfunction jsonBoolToYesNo () {\n if [[ $1 == \"false\" ]]; then\n echo \"NO\"\n elif [[ $1 == \"true\" ]]; then\n echo \"YES\"\n else echo \"NO\"\n fi\n}\n\necho \"info: -> RNFB build script started\"\necho \"info: 1) Locating ${_JSON_FILE_NAME} file:\"\n\nif [[ -z ${_CURRENT_SEARCH_DIR} ]]; then\n _CURRENT_SEARCH_DIR=$(pwd)\nfi;\n\nwhile true; do\n _CURRENT_SEARCH_DIR=$(dirname \"$_CURRENT_SEARCH_DIR\")\n if [[ \"$_CURRENT_SEARCH_DIR\" == \"/\" ]] || [[ ${_CURRENT_LOOKUPS} -gt ${_MAX_LOOKUPS} ]]; then break; fi;\n echo \"info: ($_CURRENT_LOOKUPS of $_MAX_LOOKUPS) Searching in '$_CURRENT_SEARCH_DIR' for a ${_JSON_FILE_NAME} file.\"\n _SEARCH_RESULT=$(find \"$_CURRENT_SEARCH_DIR\" -maxdepth 2 -name ${_JSON_FILE_NAME} -print | /usr/bin/head -n 1)\n if [[ ${_SEARCH_RESULT} ]]; then\n echo \"info: ${_JSON_FILE_NAME} found at $_SEARCH_RESULT\"\n break;\n fi;\n _CURRENT_LOOKUPS=$((_CURRENT_LOOKUPS+1))\ndone\n\nif [[ ${_SEARCH_RESULT} ]]; then\n _JSON_OUTPUT_RAW=$(cat \"${_SEARCH_RESULT}\")\n _RN_ROOT_EXISTS=$(ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]\" || echo '')\n\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n if ! python3 --version >/dev/null 2>&1; then echo \"python3 not found, firebase.json file processing error.\" && exit 1; fi\n _JSON_OUTPUT_BASE64=$(python3 -c 'import json,sys,base64;print(base64.b64encode(bytes(json.dumps(json.loads(open('\"'${_SEARCH_RESULT}'\"', '\"'rb'\"').read())['${_JSON_ROOT}']), '\"'utf-8'\"')).decode())' || echo \"e30=\")\n fi\n\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n\n # config.app_data_collection_default_enabled\n _APP_DATA_COLLECTION_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_data_collection_default_enabled\")\n if [[ $_APP_DATA_COLLECTION_ENABLED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseDataCollectionDefaultEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_DATA_COLLECTION_ENABLED\")\")\n fi\n\n # config.analytics_auto_collection_enabled\n _ANALYTICS_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_auto_collection_enabled\")\n if [[ $_ANALYTICS_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_COLLECTION\")\")\n fi\n\n # config.analytics_collection_deactivated\n _ANALYTICS_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_collection_deactivated\")\n if [[ $_ANALYTICS_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_DEACTIVATED\")\")\n fi\n\n # config.analytics_idfv_collection_enabled\n _ANALYTICS_IDFV_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_idfv_collection_enabled\")\n if [[ $_ANALYTICS_IDFV_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_IDFV_COLLECTION\")\")\n fi\n\n # config.analytics_default_allow_analytics_storage\n _ANALYTICS_STORAGE=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_analytics_storage\")\n if [[ $_ANALYTICS_STORAGE ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_ANALYTICS_STORAGE\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_STORAGE\")\")\n fi\n\n # config.analytics_default_allow_ad_storage\n _ANALYTICS_AD_STORAGE=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_storage\")\n if [[ $_ANALYTICS_AD_STORAGE ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_STORAGE\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AD_STORAGE\")\")\n fi\n\n # config.analytics_default_allow_ad_user_data\n _ANALYTICS_AD_USER_DATA=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_user_data\")\n if [[ $_ANALYTICS_AD_USER_DATA ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AD_USER_DATA\")\")\n fi\n\n # config.analytics_default_allow_ad_personalization_signals\n _ANALYTICS_PERSONALIZATION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_personalization_signals\")\n if [[ $_ANALYTICS_PERSONALIZATION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_PERSONALIZATION\")\")\n fi\n\n # config.analytics_registration_with_ad_network_enabled\n _ANALYTICS_REGISTRATION_WITH_AD_NETWORK=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_registration_with_ad_network_enabled\")\n if [[ $_ANALYTICS_REGISTRATION_WITH_AD_NETWORK ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_REGISTRATION_WITH_AD_NETWORK_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_REGISTRATION_WITH_AD_NETWORK\")\")\n fi\n\n # config.google_analytics_automatic_screen_reporting_enabled\n _ANALYTICS_AUTO_SCREEN_REPORTING=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_automatic_screen_reporting_enabled\")\n if [[ $_ANALYTICS_AUTO_SCREEN_REPORTING ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAutomaticScreenReportingEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_SCREEN_REPORTING\")\")\n fi\n\n # config.perf_auto_collection_enabled\n _PERF_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_auto_collection_enabled\")\n if [[ $_PERF_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_enabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_AUTO_COLLECTION\")\")\n fi\n\n # config.perf_collection_deactivated\n _PERF_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_collection_deactivated\")\n if [[ $_PERF_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_deactivated\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_DEACTIVATED\")\")\n fi\n\n # config.messaging_auto_init_enabled\n _MESSAGING_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"messaging_auto_init_enabled\")\n if [[ $_MESSAGING_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseMessagingAutoInitEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_MESSAGING_AUTO_INIT\")\")\n fi\n\n # config.in_app_messaging_auto_colllection_enabled\n _FIAM_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"in_app_messaging_auto_collection_enabled\")\n if [[ $_FIAM_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseInAppMessagingAutomaticDataCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_FIAM_AUTO_INIT\")\")\n fi\n\n # config.app_check_token_auto_refresh\n _APP_CHECK_TOKEN_AUTO_REFRESH=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_check_token_auto_refresh\")\n if [[ $_APP_CHECK_TOKEN_AUTO_REFRESH ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAppCheckTokenAutoRefreshEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_CHECK_TOKEN_AUTO_REFRESH\")\")\n fi\n\n # config.crashlytics_disable_auto_disabler - undocumented for now - mainly for debugging, document if becomes useful\n _CRASHLYTICS_AUTO_DISABLE_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"crashlytics_disable_auto_disabler\")\n if [[ $_CRASHLYTICS_AUTO_DISABLE_ENABLED == \"true\" ]]; then\n echo \"Disabled Crashlytics auto disabler.\" # do nothing\n else\n _PLIST_ENTRY_KEYS+=(\"FirebaseCrashlyticsCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"NO\")\n fi\nelse\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n echo \"warning: A firebase.json file was not found, whilst this file is optional it is recommended to include it to configure firebase services in React Native Firebase.\"\nfi;\n\necho \"info: 2) Injecting Info.plist entries: \"\n\n# Log out the keys we're adding\nfor i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n echo \" -> $i) ${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\"\ndone\n\nfor plist in \"${_TARGET_PLIST}\" \"${_DSYM_PLIST}\" ; do\n if [[ -f \"${plist}\" ]]; then\n\n # paths with spaces break the call to setPlistValue. temporarily modify\n # the shell internal field separator variable (IFS), which normally\n # includes spaces, to consist only of line breaks\n oldifs=$IFS\n IFS=\"\n\"\n\n for i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n setPlistValue \"${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\" \"${plist}\"\n done\n\n # restore the original internal field separator value\n IFS=$oldifs\n else\n echo \"warning: A Info.plist build output file was not found (${plist})\"\n fi\ndone\n\necho \"info: <- RNFB build script finished\"\n";
411
442
  };
412
- F3CA2F01D012BA2728957B14 /* [Airbridge] Copy airbridge.json */ = {
413
- isa = PBXShellScriptBuildPhase;
414
- buildActionMask = 2147483647;
415
- files = (
416
- );
417
- inputFileListPaths = (
418
- );
419
- inputPaths = (
420
- );
421
- name = "[Airbridge] Copy airbridge.json";
422
- outputFileListPaths = (
423
- );
424
- outputPaths = (
425
- );
426
- runOnlyForDeploymentPostprocessing = 0;
427
- shellPath = /bin/sh;
428
- shellScript = "if [ -r ${SRCROOT}/../airbridge.json ]; then\n cp ${SRCROOT}/../airbridge.json ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/airbridge.json\nfi\n";
429
- };
430
443
  F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = {
431
444
  isa = PBXShellScriptBuildPhase;
432
445
  buildActionMask = 2147483647;
@@ -461,11 +474,9 @@
461
474
  files = (
462
475
  C3A5047A2C291A32003D3C3C /* IdentifiersInteractor.swift in Sources */,
463
476
  13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */,
464
- C3A504762C291665003D3C3C /* UserInfoInteractor.swift in Sources */,
465
477
  C3A5047C2C291BE5003D3C3C /* IdentifiersInteractor.m in Sources */,
466
478
  C3A5047E2C291CA9003D3C3C /* DeviceInfoInteractor.swift in Sources */,
467
479
  C32569CD2C2523F9005224AD /* PermissionInteractor.m in Sources */,
468
- C3A504782C2916FD003D3C3C /* UserInfoInteractor.m in Sources */,
469
480
  13B07FC11A68108700A75B9A /* main.m in Sources */,
470
481
  C3A504802C292006003D3C3C /* DeviceInfoInteractor.m in Sources */,
471
482
  C32569CA2C252200005224AD /* PermissionInteractor.swift in Sources */,
@@ -674,9 +685,13 @@
674
685
  "-DFOLLY_CFG_NO_COROUTINES=1",
675
686
  "-DFOLLY_HAVE_CLOCK_GETTIME=1",
676
687
  );
677
- OTHER_LDFLAGS = "$(inherited) ";
688
+ OTHER_LDFLAGS = (
689
+ "$(inherited)",
690
+ " ",
691
+ );
678
692
  REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
679
693
  SDKROOT = iphoneos;
694
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
680
695
  USE_HERMES = true;
681
696
  };
682
697
  name = Debug;
@@ -746,7 +761,10 @@
746
761
  "-DFOLLY_CFG_NO_COROUTINES=1",
747
762
  "-DFOLLY_HAVE_CLOCK_GETTIME=1",
748
763
  );
749
- OTHER_LDFLAGS = "$(inherited) ";
764
+ OTHER_LDFLAGS = (
765
+ "$(inherited)",
766
+ " ",
767
+ );
750
768
  REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
751
769
  SDKROOT = iphoneos;
752
770
  USE_HERMES = true;
@@ -0,0 +1,32 @@
1
+ require 'json'
2
+
3
+ current_directory=File.dirname(__FILE__)
4
+ airbridge_qa = JSON.parse(File.read(File.join(current_directory, '../../airbridge_qa.json')))
5
+ airbridge_sdk = JSON.parse(File.read(File.join(current_directory, '../../../airbridge_sdk.json')))
6
+
7
+ Pod::Spec.new do |s|
8
+ s.name = 'airbridge-ios-sdk-qa-library'
9
+ s.version = airbridge_sdk['ios_version']
10
+ s.homepage = 'https://airbridge.io'
11
+ s.license = {
12
+ :type => 'Commercial',
13
+ :text => 'Copyright AB180 Inc. All Rights Reserved.'
14
+ }
15
+ s.author = 'ab180'
16
+ s.platform = :ios, '12.0'
17
+ s.swift_version = '5.0'
18
+
19
+ s.source = {
20
+ :http => "https://sdk-internal.airbridge.io/build/airbridge-ios-sdk/#{airbridge_qa['intenral_library']['ios_version']}/AirbridgeQALibrary.zip"
21
+ }
22
+ s.preserve_paths = 'AirbridgeQALibrary'
23
+ s.source_files = 'AirbridgeQALibrary/.Source/AirbridgeQALibrary.swift'
24
+ s.vendored_frameworks = 'AirbridgeQALibrary/AirbridgeQALibrary.xcframework'
25
+
26
+ s.summary = 'QA Library of Airbridge SDK for iOS'
27
+ s.description = <<-DESC
28
+ # airbridge-ios-sdk-qa-library
29
+
30
+ QA Library of Airbridge SDK for iOS
31
+ DESC
32
+ end
@@ -0,0 +1,32 @@
1
+ require 'json'
2
+
3
+ current_directory=File.dirname(__FILE__)
4
+ airbridge_qa = JSON.parse(File.read(File.join(current_directory, '../../airbridge_qa.json')))
5
+ airbridge_sdk = JSON.parse(File.read(File.join(current_directory, '../../../airbridge_sdk.json')))
6
+
7
+ Pod::Spec.new do |s|
8
+ s.name = 'airbridge-ios-sdk-restricted'
9
+ s.version = airbridge_sdk['ios_version']
10
+ s.homepage = 'https://airbridge.io'
11
+ s.license = {
12
+ :type => 'Commercial',
13
+ :text => 'Copyright AB180 Inc. All Rights Reserved.'
14
+ }
15
+ s.author = 'ab180'
16
+ s.platform = :ios, '12.0'
17
+ s.swift_version = '5.0'
18
+
19
+ s.source = {
20
+ :http => "https://sdk-internal.airbridge.io/build/airbridge-ios-sdk/#{airbridge_qa['intenral_library']['ios_version']}/AirbridgeRestricted.zip"
21
+ }
22
+ s.preserve_paths = 'Airbridge'
23
+ s.source_files = 'Airbridge/.Source/Airbridge.swift'
24
+ s.vendored_frameworks = 'Airbridge/Airbridge.xcframework'
25
+
26
+ s.summary = 'Airbridge SDK for iOS'
27
+ s.description = <<-DESC
28
+ # airbridge-ios-sdk
29
+
30
+ Airbridge SDK for iOS
31
+ DESC
32
+ end
@@ -1,6 +1,11 @@
1
+ require 'json'
2
+
3
+ current_directory=File.dirname(__FILE__)
4
+ airbridge_sdk = JSON.parse(File.read(File.join(current_directory, '../../../airbridge_sdk.json')))
5
+
1
6
  Pod::Spec.new do |s|
2
7
  s.name = 'airbridge-ios-sdk-qa-library'
3
- s.version = '1.37.0'
8
+ s.version = airbridge_sdk['ios_version']
4
9
  s.homepage = 'https://airbridge.io'
5
10
  s.license = {
6
11
  :type => 'Commercial',