概要: Android / iOSアプリへのSDK実装のテスト方法について記載しています。
SDK実装テストとデバッグ
アプリストアへアプリを申請する前に、SDKの実装テストを必ず実施してください。
(このページ内では、SDKという単語はAndroid / iOS、両OSのSDKを指します。)
テストとデバッグの特殊なケース
- Smart TV:AppsFlyer SDKは、AndroidベースのスマートテレビやApple TV(tvOS)とも互換性があります。 Smart TV向けアプリのテストについても、このガイドの指示に従ってください。
- 未リリースのtvOSアプリ:リリース前のtvOS実装テストを参照してください。
- Amazon Fire TV向けアプリ:その他Androidストアのテストを参照してください。
なぜデバッグとテストが必要ですか?
慎重に検証された実装は、正確で包括的なデータ収集が保証されます。SDK実装をテストすることで、インストールとアプリ内イベントが正しいキャンペーンの成果として記録されるかを確認できます。
SDK実装テストとデバッグ
次のいずれかのメソッドを使用して、SDK実装のテストとデバッグを実施してください:
-
基本的なテスト:
- 計測リンクを使用した実装テストです。
- AppsFlyerのアトリビューションモデルでは計測リンクを使用しているので、計測リンクを使用してテストを行うことを推奨しています。
- 計測リンクを利用してSDK実装テストを行うことで、AppsFlyerアトリビューションモデルを詳しく理解でき、日々のマーケティング業務とその分析を最適化するのにも役立つでしょう。
-
発展的なテスト:
- 開発環境下での直接的なデバッグテストです。
- SDK実装テスト のセクションでは、限られた一部の機能のテストのみが行われるため、デバッグログを使用して開発環境下で以下の内容についてテストを実施してください。
- アプリ内購入の検証
- コンバージョンデータ
- SDKセットアップ内でのエラー検証:
デバッグログを使用することで、開発環境下でこれらをテストすることができます。
アドネットワーク向けの関連記事:アドネットワークの連携テスト
SDK 実装テストのページを使用することで、SDK実装における問題点を見つけることができるので、インストール、アプリ内イベント、ディープリンクのテストにご利用ください。
SDK実装のテスト
SDK実装をテストするには:
- まず、アプリがインストールされていない端末(iOS / Android)を準備してください。事前に、アプリは端末からアンインストールしておいてください。
- 端末をテスト端末として登録してください。 注意!iOS:TestFlightを使用してアプリをインストールする場合には、反当m津をテスト端末に登録する必要はありません。
- AppsFlyerの管理画面上で、テストするアプリを選択してください。
-
管理画面左メニューの設定 > SDK実装テスト をクリックしてください。
SDK実装テストのページが表示されます。 - テストする内容を選択してください:
- 非オーガニックインストール
- アプリ内イベント
- ディープリンク
- 選択したテストタイプに応じて、以下のテスト手順を実施してください。
オーガニックインストールのテスト
- テスト用に登録した端末上で、アプリをインストールしてください。
- アプリを起動します。
- 新規オーガニックインストールが、アプリのオーバービュー画面上に表示されます。
非オーガニックインストールのテスト
- 非オーガニックインストールを選択してください。
- 表示されているテスト端末を選択してください。
- アプリをインストールするソース元を選択してください:
- Android:
- Google Play
- その他(out-of-store)
- iOS:
- App Store
- XCode
- TestFlight
- Android:
- テスト端末に登録した端末でQRコードをスキャンし、表示された指示に従ってください。
- SDK 実装テストページ上で非オーガニックインストールが記録されるまで待ってください。これには最大2分程度かかりますが、表示された=テスト成功です。
時間内に非オーガニックインストールが記録されなかった場合には、 SDK 実装テストページ内にあるトラブルシューティングを参照してください。
LAT端末のインストール をテストするには:
- お使いの端末上で、LAT設定を有効してください。
- 非オーガニックインストールのテストを実施してください。
ATT同意なし (= IDFAなし) のインストールをテストするには:
- ATTの同意ダイアログ内で、追跡しないようアプリに要求するを選択してください。
- 非オーガニックインストールのテストを実施してください。
アプリ内イベントのテスト
- In-app eventsの下にあるRun testlをクリックしてください。
- ドロップダウンの一覧から予め登録したテスト端末を選択して、Nextをクリックしてください。
- アプリを起動し、実装したアプリ内イベントを発火させてください。
- これらのイベントはリアルタイムで記録されるので、そのイベントログが表示されます。
ディープリンクのテスト
- ディープリンクをテストするには、アプリのOneLink設定が完了している必要があります。こちらのOneLinkガイド を確認してください。ディープリンク実装ガイドでも解説されているように、SDKのディープリンク実装を強くお勧めします。
- "アプリ設定"内でリターゲティング広告測定を有効にするがOnになっていることを確認してください。
- Deeplinkingの下にあるRun testをクリックしてください。
- ドロップダウンの一覧から予め登録したテスト端末を選択して、Nextをクリックしてください。
- Test Typeを選択します。
- OneLink - [OneLinkの選択]ドロップダウンからテストするOneLinkを選択します。
- URIスキーム - テストするURIスキームを指定してください。例:greatapps://cars
- テスト端末に登録した端末でQRコードをスキャンし、表示された指示に従ってください。
- これら2つのテストが完了すると、ディープリンクテストは 成功として記録されます。
テストアプリを使用したSDKの実装テスト
計測リンクを使用してテストを行うと、計測されたデータがアプリの管理画面上に表示されます。一度記録されると、そのデータを削除することはできません。本番アプリの実際のデータとテストデータを混在させたくない場合は、デバッグアプリを使ってSDK実装をテストできます。
テストアプリを必要としない場合やテストデータが実際のデータと混ざることを気にしない場合は、 このセクションをスキップください。
デバッグアプリは、アプリストアに公開されているアプリと全く同一のコピーとなります。テストアプリでSDK実装テストすることで、実際のデータとテストデータが混ざることを防ぐことができます。
デバッグアプリは、次の点で本番アプリと異なります。
- アプリIDが異なる
- 独自の管理画面がある
- アプリストアに公開されていない
Androidのテストアプリを作成する
Androidアプリを複製する
- Androidプロジェクトフォルダのコピーを作成し、名前を変更する
- Androidスタジオで新しくコピーしたプロジェクトを開く
- Android Studioでは、パッケージに到達するまでフォルダを展開する
- パッケージ名を右クリックし、Refactor を選択してから Renameを選択する
- パッケージの名前を変更する
- アプリレベル build.gradeで、
applicationId
を新しいパッケージ名に変更する
AndroidテストアプリをAppsFlyer管理画面に追加する
手順に従って、AppsFlyerの管理画面に新しいアプリを追加します。パッケージ名が、元のアプリのパッケージ名ではなく、新しく作成されたテストアプリのパッケージ名と同じであることを確認してください。また、アプリステータスを 「承認待ち」または「未公開」に設定ください。
新しいテストアプリでテストを実行できるようになりました。
iOSのテストアプリを作成する
iOSアプリを複複製する
- ファインダーでプロジェクトフォルダを開く
- フォルダを複製する
- XCodeで複製プロジェクトを開く
AppDelegate
クラスのdidFinishLaunchingWithOptions
メソッド内で、新しいアプリケーションIDを設定する:Objective C
Swift
注意
アプリIDは、アプリストアに公開されるとアプリに与えられるIDです。ただし、これはテストアプリであるため、別のアプリで利用されていない限り、任意のIDを指定できます。フォーマットは11111**** にする必要があります。例:111117538
IDは9桁であることを確認してください。5つの1でIDを開始します。残りの数字はランダムでなければなりません。上記のIDの例を参照してください。
AppsFlyerの管理画面にiOSテストアプリを追加する
手順に従って、AppsFlyerの管理画面に新しいアプリを追加してください。アプリIDが新しく作成されたテストアプリ用のアプリIDと同じであることを確認してください。また、アプリステータスは 「承認待ち」または「未公開」に設定してください。
新しいテストアプリでテストを実行できるようになりました。
計測リンクを使用したテスト
このセクションでは、計測リンクを利用して実装確認をする方法を紹介します。
はじめに:
- 使用する端末を、テスト端末として登録してください。
- リアトリビューションのテストを実施する際には、テストに使用する端末を事前にテスト端末のリストから削除してください。
- サードパーティのAndroidアプリストアで利用可能なアプリのアトリビューションテストを実施する場合には、特定のアプリストアへ遷移させるために計測リンクにaf_rのパラメータを追加設定する必要があります。
アプリが承認待ち(Google PlayやAppStoreに表示されていない)の状態でも、SDKの実装テストは実施可能です。
このセクションでは、次のトピックについて説明します。:
- インストールのテスト
- アプリ内イベントのテスト
- リターゲティング計測のテスト (リアトリビューション / リエンゲージメント)
インストールアトリビューションのテスト
インストールのテストでは、AppsFlyerのSDKがインストールを各種メディアソースに正しく紐づけることができるかどうかを確認できます。
ステップ 1:
以下のリンクをコピーしてください:
https://app.appsflyer.com/<app_id>?pid=Test&c=Test&advertising_id=<GAID>
https://app.appsflyer.com/<app_id>?pid=Test&c=Test&idfa=<IDFA>
app_idのパラメータをあなたのアプリIDに変更してください。 (頭文字のid
を含んだ状態で設定してください。例:id0123456789
)
- c パラメータには、キャンペーンの名前を指定します。
- pid パラメータには、インストールが紐づくメディアソースの名前を指定します。
- サードパーティの Androidアプリストアで利用可能なアプリをテストする場合:計測リンクに af_rのパラメーターを追加してください。
PCからクリックをテストする場合には、Android用のGAID (Google Advertising ID)、またはiOS用のIDFAを計測URLに追加してください。
ステップ 2:
リンクをコピーしてテストデバイスに送信し、ブラウザを使用してリンクに移動します。
注意
iOSでは、iMessageもしくはemailでリンクを端末へ送信してください。なお、リンク内容が破損してしまう可能性があるので、リンクをiOSのNotesアプリに貼り付けてのクリックはしないでください。
- アプリが公開されている場合は、インストールに進みます。
- アプリが承認待ちの場合、開発環境からアプリをインストールします:
--Android:Android StudioまたはADB shellからインストール
--iOS:XCodeからインストール
ステップ 3:
インストールがアプリの管理画面に表示されるまで2分ほどかかります。メディアソース名Test キャンペーン名Testとしてインストールが計測されていることを確認できます。
より精緻な検証を行いたい場合には、インストールのローデータレポートをダウンロードして確認してください:
- AppsFlyerの管理画面において、左メニューのレポート内にある、 データエクスポートへ進んでください。
- ローデータレポートセクションでインストールローデータをダウンロードください。
詳細については、インストールローデータレポートに関する記事を参照してください。
アプリ内イベントのテスト
アプリ内イベントをテストし、イベントが関連付けられている収益の表示、またインストール時のメディアソースに成果が紐づいていることを確認できます。
計測リンクを使用してアプリをインストール後、アプリ内イベントをいくつか発火させてください。管理画面にイベントが表示されるまでには最大2分かかります。アプリ管理画面を開き、左メニューの アプリ内イベント をクリックしてください。
アプリ内イベント、収益(収益が関連付けられている場合)、および関連付けられているメディアソースが表示されます。
より詳細な確認を行うには、アプリ内イベントのローデータレポートをダウンロードできます。
管理画面で レポートセクションのデータエクスポートをクリックしてください。ローデータレポートセクションからアプリ内イベントのローデータレポートをダウンロードください。
詳細については、アプリ内イベントのローデータレポートに関する記事を参照してください。
OneLinkのテスト
OneLink™を使用すると、iOSとAndroidの両方に単一の計測リンクを設定できます。OneLinkがユーザーの端末を認識し、該当するアプリストアにユーザーをリダイレクトします。
OneLinkはディープリンクも可能にします。ディープリンクを使用すると、カスタマイズコンテンツを配信するために、特定のアプリアクティビティをアプリで開くことができます。
詳細については、OneLink URLのテストに関するガイドを参照してください。
リターゲティングのテスト
リターゲティングをテストするための前提条件
- OneLinkテンプレート:OneLinkテンプレート設定を参照してください。
- アプリ設定で、リターゲティングを有効にする
アプリ管理画面で、アプリ設定をクリックし、リターゲティング広告測定を有効にするを必ずオンに切り替えてください。
- テスト端末に登録していない端末
リターゲティングのテストは簡単です。OneLinkテンプレートからカスタム計測リンクを作成してください。リターゲティングキャンペーンの項目をオンに設定してください。
カスタム計測リンク設定が完了すると、以下の画面が表示され、ロングリンクを取得できます。
リンクマネジメント画面から、ロングURLを取得することも可能です。
- リンクマネージメントの画面で、計測リンクを見つけてください。
- 右側のアクションの下の3つの点をクリックしてください。
- リンク詳細を表示をクリックしてください。
- ロングリンクをコピーしてください。
重要:
- リターゲティング(リアトリビューションとリエンゲージメント)をテストするときには、端末ID(GAIDまたはIDFA)を計測リンクのURL内に付与する必要があります。
- リターゲティングの再インストール(= リアトリビューション)は登録済みのテスト端末ではテストできません。言い換えれば、リアトリビューションのテストの際には、他の端末も利用可能です。
- GAIDもしくはIDFAを表示するには、テスト端末の登録に関する記事を参照してください。注意!
最終的に生成されるOneLinkは下記のようになります。:
https://go.onelink.me/2rAD?pid=Test&c=Test&is_retargeting=true&advertising_id=<GAID>
https://go.onelink.me/2rAD?pid=Test&c=Test&is_retargeting=true&idfa=<IDFA>
リアトリビューションのテスト
リアトリビューションをテストで、過去にアプリをアンインストールしたユーザーのアプリ再インストールを計測することができることを確認できます。
- 使用している端末がテスト端末に登録されていないことを確認してください。
- アプリがインストールされたばかりの場合は、数分お待ちください。
- デバイスからアプリをアンインストールします。
- インストール計測をするために、上記のOneLinkのフォーマットを利用して、同じ手順を繰り返します。
- リターゲティングされたインストールが管理画面に表示されるまで最大2分程度お待ちください。
- アプリの管理画面を開き、左メニューよりリターゲティング画面を開きます。
- リアトリビューションの結果として、メディアソースTestキャンペーン名Testの下にインストールが表示されます。
より詳細な確認を行うには、コンバージョンローデータレポートをダウンロードできます。
管理画面で レポートセクションのデータエクスポートをクリックしてください。リターゲティングレポートセクションで、コンバージョンのローデータレポートをダウンロードします。
リエンゲージメントのテスト
リエンゲージメントは、アプリをインストールしているユーザーがリターゲティングキャンペーンを経てアプリを起動したときに発生します。
アプリ起動経由のリエンゲージメントのテスト
アプリ起動からのリエンゲージメントとは、ユーザーがアプリストアにリダイレクトされ、ストアページ上の「アプリを開く」のボタンが表示されるようなフローが該当します。「アプリを開く」のボタンをクリックしアプリを起動すると、リエンゲージメントが記録されます。
リエンゲージメントをテストするには、以下の手順に従ってください:
- アプリがテストデバイスにインストールされ、数回起動されていることを確認する
- アプリがインストールされたばかりの場合は、数分お待ちください。
- リアトリビューションのテストに使用したものと同じOneLinkを使用する
- リンクにデバイスIDを追加し、モバイルデバイスに送信します。
- ブラウザを使用してリンクに移動します
- アプリストアまたはデバイスのローンチパッドにて、「開く」ボタンをクリックしてアプリを開きます。
メディアソースTestキャンペーン名Testの下にリエンゲージメントが表示されます。
ディープリンク経由のリエンゲージメントのテスト
ディープリンクによるリエンゲージメントを行うと、ユーザーが計測リンクをクリックした直後にアプリが起動できます。ディープリンクによるリエンゲージメントのメリット:
- より良い方法:ユーザーはストアにリダイレクトされることなく、アプリが自動的に開きます。
- 推奨:広告キャンペーンの内容に沿ったアクティビティが開くように設定することで、リターゲティングキャンペーンの効果を最大化することができます。
ディープリンクを使用してリエンゲージメントアトリビューションをテストできます。これは計測リンクによるリエンゲージメントのテストと同じ手順ですが、唯一の違いはユーザーをアプリ内の特定のアクティビティにリダイレクトさせるパラメータである、af_dp
が計測リンクに含まれていることです。
ディープリンクによるリエンゲージメントをテストするには、以下の手順に従ってください:
- ディープリンクの設定が完了していることを参照してください。
- アプリがテストデバイスにインストールされ、数回起動されていることを確認する
- アプリがインストールされたばかりの場合は、数分お待ちください。
- デバイスIDを含むリターゲティング用のリンクを生成します。
- af_dpパラメーターを追加し、ステップ1で生成したスキームを入力します。
- ブラウザを使用してリンクに移動します
- アプリがインストールされている場合、アプリが起動され、リンク内で指定したアクティビティが開きます。
メディアソースTestキャンペーン名Testの下にリエンゲージメントが表示されます。
詳細については、ディープリンクのテストのガイドを参照してください。
その他のSDK実装テストの方法
SDKの実装テストは、以下の2つの方法でも可能です。:
このセクションでは、SDKのでデバッグ方法について説明します。このセクションを参照して、高度なテストを行い、SDKの実装に関する問題のトラブルシューティングを行いましょう。
Androidのデバッグ
SDKをデバッグすると、アプリの実装状況を詳しく見ることができます。デバッグは、アプリ内イベント計測、コンバージョンデータ、購入検証などの問題解決に役立ちます。
Android SDKのデバッグモードを有効にする
Android SDKのデバッグを開始するには、AFApplicationクラスに次の行を追加します。:
AppsFlyerLib.getInstance().setDebugLog(true);
重要!
デバッグは開発段階時のみに限定する必要があります。デバッグを有効にしたまま、アプリをアプリストアに公開しないように注意ください。これは、重大なセキュリティとプライバシーのリスクをもたらします。
デバッグ出力の確認方法
デバッグ出力を表示するには、AndroidスタジオでLogcat terminal を開きます。デバッグ可能なプロセスとしてアプリのパッケージ名を選択し、ログレベルをDebugに設定し、 "AppsFlyer_"でフィルタします。
Android SDK のよくある問題とトラブルシューティング
インストールが常にオーガニックとして計測される
状況
計測リンクを使用したテストをしています。SDKコンバージョンリスナーを実装しましたが、ログではインストールが全てオーガニックであると表示されます。管理画面上でも非オーガニックインストールが記録されていません。
よくあるエラー要因
- DevKeyが正しくありません。正しくないDevKeyを利用すると、インストールは計測されません。
- 使用している計測リンクが間違っているので、計測リンクに関するガイドを参照してください。
- テストに使用している端末がテスト端末に登録されていることをご確認ください。
- マニフェストに不適切なチャネルが定義されていないか確認してください。
インストールが検出されなかった、または計測されなかった
状況
インストールテスト行ったが、ログにはインストールタイプや初回起動などのインストールに関するデータが表示されない。
よくあるエラー要因
startTracking
とinit
メソッドがAFApplication
クラスで呼び出されていることを確認してください。- テストに使用している端末がテスト端末に登録されていることをご確認ください。
インストールまたはイベント計測で404エラーが表示される
状況
アプリ内イベントをテストして、正しいメディアソースに紐づけられているかどうかを確認しています。しかし、ログは、インストールの場合も、アプリ内イベントの場合も、404エラーを表示します。インストールもアプリ内イベントも管理画面に表示されません。
よくあるエラー要因
404エラーは、アプリIDが正しくないことを示します。build.gradleファイルのapplicationId
パラメータのアプリIDが、管理画面のアプリIDと同じであることを確認してください。
収益が正しく計測できていない
状況
収益値を含むアプリ内イベントのテストをしています。イベントは管理画面に表示されますが、収益値は計測されません。
よくあるエラー要因
収益パラメータの形式が正しくありません。収益の値には書式を何も追加しないでください。カンマ区切り、通貨記号、テキストなどを含まないようにしてください。たとえば、収益イベントは「1234.56」のように指定します。
アプリ内イベントをテストすると"AppsFlyer's SDK cannot send any event without providing devkey"というログが表示される
状況
ログ内のアプリ内イベントをテストしようとしています。イベントをトリガーすると、"AppsFlyer's SDK cannot send any event without providing DevKey"(DevKeyなしでは、イベントを送信できません)というログだけ表示されます。
よくあるエラー要因
パラメータとしてdevキーを渡さずにstartTracking
メソッドを呼び出しています。dev keyを必ず渡すようにしてください。
アプリ内イベントのテストをすると、"not sending data yet, waiting for dev key"とログに表示される
状況
ログ内のアプリ内イベントをテストしようとしています。イベントをトリガーすると、"Not sending data yet, waiting for dev key"(まだデータを送信していません、DevKeyを待っています)というログだけが表示されます。
よくあるエラー要因
init
を呼び出し、空の文字列としてDevKeyを渡しています。dev keyを必ず渡すようにしてください。
アプリ内イベントのテストをすると400エラーになる
状況
ログ内のアプリ内イベントをテストしようとしています。イベントをトリガーすると、ログに400エラーが表示されます。
よくあるエラー要因
dev keyに問題がある可能性がございます。正しいdev keyを設定しているかご確認ください。dev keyは英数字のみで構成されています。
"warning: Google play services is missing"とログに表示される
状況
logcatに警告メッセージ "WARNING: Google Play Services is missing"(警告:Google Playサービスがありません) が表示されます。
よくあるエラー要因
Google Play Servicesのdependenciesが設定されていません。そのためSDKがGAIDを取得できず、アトリビューション計測に影響がある可能性がございます。
次の行を追加ください:
implementation 'com.google.android.gms:play-services-base:15.0.1'
implementation 'com.google.android.gms:play-services-ads:15.0.1'
モジュール(アプリ)レベルのbuild.gradleファイル
インストール / アプリ内イベントのテストをすると、403のエラーレスポンスを受け取ってしまう
状況
log内でインストールやアプリ内イベントのテストを行おうとしている場合、log内でそれらのイベントを発火させると403のエラーレスポンス(forbidden/禁止)が表示されます。
よくあるエラー要因
このエラーは、インプレション数とクリック数のみを計測し、その後のアトリビューション情報の計測をプランに含んでいない、ゼロパッケージを使用されている場合に起こる可能性があります。アトリビューションデータの受け取りを開始するには、様々なAppsFlyerのパッケージプランの詳細を確認し、必要に応じてパッケージを更新してください。 パッケージプランに関するご質問がある場合には、 、お気軽に弊社カスタマーエンゲージメントチーム: hello@appsflyer.com までお問い合わせください。
iOSのデバッグ
iOS SDKのデバッグモードを有効にする
iOS SDKのデバッグを開始するには、didFinishLaunchingWithOptions
メソッドに次の行を追加します:
AppDelegate.mに次の行を追加します:
[AppsFlyerLib shared].isDebug= true;
AppDelegate.swiftに次の行を追加します:
AppsFlyerLib.shared().isDebug= true
重要!
デバッグは開発段階にのみ実施ください。デバッグを有効にしたまま、アプリストアでアプリを公開しないでください。これは、重大なセキュリティとプライバシーのリスクをもたらします。
デバッグ出力の確認方法
デバッグ出力を表示するには、XCodeでデバッグターミナルを開き、 "AppsFlyer"でフィルタします。
iOS SDK のよくある問題とトラブルシューティング
インストールとアプリ内イベントが計測されない
インストールとアプリ内イベントが計測されない理由はいくつかあります:
間違ったフォーマットでAppIDを入力すると、インストールとイベントは正しく計測されません。delegateファイルにAppIDを設定するときは、AppIDが数字のみで構成されていることをご確認ください。
AppsFlyer管理画面のアプリ設定画面にて、dev keyを取得できます。
正しいフォーマット:
[AppsFlyerTracker sharedTracker].appleAppID = @"340954503";
間違ったフォーマット:
[AppsFlyerTracker sharedTracker].appleAppID = @"id340954503";
間違ったフォーマット:
[AppsFlyerTracker sharedTracker].appleAppID = @"com.appslyer.sampleapp";
アプリIDのフォーマットが間違っている場合、ログに次のエラーが表示されます:
[ERROR] AppsFlyer: -[AppsFlyerTracker validateAppID] AppsFlyer Error: appleAppID should be a number!
アカウントに存在しないアプリIDを指定すると、インストールとイベントは計測されません。ログには次のエラーが表示されます:
AppsFlyer: -[AppsFlyerHTTPClient sendRequestEventToServer:isRequestFromCache:appID:isDebug:
completionHandler:]_block_invoke sent information to server, status = 404
404エラーは、SDKがアカウント内でアプリを見つけつることができなかったことを示します。
正しくないdev keyを設定すると、インストールやアプリ内イベントは記録されません。ログには次のエラーが表示されます:
AppsFlyer: -[AppsFlyerHTTPClient sendRequestEventToServer:isRequestFromCache:appID:isDebug:completionHandler:]
_block_invoke sent information to server, status = 400
400エラーは、インストールやイベントを計測するためのリクエストをSDKで認証できないことを示します。正しいdev keyを設定しているかご確認ください。dev keyは英数字のみで構成されています。
アプリIDとDevKeyは正しいが、インストールが計測されない
状況
正しいアプリIDとDevKeyがアプリに設定されていますが、インストールが計測できません。
よくあるエラー要因
- SDKの初期化が正しく行われていません。
applicationDidBecomeActiv
でtrackAppLaunch
メソッドを呼び出すようにしてください:
- (void)applicationDidBecomeActive:(UIApplication *)application { [[AppsFlyerTracker sharedTracker] trackAppLaunch]; }
func applicationDidBecomeActive(application: UIApplication) { AppsFlyerTracker.shared().trackAppLaunch() }
ログに"AppsFlyer dev key missing or empty. aborting”と表示される
状況
ログ内でインストールとアプリ内イベントのテストを試みましたが、ログに"AppsFlyer dev key missing or empty. Aborting”と表示されます。
よくあるエラー要因
dev keyが設定されていません。app DelegateのdidFinishLaunchingWithOptions
メソッド内で必ず設定ください:
[AppsFlyerTracker sharedTracker].appsFlyerDevKey = @"YOUR_DEV_KEY";
AppsFlyerTracker.shared().appsFlyerDevKey = "YOUR_DEV_KEY"
インストールが常にオーガニックとして計測される
状況
計測リンクを使用したテストをしています。SDKコンバージョンリスナーを実装しましたが、ログではインストールが全てオーガニックであると表示されます。管理画面上でも非オーガニックインストールが記録されていません。
よくあるエラー要因
- 使用している計測リンクが間違っているので、計測リンクに関するガイドを参照してください。
- テストに使用している端末がテスト端末に登録されていることをご確認ください。
収益が正しく計測できていない
状況
収益値を含むアプリ内イベントのテストをしています。イベントは管理画面に表示されますが、収益値は計測されません。
よくあるエラー要因
収益パラメータの形式が正しくありません。revenueの値にはどのようなフォーマットも適用しないでください。カンマ区切り、通貨記号、テキストなどを含めないでください。たとえば、収益の値は「1234.56」のように設定してください。
インストールまたはイベント計測で404エラーが表示される
状況
インストールやアプリ内イベントが正しいメディアソースにアトリビュートされるかテストしようとしています。しかし、インストールもアプリ内イベントも404エラーが表示されます。インストールもアプリ内イベントも管理画面に表示されません。
よくあるエラー要因
404エラーは、アプリIDが正しくないことを示しています。インストールとイベントが計測されませんのページを参照してください。
インストールまたはアプリ内イベントのテストをすると400エラーになる
状況
ログ内のアプリ内イベントをテストしようとしています。イベントをトリガーすると、ログに400エラーが表示されます。
よくあるエラー要因
dev keyに問題がある可能性があるので、正しいdev keyを設定できているかをご確認ください。(dev keyは英数字のみで構成されています。)インストールとイベントが計測されませんのページを参照してください。
インストール / アプリ内イベントのテストをすると、403のエラーレスポンスを受け取ってしまう
状況
log内でインストールやアプリ内イベントのテストを行おうとしている場合、log内でそれらのイベントを発火させると403のエラーレスポンス(forbidden/禁止)が表示されます。
よくあるエラー要因
このエラーは、インプレション数とクリック数のみを計測し、その後のアトリビューション情報の計測をプランに含んでいない、ゼロパッケージを使用されている場合に起こる可能性があります。アトリビューションデータの受け取りを開始するには、様々なAppsFlyerのパッケージプランの詳細を確認し、必要に応じてパッケージを更新してください。 パッケージプランに関するご質問がある場合には、 、お気軽に弊社カスタマーエンゲージメントチーム: hello@appsflyer.com までお問い合わせください。
Unityのデバッグ
Unityのデバッグモードを有効にする
Unity SDKのデバッグをするには、AF GameObject内のstart
メソッドに次の行を追加ください:
AppsFlyer.setIsDebug (true);
重要!
デバッグは開発段階にのみ実施ください。デバッグを有効にしたまま、アプリをアプリストアに公開しないように注意ください。これは、重大なセキュリティとプライバシーのリスクをもたらします。
デバッグ出力の確認方法
デバッグ出力はAndroid StudioまたはXCodeで行えます。
Unity SDK のよくある問題とトラブルシューティング
UnityはAndroidアプリもiOSアプリも作成できます。プラットフォーム毎のよくある問題については以下を参照ください:
注意
SDK 実装のテストとデバッグが完了したら、SDK logsをオフにしてください。