LoginSignup
3
2

More than 3 years have passed since last update.

react nativeでのIDFA対応(AdjustSDK利用)

Last updated at Posted at 2020-12-07

※まだリリースまでこじつけてないので、問題はあるかも・・・

背景

年明けにAppleさんが広告ID利用の許諾確認必須にするらしいので、その対応を実施したので、そのときAdjustSDKのバージョンアップ対応時のメモ(微妙にgithubの説明がわかりづらかったので

前提

react native: 0.61.4
yarn : 1.21.1
react-native-adjustを既に導入済みでアップグレード対応

対応概要

  1. package.jsonの更新とライブラリのnpmのパッケージの更新
  2. podsの該当ライブラリの更新
  3. Xcodeプロジェクトに必要ライブラリの追加
  4. 許諾ポップアップを表示するコードの追加
  5. 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プロジェクトに必要ライブラリの追加

  1. Xcodeで該当プロジェクトを開く
  2. サイドメニューのshow the Project navigatorを開いて、プロジェクトファイルを選択する
  3. メイン部分でTARGETSを選択して、Build Phasesを選択する
  4. Link Binary With Librariesを開いて、ボタンを押下して以下のライブラリを追加する。追加後追加したすべてのライブラリのStatusRequiredから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取得許諾のポップアップが表示されるかと思います。

参考

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2