Unityプラグイン V6 実装ガイド - 追加のSDK実装

概要:アンインストール計測、ユーザー招待の計測、プッシュ通知計測、プライバシー設定など、追加で実装可能なSDKのAPIについて記載しています。 

 関連記事

Unityプラグインとアプリの実装の全体像については、以下の記事も必ず確認してください: 

計測

アンインストール計測

さまざまなメディアソースから来たユーザーのアンインストール率を測定します。

アンインストール計測の設定方法については、関連するOS毎の手順を参照してください。

Android - FirebaseiOS
  1. Unity Firebase SDKを https://firebase.google.com/docs/unity/setupからダウンロードしてください。
  2. FirebaseMessaging.unitypackageをプロジェクトにインポートしてください。
  3. (Firebaseコンソールで取得した)google-services.jsonをプロジェクトにインポートしてください。

     注記

    Unity Firebase SDKは、マニフェストレシーバーを自動的に追加します。

  4. AppsFlyerのコードを処理するUnityのクラスに以下のコードを追加してください:
    using Firebase.Messaging;
    using Firebase.Unity;
  5. Start() メソッドに追加してください。
    Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived;
  6. このメソッドを追加してください:
    public void OnTokenReceived(object sender, Firebase.Messaging.TokenReceivedEventArgs token)
    {
    #if UNITY_ANDROID
    AppsFlyerAndroid.updateServerUninstallToken(token.Token);
    #endif
    }

 Androidのアンインストール計測ガイド

 警告

シナリオ: Unity Firebase SDKを実装している場合 

要件: Firebase Unity SDKをプロジェクトに追加した場合、enableUninstallTracking(“ SenderID”)に次のメソッドの呼び出しを追加しないでください。

追加した場合の結果:

  • Firebase Unity SDKは、google-services.jsonファイル(以前に追加されたもの)からsender IDを取得します。
  • その結果、Androidのデバッグの警告が表示される可能性があります。

カスタムデータの追加設定

Segment、Adobe、Urban Airshipなどの外部のパートナープラットフォームとプラグインレベルで連携する際には、setAdditionalDataのAPIの利用が必要になります。

各パートナーとの連携ガイド内で、setAddionalData API が必要と明示されている場合にのみ、このAPIを使用してください。

例: setAdditionalData のコード

Dictionary<string, string> CustomDataMap = new Dictionary<string, string>();
CustomDataMap.Add("custom_param_1", "value_of_param_1");

AppsFlyer.setAdditionalData(CustomDataMap);

セッション

カスタムのセッション間隔

デフォルトでは、それぞれ別のセッションとしてカウントされるには、2つのアプリ起動の間隔が少なくとも5秒以上空いている必要があります。 セッション間の最小時間を任意で設定したい場合には以下を設定してください:

AppsFlyer.setMinTimeBetweenSessions(custom_time_ins_seconds);

注意! セッション間のカスタム時間に大きい値を設定すると、ディープリンクなどのセッションデータに依存するAPI へ悪影響を与える可能性があるので注意してください。

詳細はアプリセッションのカウントを参照してください。

ユーティリティ系アプリ向けバックグラウンドセッション

Unityでは使用できません。

オウンドメディア

加工されたDeep Link URLsの解決方法

一部のサードパーティサービス( メールサービスプロバイダーなど ):

  • 独自のクリック記録ドメインを使用して、AppsFlyerの計測リンクをメール内で加工します。
  • 独自のクリック計測ドメインを設定できます。

もしもOneLinkURLが上記のように変換/短縮された場合には、OneLinkの機能が制限される可能性があります。これを克服するには:

  • SDKの初期化よりも前に、 setResolveDeepLinkURLs のAPI を呼び出してください。
  • このAPIを使用することで、アプリを起動するクリックドメインからOneLinkを取得することが可能です。

シナリオ:あなたのOneLinkhttps://mysubdomain.onelink.me/abCDにリダイレクトするクリックドメインがあったとします。

ソリューション:

  • setResolveDeepLinkURLs のAPIを使用して、クリックドメインがアプリユーザーをリダイレクトさせた後に到達するOneLinkを取得してください。
  • このAPIメソッドは、プラグインが分解したドメインのリストを受信します。
  • 以下のコードではご自身のクリックドメインを使用できますが、同時にOneLink機能も保持します。

     

    AppsFlyer.setResolveDeepLinkURLs("example.com", "click.example.com");

これで、 このOneLinkからのデータを使って 、ディープリンクと遷移先コンテンツのカスタマイズを行ってください。

プッシュ通知の計測

AppsFlyerでは、リターゲティングキャンペーンの一部として、プッシュ通知の成果を計測できます。

プッシュ通知を記録するには:

  • sendPushNotificationData のメソッドを呼び出してください。
  • このメソッドは、この通知をクリックした後に起動されるすべてのアクティビティの onCreate メソッド内にあります:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyerAndroid.handlePushNotifications();
#endif

詳細については、 プッシュ通知の計測を参照してください。

ユーザー招待計測

既存ユーザーが友人やコンタクトを新規ユーザーとしてアプリに招待できるようにすることで、アプリインストール数増加のきっかけとなる場合があります。

AppsFlyerを使用することで、アプリ内のユーザー招待から発生したインストールの計測を行うことが可能です。詳細はユーザー招待の計測を参照してください。

クロスプロモーションの計測

アプリ間での相互送客(クロスプロモーション)もアプリのインストールを促進可能です。 

AppsFlyerを使用することで、既に持っているアプリ内に表示された、別アプリへのクロスプロモーションで発生したインストールの計測が可能になります。詳細はクロスプロモーションの計測を参照してください。

ユーザー識別子

AppsFlyer IDの取得

AppsFlyer IDは、アプリのインストール毎に都度発行されます。AppsFlyer IDには様々な利用用途があります。

  • サーバー間(S2S)でイベント送信するとき
  • 広告主側で持っているシステム上のユーザー情報と一致させるとき
  • Pull APIとPush APIのデータをマージするときに、各データをマップしてください。

AppsFlyer IDを取得するには:

string AppsFlyerUID = AppsFlyer.getAppsFlyerId();

カスタマーユーザーIDの設定

独自のユニークなカスタマーユーザーID(CUID)を設定し、一意のAppsFlyer IDと紐付け・相互参照が可能です。

一意のCUID:

  • AppsFlyerの ローデータ CSVレポート上に表示されます。
  • ポストバックAPIで使用して、お客様側のユーザーIDと相互参照できます。

CUIDを設定するには:

AppsFlyer.setCustomerUserId("someId");

推奨 設定された後に計測されたイベントにしかカスタマーユーザーIDを紐付けられないので、AppsFlyerでは、 アプリ利用の一連の流れの中で、できる限り早いタイミングでカスタマーユーザーIDを設定することをお勧めしています

startSDK を呼ぶ前にsetCustomerUserID を呼び出してください。

  • 計測されたイベントはCUIDに関連付けられます。
  • 関連するデータは、インストールとアプリ内イベントのローデータレポートに表示されます。
AppsFlyer.setCustomerUserId("someId");

カスタマーユーザーIDの取得

詳細については、 CUID を確認してください。

customerUserIDのためのプラグイン初期化の遅延

カスタマーユーザーID(CUID)を設定してから、プラグインを初期化してください。これは、インストールデータとアプリ内イベントデータの両方にCUIDを含める場合に有効です。

関連するOSの手順を参照してください。

  1. Android
  2. iOS

 警告

アプリ内でのユーザーの流れに適する場合にのみ、 CUID の設定を遅延させてください。CUIDの設定を遅延させることで、数値の乖離や、アプリが広告不正の企みにさらされる可能性が高まります。

OAIDの取得

OAIDはアトリビューションを可能にするユニークな端末IDの1つです。

OAIDを取得するには

Unityプラグイン V5.4以上 Unityプラグイン V5.3以下

OAIDは自動的に収集されるのがデフォルト仕様です。オプトアウトしたい場合には、AppsFlyerAndroid.setCollectOaid(false);を呼び出してください。

ユーザープライバシー

オプトアウト

法律やプライバシーのコンプライアンス問題といったさまざまな事情により、オプトアウトしてすべての計測/記録を停止する決定が下される可能性があります。

ベストプラクティス アプリに適したシナリオを、正しい手順に沿って実装していただくことをお勧めします。

計測を停止するには:

  • stopSDKを呼び出し、trueに設定してください。
    AppsFlyer.stopSDK(true);
  • このAPIが起動するとプラグインは動作を停止し、AppsFlyerサーバーとの通信は何も発生しなくなります。 

計測を再度アクティブにするには:  stopSDK を呼び出してfalseに設定してください。

 警告

このstopSDKのAPIは、特定ユーザーの計測を全て停止したい場合に使用してください。また、このAPIの使用はアトリビューションやデータ収集、ディープリンクの機能に影響を与えますのでご注意ください。

ユーザーデータの匿名化

AppsFlyerでは、AppsFlyerアナリティクスで特定のユーザーを匿名化するためのメソッドが用意されています。この機能は、最新のプライバシー要件とFacebookのデータおよびプライバシーに関するポリシーに準拠しています。

アプリユーザーを匿名化するには:

  1. SDKの初期化中にこのAPIを設定してください。
  2. anonymizeUser を呼び出し、true に設定してください。
    AppsFlyer.anonymizeUser(true);
  3. ユーザーのインストール、イベント、およびセッションを匿名化します。

計測を再開するには: anonymizeUserを呼び出し、 false に設定してください。

 警告

ユーザーを匿名化することにより、アトリビューション情報に大きな悪影響があります。
ユーザーの情報を収集することが法的に禁じられている地域でのみ、このオプションを使用してください。

データ取得からのパートナーの除外

場合によっては、アドネットワークやパートナーに対する特定ユーザーのユーザーレベルのデータ共有を停止したい場合があるかと思います。その理由としては:

  • CCPAやGDPRのようなプライバシーポリシー
  • ユーザーによるオプトアウト
  • 一部パートナー(広告ネットワーク/第三者ツール)との競合

AppsFlyerでは、一部またはすべてのパートナーとのデータ共有を停止するための、2つのAPIメソッドを用意しています。

  • setSharingFilter1: 広告主がデータ取得から 特定の アドネットワークや連携パートナーを 除外する ために使用するものです。
  • setSharingFilterForAllPartners: 広告主が すべての アドネットワーク / 連携パートナーに対して、データを共有しないようにするために使用します。

これらのフィルタリングメソッドは、SDK V5.4.1からサポートされています。

このフィルタリングメソッドは、SDK が初期化される毎に呼び出される必要があり、セッション全体に影響を与えます。このフィルタを設定する必要があるかどうかを判断するのに時間がかかる場合には、SDKの初期化を遅延させてください。 

最初のstartSDKの呼び出しよりも前にこのメソッドがアクティブ化された場合

  • SRN経由のユーザーはOrganicユーザーと見なされ、そのユーザーのデータは連携パートナーとも共有されません。
  • 通常のアドネットワーク(SRN以外)経由のユーザー は、AppsFlyer上で正しく媒体へ紐付けされますが、ポストバック、API、ローデータレポート、またはその他の方法においてアドネットワークへデータは共有されません。

現在、これらのメソッドを使用してアンインストールに関するデータをフィルタリングすることはできませんが、AppsFlyerの連携設定ページ を使用して、各パートナーへのアンインストールイベントのポストバック送信は停止することができます。