AppsFlyer SDKでのオプトイン/オプトアウト<br />シナリオの実装

概要: この記事は、AppsFlyer SDKを使用するAppsFlyerのお客様(アプリの所有者)を対象としています。SDKはアトリビューションデータをAppsFlyerに送信します。規制(GDPRやCCPA)、ユーザーによるオプトインとオプトアウトなどの何らかの理由で、SDKがAppsFlyerにデータを送信することを停止または制限できます。

opt_out.jpg

データ収集のオプトインとオプトアウトのシナリオ

アプリに埋め込まれたAppsFlyer SDKは、データ収集を停止または制限するように設定できます。規制要件とビジネス要件を考慮に入れているアプリ開発者とマーケティング担当者は、この記事で詳述されているオプトイン/オプトアウトのシナリオを実装する必要があります。

AppsFlyerのオプトアウト機能により、次のことが可能になります。

  • オプトアウトを使用してデータ収集を禁止または制限する規制を遵守します。
  • 完全なオプトアウト − アトリビューションデータの収集を停止します。
  • 一部のオプトアウト − 一部のデータの送信、または送信されたデータの匿名化を実行します。
  • オプトイン − オプトアウトステータスをオプトインに変更できます。
  • 選択的なオプトアウト − 規制環境またはオプトアウトできるアプリユーザーの年齢に基づいて制限します。

オプトアウトしたユーザー

オプトアウトは、規制やユーザーの要件に応じて、さまざまなレベルで実行できます。

  • 詳細に応じて、オプトアウトシナリオを使用して適切なフローに従います。これを行って、オプトアウトリクエストへのコンプライアンスを確保し、必要に応じてアトリビューションデータを引き続き収集します。
  • オプトアウトがアクティブ化されているシナリオでは、AppsFlyer IDがハッシュ化されます。
  • 読みやすくするために、この記事ではAndroidメソッド名を使用しています:
    • 計測開始メソッド名
          Android SDK: startTracking
          iOS SDK: trackAppLaunch()
    • 計測停止メソッド名
        Android SDK: stopTracking
          iOS SDK: AppsFlyerTracker.shared().isStopTracking = true

シナリオ

インストール時にオプトアウト

coppa_compliant_appsflyer.png

いつ :最初の起動時(例: COPPAコンプライアンス

状況:すべてのセッションにおいてイベントの記録を実行するには、ユーザーの同意を必要とする。
ユーザーが計測に同意した場合(例:特定の年齢を超えたユーザー)、アプリはSDK startTrackingメソッドを呼び出します。それ以外の場合は、startTracking メソッドを呼び出さないでください。

注意

startTracking が呼び出されなかった場合は、stopTracking を使用しないでください。

方法startTracking メソッドは、オプトインされたユーザーのセッション開始時に常に呼び出される必要がありますが、オプトアウトされたユーザーに対しては呼び出されません。また、オプトインしたことのないユーザーのアプリ内イベントを送信することはできません。これは、不明なユーザーから来てオーガニックに移動したものと見なされるためです。

したがって、アプリの場合は、有効にする インストールオプトアウト startTracking が事前に呼び出されたかどうかを示す永続的なフラグパラメーターを含めることを推奨します。このフラグは、 startTracking または sendEvent メソッドが呼び出される前に必ずチェックする必要があります。

AppsFlyerに送信されるデータ:データは送信されません。
ユーザーが続いてオプトインした場合、startTracking が呼び出され、アトリビューションとセッションデータが送信されます。

 例

com.carefulappでは、インストール時にユーザーが会員登録する必要があります。フォームには "わたしは13歳以上です。"というチェックボックスが含まれています。開発者は、is_trackingというフラグを追加し、このボックスがオンになっている登録に対してのみ true とし、startTracking をアクティブにします。

コード例はこちらをご参照ください。

IDFAの収集を無効にする

AppsFlyer SDKは、アトリビューションの目的で、デフォルトでユーザーのIDFAを収集します。IDFAの収集は、デバイスIDの一致に依存するFacebook広告、Twitter、Google広告、およびその他のメディアソースにインストールを関連付けるために不可欠です。

ただし、必要に応じて、デフォルトのIDFAの収集を無効にすることができます。

IDFAの収集を無効にするには:

XCode

  1. Xcodeで、左側にあるプロジェクトをクリックします。
  2. 上部のメニューから Build Settings を選択します(スクリーンショットを参照)。
  3. [All ] を選択します。
  4. 右側の検索フィールドで、other linked flags を検索します。
    xcode_remove_linking_idfa.png
  5. デバッグとリリースの両方の Other Linker Flags の右側にある依存関係のリストをダブルクリックします。
  6. フレームワークのリストからAdSupport を削除します。

    xcode_remove_linking_idfa_ad_support.png

AppsFlyer SDK

AppsFlyer SDKで、disableAppleAdSupportTracking を true に設定します。これを true に設定すると、SDKにIDFAを収集しないように指示します。詳細についてはこちらをご覧ください。

セッションのオプトアウト

いつ :すべてのアプリの起動時

状況 :すべてのアプリのセッションに、セッション中にイベントとデータの計測を行うことに対するユーザーの同意を必要とします。

方法 セッションのオプトアウト シナリオの場合、最初のSDK呼び出しは、ユーザーがデバイスからデータを送信することに同意または拒否した後に行われます。

ユーザーがデータの送信に同意した場合は、 startTracking メソッドを呼び出す必要があります。
ユーザーがデータの送信を拒否した場合は、 stopTracking メソッドを呼び出す必要があります。

AppsFlyerへ送信されるデータは、各セッションのオプトアウトステータスによって次のように異なります。

  • オプトアウトセッション :データは送信されません。
  • オプトインセッション :すべてのセッションデータが送信されます。
    注意:ユーザーが初めてオプトインした場合、インストールアトリビューションデータが送信されます。

 例

com.adultsplayは、18歳以上の大人向けのカジュアルゲームアプリです。ユーザーは会員登録する必要はありませんが、アプリ起動のたびに年齢を確認する必要があります。ユーザーが18歳以上であることをユーザーが確認したセッションでは、完全なゲーム体験が計測されます。それ以外の場合、計測は実行されません。

開発者は、is_tracking と呼ばれるフラグを追加しました。これは、18歳以上を確認するセッションでのみ true になります。このフラグが true の場合、 startTracking メソッドが呼び出されます。それ以外の場合は、 stopTracking メソッドが呼び出されます。

1回限りのオプトアウト

OpenGDPR-logo-BLK.png

いつ :いつでも(GDPR)

状況:アプリの所有者は、アトリビューションとインストール後のデータを収集します。ユーザーは、データの収集を停止するように要求します。 例: GDPR リクエストに準拠

方法 startTracking を呼び出さずに、直接 stopTracking 呼び出します。

代わりに、最初の起動時に requestListener とともに startTracking メソッドを使用します。正常に完了すると、コールバック機能で stopTracking を呼び出します。

これ以降のすべてのセッションでは、 startTracking 呼び出さないでください。

AppsFlyerに送信されるデータ: インストールおよびセッションデータがAppsFlyerに送信されます。 stopTracking メソッドが呼び出された後は、AppsFlyerにデータは送信されません。

 例

com.watchmegrowは、植物を育てて見たりする植物成長アプリです。アプリの所有者は、すべてのアプリ内アクティビティデータを秘密にしたいと考えています。

最初の起動で、開発者は requestListener を使用して startTracking メソッドを呼び出します。正常に終了したことを受け取ると、コールバック機能から stopTracking を呼び出し、永続パラメーター is_first_launch を false に設定します。次の起動時に、Devは is_first_launch が false かどうかをチェックし、 startTracking をスキップします。

 

コード例はこちらからご確認ください。

インストールの計測と匿名化

いつ :最初の起動時

状況 :アプリの所有者はすべてのアトリビューションデータを収集しますが、アプリ内イベントやセッションデータなどのすべての詳細情報をアトリビューションのないオーガニックデータとして収集します。インストール後、すべてのデバイスIDは、SDKからAppsFlyerに送信されるときに匿名化されます。

方法 startTracking を呼び出さずに、直接 stopTracking 呼び出します。

代わりに、最初の起動時に requestListenerを使用して startTracking メソッドを使います。正常に完了すると、コールバック機能で setDeviceTrackingDisabled(true) を呼び出します。

AppsFlyerに送信されるデータ:

  • インストール時: 完全なアトリビューションデータがAppsFlyerに送信されます
  • インストール後 :アプリ内イベントを含むセッションデータがAppsFlyerに送信されますユーザー識別情報は、AppsFlyerが受信すると匿名化またはハッシュ化されます。

 例

com.munisticアプリのアプリ所有者は、すべてのユーザーが平等に生まれていると信じており、すべてのインストール後のアクションをオーガニックのみとして表示することを好みます。

最初の起動時に、開発者は requestListener を使用して startTracking メソッドを呼び出します。正常に終了したことを受け取ると、コールバック機能から setDeviceTrackingDisabled(true) を呼び出します。

コード例はこちらをご参照ください。

リターゲティングキャンペーンのオプトアウト

オプトアウトしたユーザーをリターゲティングキャンペーンから除外することを検討しています。これらのユーザーは、オプトアウトしたためにリターゲティングされることに不満を抱く可能性があります。

アクティブユーザーを対象とするリターゲティングキャンペーンを手動で実行する場合は、オプトアウトしたユーザーをメディアソースリストに送信されるリストから削除してください。

または、 AppsFlyerオーディエンスを使用している場合(オーディエンスリストを自動的に作成して、選択したメディアソースに送信するため)、オプトアウトしたユーザーは、AppsFlyerによってメディアソースに送信されるメディアデバイスリストから除外されます。

stopTracking APIとディープリンク

stopTracking APIを使用すると、アプリに埋め込まれたAppsFlyer SDKによるすべての外部通信が停止します。

したがって、stopTrackingを呼び出した後、短縮リンクはAppsFlyer SDKによってデコードされなくなります。つまり、短縮リンクは onAppOpenAttribution への呼び出しを生成せず、ディープリンクが正しく実行されません。

オプトアウトしたユーザーの割合が比較的高いアプリで、ユーザー向けのリターゲティングキャンペーンを計画している場合は、通常のリンクを使用し、短縮リンクの使用は避けてください。

SDK機能の再起動

オプトアウトしたユーザーがオプトインすることに同意すると、 startTracking メソッドを呼び出してSDKを再起動し、アトリビューションデータの計測を開始します。

この記事は役に立ちましたか?