Skip to content

Commit 5da99bd

Browse files
committed
feat(analytics, ios): implement firebase.json toggle to override default SKAdNewtork registration
https://firebase.google.com/docs/analytics/get-started?platform=ios#optional_disable_apple_ad_network_attribution_registration
1 parent c0b5e5c commit 5da99bd

File tree

5 files changed

+48
-35
lines changed

5 files changed

+48
-35
lines changed

packages/app/firebase-schema.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@
2929
"description": "If you wish to disable automatic screen reporting in your app.\n This cannot be altered at runtime once set in the config.",
3030
"type": "boolean"
3131
},
32+
"google_analytics_registration_with_ad_network_enabled": {
33+
"description": "For your convenience, on iOS the SDK automatically registers your app with Apple for ad network attribution with SKAdNetwork.\nDefaults to true, include this key as false to disable.",
34+
"type": "boolean"
35+
},
3236
"analytics_default_allow_ad_personalization_signals": {
3337
"description": "Configure whether a user's Analytics data may be used for personalized advertising in other products.\n If set, may be overridden at runtime by calling setUserProperty on the key 'allow_personalized_ads'",
3438
"type": "boolean"

packages/app/ios_config.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,14 @@ if [[ ${_SEARCH_RESULT} ]]; then
127127
_PLIST_ENTRY_VALUES+=("$(jsonBoolToYesNo "$_ANALYTICS_PERSONALIZATION")")
128128
fi
129129

130+
# config.analytics_registration_with_ad_network_enabled
131+
_ANALYTICS_REGISTRATION_WITH_AD_NETWORK=$(getFirebaseJsonKeyValue "$_JSON_OUTPUT_RAW" "google_analytics_registration_with_ad_network_enabled")
132+
if [[ $_ANALYTICS_REGISTRATION_WITH_AD_NETWORK ]]; then
133+
_PLIST_ENTRY_KEYS+=("GOOGLE_ANALYTICS_REGISTRATION_WITH_AD_NETWORK_ENABLED")
134+
_PLIST_ENTRY_TYPES+=("bool")
135+
_PLIST_ENTRY_VALUES+=("$(jsonBoolToYesNo "$_ANALYTICS_REGISTRATION_WITH_AD_NETWORK")")
136+
fi
137+
130138
# config.google_analytics_automatic_screen_reporting_enabled
131139
_ANALYTICS_AUTO_SCREEN_REPORTING=$(getFirebaseJsonKeyValue "$_JSON_OUTPUT_RAW" "google_analytics_automatic_screen_reporting_enabled")
132140
if [[ $_ANALYTICS_AUTO_SCREEN_REPORTING ]]; then

tests/firebase.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
"google_analytics_adid_collection_enabled": true,
2727
"google_analytics_ssaid_collection_enabled": true,
2828
"google_analytics_automatic_screen_reporting_enabled": true,
29+
"google_analytics_registration_with_ad_network_enabled": true,
2930
"analytics_default_allow_ad_personalization_signals": true,
3031

3132
"perf_auto_collection_enabled": false,

tests/ios/Podfile.lock

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1167,70 +1167,70 @@ PODS:
11671167
- React-jsi (= 0.67.3)
11681168
- React-logger (= 0.67.3)
11691169
- React-perflogger (= 0.67.3)
1170-
- RNFBAnalytics (14.11.1):
1170+
- RNFBAnalytics (15.0.0):
11711171
- Firebase/Analytics (= 9.1.0)
11721172
- React-Core
11731173
- RNFBApp
1174-
- RNFBApp (14.11.1):
1174+
- RNFBApp (15.0.0):
11751175
- Firebase/CoreOnly (= 9.1.0)
11761176
- React-Core
1177-
- RNFBAppCheck (14.11.1):
1177+
- RNFBAppCheck (15.0.0):
11781178
- Firebase/AppCheck (= 9.1.0)
11791179
- React-Core
11801180
- RNFBApp
1181-
- RNFBAppDistribution (14.11.1):
1181+
- RNFBAppDistribution (15.0.0):
11821182
- Firebase/AppDistribution (= 9.1.0)
11831183
- React-Core
11841184
- RNFBApp
1185-
- RNFBAuth (14.11.1):
1185+
- RNFBAuth (15.0.0):
11861186
- Firebase/Auth (= 9.1.0)
11871187
- React-Core
11881188
- RNFBApp
1189-
- RNFBCrashlytics (14.11.1):
1189+
- RNFBCrashlytics (15.0.0):
11901190
- Firebase/Crashlytics (= 9.1.0)
11911191
- React-Core
11921192
- RNFBApp
1193-
- RNFBDatabase (14.11.1):
1193+
- RNFBDatabase (15.0.0):
11941194
- Firebase/Database (= 9.1.0)
11951195
- React-Core
11961196
- RNFBApp
1197-
- RNFBDynamicLinks (14.11.1):
1197+
- RNFBDynamicLinks (15.0.0):
11981198
- Firebase/DynamicLinks (= 9.1.0)
11991199
- GoogleUtilities/AppDelegateSwizzler
12001200
- React-Core
12011201
- RNFBApp
1202-
- RNFBFirestore (14.11.1):
1202+
- RNFBFirestore (15.0.0):
12031203
- Firebase/Firestore (= 9.1.0)
12041204
- React-Core
12051205
- RNFBApp
1206-
- RNFBFunctions (14.11.1):
1206+
- RNFBFunctions (15.0.0):
12071207
- Firebase/Functions (= 9.1.0)
12081208
- React-Core
12091209
- RNFBApp
1210-
- RNFBInAppMessaging (14.11.1):
1210+
- RNFBInAppMessaging (15.0.0):
12111211
- Firebase/InAppMessaging (= 9.1.0)
12121212
- React-Core
12131213
- RNFBApp
1214-
- RNFBInstallations (14.11.1):
1214+
- RNFBInstallations (15.0.0):
12151215
- Firebase/Installations (= 9.1.0)
12161216
- React-Core
12171217
- RNFBApp
1218-
- RNFBMessaging (14.11.1):
1218+
- RNFBMessaging (15.0.0):
12191219
- Firebase/Messaging (= 9.1.0)
12201220
- React-Core
12211221
- RNFBApp
1222-
- RNFBML (14.11.1):
1222+
- RNFBML (15.0.0):
12231223
- React-Core
12241224
- RNFBApp
1225-
- RNFBPerf (14.11.1):
1225+
- RNFBPerf (15.0.0):
12261226
- Firebase/Performance (= 9.1.0)
12271227
- React-Core
12281228
- RNFBApp
1229-
- RNFBRemoteConfig (14.11.1):
1229+
- RNFBRemoteConfig (15.0.0):
12301230
- Firebase/RemoteConfig (= 9.1.0)
12311231
- React-Core
12321232
- RNFBApp
1233-
- RNFBStorage (14.11.1):
1233+
- RNFBStorage (15.0.0):
12341234
- Firebase/Storage (= 9.1.0)
12351235
- React-Core
12361236
- RNFBApp
@@ -1498,23 +1498,23 @@ SPEC CHECKSUMS:
14981498
React-RCTVibration: d0361f15ea978958fab7ffb6960f475b5063d83f
14991499
React-runtimeexecutor: af1946623656f9c5fd64ca6f36f3863516193446
15001500
ReactCommon: 650e33cde4fb7d36781cd3143f5276da0abb2f96
1501-
RNFBAnalytics: 33112795bc35a85941c4c94d873836f697fd017f
1502-
RNFBApp: d142280345579a35cd150daeb8c20f19580e69ae
1503-
RNFBAppCheck: 0e8977e6c416b444c745ac5d2c15f149df4f4b52
1504-
RNFBAppDistribution: 35d866cc6388a70e5fc1ddc0520e823e02d1cdf1
1505-
RNFBAuth: 625c457d7315947ee8d2e8e839abb5d05a65fa4f
1506-
RNFBCrashlytics: 417e27f34e880b162239f50372b2ab069aff78fa
1507-
RNFBDatabase: a7930a1c1b3bc36f33dc17b82d9586dc758d0ab9
1508-
RNFBDynamicLinks: 1037393032be289db8934c890dce67abcf943831
1509-
RNFBFirestore: 2ddac9e2adfb92a7831cf834087bd78f2129cc17
1510-
RNFBFunctions: 99bdeb973be84909f1179a699d5a927afdace8d7
1511-
RNFBInAppMessaging: 9940daefeb6c832399c22c51677242b1c4710e43
1512-
RNFBInstallations: 9b230eabd1472e0cb8ed5f174ab5fc9b5457f7ee
1513-
RNFBMessaging: 203ed5691bd14e7e3349ddfabb5f522cec311449
1514-
RNFBML: ce312c0b8f8ce31a11badb37e00fb4fe02e54944
1515-
RNFBPerf: e4fec5cd0308407b55e68aada3ee0d5090418e49
1516-
RNFBRemoteConfig: e0b63b6d5bcf783932e017c6c7c5989a75f91c06
1517-
RNFBStorage: 3b98651d8e047a3ef85f55349cc12ea40b64678d
1501+
RNFBAnalytics: 8ccd9592707fc23438e79b5afee03b7f8784be93
1502+
RNFBApp: 9edb3febb5ef4ca4ef19a9b7c3e78b003b3f5607
1503+
RNFBAppCheck: 609f639c8a6ecefafde14f47935fc3803abf91e5
1504+
RNFBAppDistribution: 1464c3cd384a8e8c5d4ed17956001f1cd1d0fec4
1505+
RNFBAuth: 1bb8b798359adfe67876261804dea5e5edcb4a5c
1506+
RNFBCrashlytics: 8cc73044354953e0d75bcd23d550822360e51e87
1507+
RNFBDatabase: 8032c2c37e8de1b065bbb8c08b989e67132effbc
1508+
RNFBDynamicLinks: 8befdabf134ebfd112e15433d15754c1a6e808da
1509+
RNFBFirestore: aa910b8c14c610500077d8110cfb6e05fd400292
1510+
RNFBFunctions: a99a0eac7c6101168ca6a3ef011eafd056e191d2
1511+
RNFBInAppMessaging: 3ab625bfacbc2baeb846649e61ec7168ed3ccd8b
1512+
RNFBInstallations: f4c0c2d313c47bab9b1d47114629f5f7c5794b4c
1513+
RNFBMessaging: cb044ac67edf1c696042935e28c84f1a92191b59
1514+
RNFBML: 8d5d7a05e1464c9e1a269abfcf7a078b0a8ea181
1515+
RNFBPerf: 9da73e85c0a6f2bb8a942193e67d473c28c05418
1516+
RNFBRemoteConfig: 566c892b9468cfafdfa4aeb1c63f0958e73129c4
1517+
RNFBStorage: dad73f7dcaa242e737e98a3f9c7d481735c97f93
15181518
Yoga: 90dcd029e45d8a7c1ff059e8b3c6612ff409061a
15191519

15201520
PODFILE CHECKSUM: 365a51615bbede8824530bf8d24d06eee48e728e

0 commit comments

Comments
 (0)