よくあるご質問
didFinishLaunching
またはdidFinishLaunchingWithOptions
メソッドでAdjust SDKを初期化することを強くおすすめします。スタートガイドの手順に従った場合、これらのメソッドはアプリのデリゲート内にあります。Adjust SDKの全機能を使用するには、SDKをできる限り早く初期化することが重要です。
SDKをすぐに初期化しないと、トラッキングにあらゆる影響を及ぼす恐れがあります。初期化されていない場合、Adjust SDKは正しくトラッキングすることができません。
Adjust SDKの初期化前は、以下の機能は実行されません。
- イベントトラッキング
- ディープリンクを介したリアトリビューション
- トラッキングの無効化
- オフラインモード
初期化前にSDKでこれらのアクションをトラッキングしたい場合、これらをキューに追加する必要があります。アプリ内で custom actions queueing mechanism を構築してください。Adjust SDKで実行したい全てのアクションをキューに入れ、SDKの初期化が完了したらトリガーするようにしてください。
SDKの初期化を遅らせると、セッショントラッキングにも影響が出る場合があります。初期化されるまで、SDKはセッションごとの平均アプリ滞在時間をトラッキングできません。これはDAU数に影響を及ぼす恐れがあります。
例:ユーザーがアプリ内の特定の画面に移動した時に、Adjust SDKが初期化されるように実装したとします。これを行うと、ユーザーがアプリを初回起動しホーム画面を押すと、Adjust SDKはユーザーを計測しません。ユーザーがアプリをアンインストールした場合も、Adjust SDKに計測されることはなく、レポート画面にも表示されません。
イベントトラッキング
イベントをトラッキングしている場合は、アプリ内でqueuening mechanism(キューイングメカニズム)を構築します。SDKで利用したいイベントをキューイングメカニズムに入れ、SDKの初期化が完了したら動作するようにしてください。Adjust SDKを初期化する前にイベントをトラッキングしようとしても機能せず、そのイベントは 永続的に失われます 。Adjust SDKが有効化されており、イベントをトラッキングする前に初期化するようにしてください。
オフラインモードとトラッキングの有効化または無効化
Adjust SDKは、設定時にオフラインモードを維持しません。新しいセッションが始まると、Adjust SDKはオンラインモードで開始されます。Adjust SDKを初期化する前にオフラインモードを有効化しようとしても機能しません。Adjust SDKはその設定を維持しないため、初期化するとオンラインモードに切り替わります。
トラッキングの有効化と無効化は、Adjust SDKを初期化しても保持されます。Adjust SDKを初期化する前にこれをONにしても機能しません。Adjust SDKは、最後に初期化した時の状態を記憶します。
ディープリンクによるリアトリビューション
ユニバーサルリンクを使用している場合、リンクからNSURL
オブジェクトが得られます。このリンクを受け取った後、以下を呼び出してください。
[Adjust appWillOpenUrl:url]
Adjust SDKを初期化する前にこれを呼び出しても機能しません。URLに含まれるアトリビューション情報は失われます。Adjust SDKでユーザーをリアトリビュートするには、NSURL
オブジェクトをキューに追加してください。Adjust SDKを初期化した後、appWillOpenUrl
メソッドをトリガーします。これにより、Adjust SDKはURLオブジェクトを開いてユーザーをアプリの適切な場所に誘導できるようになります。
セッション計測
Adjust SDKは自動的にセッションをトラッキングします。早い段階でAdjust SDKを初期化し、セッション情報を取得する必要があります。起動後すぐにSDKを初期化しないと、予期せぬ動作を引き起こす可能性があります。初期化されていない場合、Adjust SDKは何もトラッキングできません。
以下は、Adjust SDKを早い段階で初期化しないとトラッキングに失敗する可能性のあるケースです。
- ユーザーがアプリを起動するものの、Adjust SDKが初期化される前にアンインストールしてしまう場合。Adjust SDKはインストールとセッションの情報を取得できず、インストールは管理画面でレポートされません。
- ユーザーがアプリをダウンロードして、午前0時前に初回起動する場合。Adjust SDKの起動を遅らせているため、初期化は午前0時以降に行われます。Adjust SDKは、インストールとセッションのデータを間違った日付でレポートします。
- ユーザーが午前0時前にアプリを起動する場合。Adjust SDKの起動を遅らせているため、初期化は午前0時以降に行われます。Adjust SDKはセッションデータを間違った日付でレポートし、DAUに差異が発生します。
このエラーは、Adjust SDKフレームワークをアプリに追加する際に発生する可能性があります。Adjust SDKはソースファイル内のカテゴリーを含んでおり、このSDK実装アプローチを選んだ場合、Xcodeのプロジェクト設定で-ObjC
フラグを Other Linker Flags に追加する必要があります。このSDK実装アプローチを選んだ場合、Xcodeのプロジェクト設定で-ObjC
フラグを Other Linker Flags に追加する必要があります。このフラグを追加することでエラーを解決できます。
このエラーは、インストールテストの際に起こりえます。アンインストール後に再インストールするだけでは新規インストールとして動作しません。バックエンドはSDKがローカルのセッションデータを失ったと判断してエラーメッセージを無視し、そのデバイスに関する有効なデータのみが与えられます。バックエンドがこのように動作するのは、サンドボックスの動作が本番用(production)の動作と一致することを確認するためです。
テストコンソールを使用して、デバイスのアプリセッションデータをリセットできます。対象となるアプリにおいて編集者レベルまたはそれ以上のアクセス権限があるユーザーが設定できます。
テストコンソールからデバイスに関する記録が消去されると、Forgot device
が返されます。もしそのデバイスの記録がすでに消去されていたり、値が正しくなかった場合はDevice not found
が返されます。
デバイスの記録を消去しても、GDPR forget me(GDPR 忘れられる権利)のコールを元に戻すことはできません。
デバイスAPIにアクセスできる場合は、これを使ってデバイスを検査し、記録を消去できます。
これは、Xcodeを使用してインストールのシナリオをシミュレーションする場合に起こる可能性があります。Xcodeでインストールを再度実行すると、Adjust SDKが持つ情報は消去されません。インストールを再度実行すると、Adjust SDKは既存のファイルを検知して新しいインストールをトラッキングしません。
アプリのインストールシナリオを再度実行するには、以下を行ってください。
- デバイスからアプリをアンインストールします。
- Adjustのテストコンソールからテストデバイスの情報を消去します。
- テストデバイスでXcodeからアプリを実行し、ログに「Install tracked」というメッセージが表示されるのを確認します。
Adjust SDKは、アプリ内に実装された通りに情報をトラッキングします。Adjust SDKはこの情報を変更することなく、単純にAdjustバックエンドに渡します。その後、Adjustバックエンドは、受け取った情報を分析のために表示します。データに乖離が見られる場合は、収益を計測するコードを確認してください。
以下は収益イベントを計測する実装事例です。
// ...
- (double)someLogicForGettingRevenueAmount {
// This method somehow handles how user determines
// what's the revenue value which should be tracked.
// It is maybe making some calculations to determine it.
// Or maybe extracting the info from In-App purchase which
// was successfully finished.
// Or maybe returns some predefined double value.
double amount; // double amount = some double value
return amount;
}
// ...
- (void)someRandomMethodInTheApp {
double amount = [self someLogicForGettingRevenueAmount];
ADJEvent *event = [ADJEvent eventWithEventToken:@"abc123"];
[event setRevenue:amount currency:@"EUR"];
[Adjust trackEvent:event];
}
データに乖離が見られる場合は、収益額の値を決定するロジックを確認してください。
Adjust SDKのサイズは、プロジェクトに追加する方法によって異なります。サポートされているインストール方法ごとの推定のSDKサイズは以下のとおりです。
- Carthage :2,600KB
- CocoaPods :600KB