Adjust iOS SDKを実装することで、アトリビューションやイベントなどのさまざまなデータをWebアプリで記録できます。このガイドでは、Adjust SDKをアプリに実装する方法を紹介します。
事前準備
SDK v5にアップデートする前に行う必要のあることは以下の通りです:
- SDK v5はSDKシグネチャーの検証をネイティブにサポートします。現在SDKシグネチャーライブラリを使用している場合は、まずこれをアンインストールする必要があります。
- アプリがバージョン 12.0 以前のiOSまたはtvOSをターゲットにしている場合は、SDK v5を使用する前にアプリをアップデートする必要があります。
1. プロジェクトにSDKを追加する
iOSアプリでAdjust SDKを使うには、Xcodeプロジェクトに追加する必要があります。
Swift Package Managerを使ってSDKを追加するには、以下の手順に従ってください。
- File —> Swift Packages —> Add Package Dependency を選択します。
- 表示されたボックスに、SDKのGitHubのアドレスを入力します。
https://github.com/adjust/ios_sdk
- Version ドロップダウンで、使用したいAdjust SDKのバージョンを選択します。最新のパージョンはリリースページからご確認ください。
その他のインストール方法
Cocoapodsを使ってSDKを追加するには、 Podfile
で使用したいバージョンを指定します。
アプリでWeb viewを使用している場合は、以下のようにAdjust Web Bridgeを追加します。
Carthageを使ってSDKを追加するには、以下をCartfile
に追加します。
2. Adjust SDKを実装する
Adjust SDKをXcode
プロジェクトに追加したら、それをアプリで実装する必要があります。
プロジェクトファイルに関連するimport statement(インポートステートメント)を追加します。
Adjust SDKをインポートするには、以下をbridging headerファイルに追加します。
Adjust SDKをインポートするには、以下をAppDelegate.h
ファイルに追加します。
3. iOS frameworksを追加する
Adjust SDKは、特定のデバイス情報にアクセスするためにフレームワークに依存しています。この情報を読み取れるようにするには、フレームワークを追加してそれらを オプション として表示します。
Framework | 説明 | 注意 |
---|
AdSupport.framework | デバイスのIDFAにアクセスできるようにします。また、iOS 14以前のデバイスでLAT情報にアクセスできるようになります。 | アプリが「子供向け」カテゴリーをターゲットにしている場合、このフレームワークは追加しないでください。 |
AdServices.framework | ASAアトリビューションを処理します。 | |
StoreKit.framework | SKAdNetworkフレームワークにアクセスできるようにします。 | iOS14以降のデバイスでAdjust SDKがSKAdNetworkとの通信を処理するために必要です。 |
AppTrackingTransparency.framework | Adjust SDKがユーザーのATT同意ダイアログをラップし、iOS 14以降のデバイスで同意レスポンスにアクセスできるようにするために必要です。 | アプリが「子供向け」カテゴリーをターゲットにしている場合、このフレームワークは追加しないでください。 |
WebKit.framework | アプリでWeb viewを使用できるようにします。 | アプリがWeb viewを使用している場合にのみ必要です。 |
4. SDKシグネチャーの設定
SDK v5には、 SDKシグネチャーライブラリが含まれています。シグネチャーの保護機能は、デフォルトで非アクティブになっています。これを有効化するには、シグネチャーの検証を有効にしてください。
5.(オプション)Adjust Web Bridgeを設定する
アプリがWeb viewを使用している場合、Adjust Web Bridgeを設定してWeb view内のアクティビティを記録する必要があります。
AdjustBridge
をアプリに実装する
プロジェクトナビゲータにて:
- View Controllerのソースファイルを開きます。
- ファイルの最上部に
import
ステートメントを追加します。
- Web View Delegateの
viewDidLoad
またはviewWillAppear
メソッドのAdjustBridge
に以下のコールを追加します。
AdjustBridge
をWeb viewに実装する
Web viewでJavascriptを使用するには、bridgeを設定する必要があります。Adjust iOSのWeb bridgeを初期化するには、以下のJavascriptコードを追加してください。
4. Adjust SDKを初期化する
Adjust SDKを初期化するには、configオブジェクトを作成する必要があります。このオブジェクトには、Adjust SDKの動作をコントロールする設定オプションが含まれています。最小限の設定を行うために、以下の引数をパスします。
appToken
: Your app’s token.
environment
: The environment you want to run the SDK in. Set this to ADJEnvironmentSandbox
.
ConfigオブジェクトでAdjust SDKを初期化:
- アプリデリゲートの
didFinishLaunching
またはdidFinishLaunchingWithOptions
メソッド内のconfigオブジェクトを宣言します。
- Configオブジェクトの
logLevel
プロパティをADJLogLevelVerbose
(verbose)に設定します。デバイス情報を取得するには、verboseロギングを有効化する必要があります。
- Configオブジェクトを引数として
initSdk
メソッドにパスします。
iMessageアプリを設定する
アプリがiMessageをターゲティングしている場合、いくつか追加の設定を行う必要があります。
- ソースからAdjust SDKを追加した場合、
ADJUST_IM=1
プリプロセッサマクロをiMessageプロジェクトの設定に追加してください。
- Adjust SDKをフレームワークとして追加した場合、 ビルドフェーズ プロジェクト設定で 新規コピーファイルフェーズ(New Copy Files Phases) を追加します。
AdjustSdkIm.framework
をフレームワークフォルダーにコピーするように設定してください。
セッションを記録する
Adjust SDKはiMessageアプリのiOSシステム通知を受け取りません。アプリがフォアグラウンドに入った、またはフォアグラウンドから離れたことをAdjust SDKに通知するには、trackSubsessionStart
とtrackSubsessionEnd
メソッドを呼び出す必要があります。
didBecomeActiveWithConversation:
メソッド内でtrackSubsessionStart
へのコールを追加します。
willResignActiveWithConversation:
メソッド内でtrackSubsessionEnd
へのコールを追加します。
Configオブジェクトと初期化ロジックを追加したら、Adjust SDKを設定してアプリの様々な部分に関する情報を記録することができます。設定ガイドと機能ガイドを参照し、記録したいデータを正確に設定してください。
6. Adjust SDKをテストする
アプリの情報を記録するようにAdjust SDKを設定したら、次はテストを行います。Adjustは、アプリのテストに役立つテストコンソールとデバイスAPIを提供しています。
テストガイドに従って、Adjustがアプリから想定どおりの値を受け取ることを確認してください。
8. 本番用にアプリをビルドする
テストが終わったら、本番用にアプリをビルドできます。そのためには、configオブジェクトを更新する必要があります。
以下の値を更新します。
environment
: Set this to ADJEnvironmentProduction
.
logLevel
: Choose a logging level, or disable logging completely by passing an allowSuppressLogLevel
argument in your config object.
Xcode
のビルドフラグを使用して、debug buildと本番ビルドのどちらを作成するかに応じて、動的に設定を更新することができます。