Skip to content

Commit

Permalink
fix(expo, ios)!: iosUserTrackingPermission no longer added by default…
Browse files Browse the repository at this point in the history
… in Expo (#285)

BREAKING CHANGE: Only affects Expo users: If you use Expo, the expo config plugin no longer includes iosUserTrackingPermission by default. No one else is affected. If you specified "false" already in app.json for this value you are not affected.
  • Loading branch information
foloinfo committed Jul 1, 2022
1 parent f5aa24e commit 4d6f843
Show file tree
Hide file tree
Showing 6 changed files with 8 additions and 23 deletions.
5 changes: 3 additions & 2 deletions README.md
Expand Up @@ -721,7 +721,7 @@ The plugin provides props for extra customization. Every time you change the pro
- `appID` (_string_): Facebook Application ID.
- `displayName` (_string_): Application Name.
- `clientToken` (_string_): Client Token.
- `iosUserTrackingPermission` (_string_): iOS User Tracking Permission. Defaults `This identifier will be used to deliver personalized ads to you.`.
- `iosUserTrackingPermission` (_string_): iOS User Tracking Permission.
- `advertiserIDCollectionEnabled` (_boolean_): Enable advertiser ID collection. Default `false`.
- `autoLogAppEventsEnabled` (_boolean_): Default `false`.
- `isAutoInitEnabled` (_boolean_): Default `false`.
Expand All @@ -740,7 +740,8 @@ The plugin provides props for extra customization. Every time you change the pro
"displayName": "RN SDK Demo",
"advertiserIDCollectionEnabled": false,
"autoLogAppEventsEnabled": false,
"isAutoInitEnabled": true
"isAutoInitEnabled": true,
"iosUserTrackingPermission": "This identifier will be used to deliver personalized ads to you."
}
]
]
Expand Down
2 changes: 0 additions & 2 deletions plugin/build/config.d.ts
Expand Up @@ -28,8 +28,6 @@ export declare type ConfigProps = {
advertiserIDCollectionEnabled?: boolean;
/**
* Sets the iOS `NSUserTrackingUsageDescription` permission message in the `Info.plist`.
* Passing `false` will skip adding the permission.
* @default 'This identifier will be used to deliver personalized ads to you.'
*/
iosUserTrackingPermission?: string | false;
};
Expand Down
6 changes: 2 additions & 4 deletions plugin/build/withFacebookIOS.js
Expand Up @@ -6,7 +6,6 @@ const config_plugins_1 = require("@expo/config-plugins");
const { Scheme } = config_plugins_1.IOSConfig;
const { appendScheme } = Scheme;
const fbSchemes = ['fbapi', 'fb-messenger-api', 'fbauth2', 'fbshareextension'];
const USER_TRACKING = 'This identifier will be used to deliver personalized ads to you.';
const withFacebookIOS = (config, props) => {
return (0, config_plugins_1.withInfoPlist)(config, (config) => {
config.modResults = setFacebookConfig(props, config.modResults);
Expand Down Expand Up @@ -148,7 +147,7 @@ function setFacebookApplicationQuerySchemes(config, infoPlist) {
}
exports.setFacebookApplicationQuerySchemes = setFacebookApplicationQuerySchemes;
const withUserTrackingPermission = (config, { iosUserTrackingPermission } = {}) => {
if (iosUserTrackingPermission === false) {
if (!iosUserTrackingPermission) {
return config;
}
if (!config.ios) {
Expand All @@ -159,8 +158,7 @@ const withUserTrackingPermission = (config, { iosUserTrackingPermission } = {})
}
config.ios.infoPlist.NSUserTrackingUsageDescription =
iosUserTrackingPermission ||
config.ios.infoPlist.NSUserTrackingUsageDescription ||
USER_TRACKING;
config.ios.infoPlist.NSUserTrackingUsageDescription;
return config;
};
exports.withUserTrackingPermission = withUserTrackingPermission;
8 changes: 1 addition & 7 deletions plugin/src/__tests__/withUserTrackingPermission-test.ts
Expand Up @@ -30,18 +30,12 @@ describe(withUserTrackingPermission, () => {
});
});

it(`adds default user tracking description`, () => {
it(`does not add user tracking description by default`, () => {
expect(
withUserTrackingPermission({name: 'foo', slug: 'bar'}, {}),
).toStrictEqual({
name: 'foo',
slug: 'bar',
ios: {
infoPlist: {
NSUserTrackingUsageDescription:
'This identifier will be used to deliver personalized ads to you.',
},
},
});
});

Expand Down
2 changes: 0 additions & 2 deletions plugin/src/config.ts
Expand Up @@ -40,8 +40,6 @@ export type ConfigProps = {

/**
* Sets the iOS `NSUserTrackingUsageDescription` permission message in the `Info.plist`.
* Passing `false` will skip adding the permission.
* @default 'This identifier will be used to deliver personalized ads to you.'
*/
iosUserTrackingPermission?: string | false;
};
Expand Down
8 changes: 2 additions & 6 deletions plugin/src/withFacebookIOS.ts
Expand Up @@ -20,9 +20,6 @@ const {appendScheme} = Scheme;

const fbSchemes = ['fbapi', 'fb-messenger-api', 'fbauth2', 'fbshareextension'];

const USER_TRACKING =
'This identifier will be used to deliver personalized ads to you.';

export const withFacebookIOS: ConfigPlugin<ConfigProps> = (config, props) => {
return withInfoPlist(config, (config) => {
config.modResults = setFacebookConfig(props, config.modResults);
Expand Down Expand Up @@ -205,7 +202,7 @@ export const withUserTrackingPermission: ConfigPlugin<
iosUserTrackingPermission?: string | false;
} | void
> = (config, {iosUserTrackingPermission} = {}) => {
if (iosUserTrackingPermission === false) {
if (!iosUserTrackingPermission) {
return config;
}

Expand All @@ -217,8 +214,7 @@ export const withUserTrackingPermission: ConfigPlugin<
}
config.ios.infoPlist.NSUserTrackingUsageDescription =
iosUserTrackingPermission ||
config.ios.infoPlist.NSUserTrackingUsageDescription ||
USER_TRACKING;
config.ios.infoPlist.NSUserTrackingUsageDescription;

return config;
};

0 comments on commit 4d6f843

Please sign in to comment.