※まだリリースまでこじつけてないので、問題はあるかも・・・
背景
年明けにAppleさんが広告ID利用の許諾確認必須にするらしいので、その対応を実施したので、そのときAdjustSDKのバージョンアップ対応時のメモ(微妙にgithubの説明がわかりづらかったので
前提
react native: 0.61.4
yarn : 1.21.1
react-native-adjustを既に導入済みでアップグレード対応
対応概要
- package.jsonの更新とライブラリのnpmのパッケージの更新
- podsの該当ライブラリの更新
- Xcodeプロジェクトに必要ライブラリの追加
- 許諾ポップアップを表示するコードの追加
- Info.plistに許諾用文言の追加
1.package.jsonの更新とライブラリのnpmのパッケージの更新
プロジェクトのpackage.jsonの該当ライブラリのバージョンをIDFAの対応が入っている4.23.0以上にする
package.json
“react-native-adjust”: “^4.23.1",
package.json更新後以下コマンドを実行
yarn upgrade react-native-adjust
2.podsの該当ライブラリの更新
iOSプロジェクトのディレクトリで以下コマンドを実行
pod update react-native-adjust
3.Xcodeプロジェクトに必要ライブラリの追加
- Xcodeで該当プロジェクトを開く
- サイドメニューの
show the Project navigator
を開いて、プロジェクトファイルを選択する - メイン部分で
TARGETS
を選択して、Build Phases
を選択する -
Link Binary With Libraries
を開いて、+
ボタンを押下して以下のライブラリを追加する。追加後追加したすべてのライブラリのStatusをRequiredからOptionalに変更する- StoreKit.framework
- AppTrackingTransparency.framework
- CoreTelephony.framework
- iAd.framework
- AdSupport.framework
4.許諾ポップアップを表示するコードの追加
この辺は公式の記述通りにすんなり。以下コードを自分はトップの画面のcomponentDidMount
に記述しました。
Adjust.requestTrackingAuthorizationWithCompletionHandler(function(status) {
switch (status) {
case 0:
// ATTrackingManagerAuthorizationStatusNotDetermined case
break;
case 1:
// ATTrackingManagerAuthorizationStatusRestricted case
break;
case 2:
// ATTrackingManagerAuthorizationStatusDenied case
break;
case 3:
// ATTrackingManagerAuthorizationStatusAuthorized case
break;
}
});
5.Info.plistに許諾用文言の追加
ルート直下でNSUserTrackingUsageDescriptionの項目を追加して、Valueには許諾のポップアップに表示したい、文言を記述する。以上でbuildすればiOS14以降で広告ID取得許諾のポップアップが表示されるかと思います。
参考