AppsFlyer SDKでのユーザーオプトイン / オプトアウト

概要: クライアント(アプリ所有者)の皆さまは、AppsFlyer SDKを使用してアトリビューションデータをAppsFlyerに送信しています。ただし、場合によっては、アプリユーザーの要求、オプトイン/オプトアウト、またはGDPRやCCPAなどのプライバシー規制により、当社へのデータ送信を停止または制限する必要があります。

OptInOptOut_us-en.png

AppsFlyerプライバシーに関するお問合せ:お客様とAppsFlyer 間のプライバシー事項については、AppsFlyer Services Privacy Policy  に準拠しています。本サービスプライバシーポリシーに関するご質問または当社のデータプロテクション事務局へのご質問は、 privacy@appsflyer.com までご連絡ください。一般データ保護規則第27条に基づき、AppsFlyer のEU域内の代表者は、AppsFlyer Germany GmbH Kurfürstendamm 11, c/o WeWork, 10719 Berlin, Germany です(お問合せ先: privacy@appsflyer.com ; +49-30-3119-9129)

オプトインとオプトアウトのシナリオ

  • アプリに埋め込まれたAppsFlyer SDKは以下のように設定できます。
    • オプトアウト:データ収集を停止または制限します。
    • オプトイン:オプトアウト後、データ収集を再開します。
  • アプリ開発者とマーケティング担当者は、規制要件とビジネス要件を考慮し、この記事で詳述されているように、オプトイン/オプトアウトを実装する必要があります。
  • オプトアウトを使用すると、次のことができます。
    • データ収集を禁止または制限するGDPRやCCPAなどの規制を遵守します。
    • 完全なオプトアウト:全てのアトリビューションデータの収集を停止します。
    • 部分的なオプトアウト: 一部のデータを送信する、または送信されたデータを匿名化します。
    • 選択的オプトアウト: 特定の規制またはアプリユーザーの年齢に基づいてオプトアウトします。
  • オプトインを使用してオプトアウトステータスをオプトインに変更できます。

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

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

  • 詳細については、オプトアウトシナリオを使用して適切なフローに従います。これを行って、オプトアウトリクエストへのコンプライアンスを確保し、必要に応じてアトリビューションデータを引き続き収集します。
  • オプトアウトがアクティブ化されているシナリオでは、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 をアクティブにします。

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

サードパーティとのデータ共有を防止

いつSDKが初期化されるたびに。 

何を:ユーザーは、第三者とのデータ共有をオプトアウトするよう要求します。最初の startTracking 呼び出しの前に、このオプションをAppsFlyer SDKにて有効化することで、セッション全体に対して次のことが適用されます。

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

方法

イベントデータの共有を防止するには、以下を実行します。

  • SDK (AndroidiOS—SDK V5.4.1 以降):
    • すべてのメディアソースがイベントを受信しないようにする:SDK メソッド setSharingFilterForAllPartners を使用します。
    • 1つまたは複数のメディアソースがイベントを受信しないようにする:SDK メソッド setSharingFilter を使用します。
  • サーバー間(S2S)API:

AppsFlyerに送信されるデータ:データはAppsFlyerに送信され保存されますが、AppsFlyerの連携パートナーに共有されることはありません。

 例

「com.to.california」はカリフォルニア州の複数のテーマパーク向けのトラベルアプリです。CCPAに準拠するため、カリフォルニア在住者がオプトアウトの申請をした場合、ユーザーイベントデータを第三者と共有しないようにAppsFlyerに通知します。  

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

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

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

方法 セッションのオプトアウト シナリオの場合、最初の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 に設定します。次の起動時に、 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を再起動し、アトリビューションデータの計測を開始します。

StrictモードSDK

ディベロッパーは、コード内のAdSupportフレームワークとIDFA収集を参照せずに、アプリを提出したい場合があります。そのような場合は、StrictモードSDKをご利用ください。

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