GDPRコンプライアンスに関するFacebook SDKのベストプラクティス

Facebook SDKを統合すると、特定のアプリイベントは、アプリイベントの自動記録を無効にしない限り、イベントマネージャのために自動的に記録、収集されます。これは、アプリコードで変更できます。また、アプリダッシュボードかイベントマネージャの[アプリイベント]の下のトグルで切り替えることもできます。AutoLogAppEventsEnabledのフラグとトグルとの間で値が競合している場合、「Facebook SDKの自動イベント記録」のトグル値が優先されることに注意してください。収集される情報やアプリイベントの自動記録を無効にする方法については、アプリイベントの自動記録をご覧ください。

アプリイベント用FB SDKを使う場合、Metaのビジネス規約により、開発者にはユーザー情報を収集および処理する適切な法的根拠が必要となります。GDPRや他のEUのデータ保護規制の下では、MetaのSDK経由でデータを送信するには事前にエンドユーザーの同意を得る必要があります。そのため、SDKの実装がこれらの同意要件を満たすようにしてください。

SDKは、アプリのインストールやアプリの起動など、アプリを起点とする一般的なモバイルイベントをデフォルトで自動的に記録します。こうしたイベントは、アプリが開かれて、アプリのユーザーの振る舞いと広告キャンペーンのパフォーマンスに関するインサイトが提供されると、Facebookに送信されます。

以下のリソースを参考に、EUのデータ保護法およびMetaのビジネスツール利用規約に準じた法的義務を満たすための同意手段を実装してください。

同意に関するガイド

Metaの同意に関するガイドには、ウェブサイトやアプリで同意を求める際の実用的なガイダンスとベストプラクティスが掲載されています。上記の同意ガイドにあるように、アプリのインストール前に個別のユーザー登録フローで、説明を理解した上での同意をユーザーから得ることにした場合は、何も変更を加えなくても引き続きFacebook SDKと自動ログ機能を使用できます。

イベントの自動収集を延期する

ユーザーの同意を得るためのメカニズムがあらかじめインストールされていない場合は、FB SDKの使用に関する法的義務を果たすために、追加のステップを実行する必要があります。アプリ内で同意フローを実行する機会がユーザーに与えられるまでは、SDKからのデータの送信を延期するツールが用意されています。

要件

  • Facebook SDK v.5.0以上。アプリを最新のSDKにアップグレードする方法について詳しくは、アップグレードガイドを参照してください。

Androidの場合

AndroidManifest.xmlファイル内でAutoLogAppEventsEnabledフラグをfalseに設定します。

<application>
  ...
  <meta-data android:name='com.facebook.sdk.AutoLogAppEventsEnabled'
           android:value='false'/>
  ...
</application>

エンドユーザーがFacebookSdkクラスのsetAutoLogAppEventsEnabled()メソッドを呼び出し、それをtrueに設定して同意を提供したら、自動ロギングを再び有効にします。

FacebookSdk.setAutoLogAppEventsEnabled(true);

iOSの場合

アプリケーションの.plistをXcode内のコードとして開き、次のXMLをプロパティディクショナリに追加します。

<key>FacebookAutoLogAppEventsEnabled</key><false/>
  • エンドユーザーがFBSDKSettingsクラスのsetAutoLogAppEventsEnabledメソッドを呼び出し、それをtrue (Swiftの場合)またはYES (Objective-Cの場合)に設定して同意を提供したら、自動ロギングを再び有効にします。

Swiftの場合:

Settings.isAutoLogAppEventsEnabled = true

Objective-Cの場合:

[FBSDKSettings setAutoLogAppEventsEnabled:YES];

イベントの自動収集を無効にする

アプリを開いたときにFacebookにデータが送信されないようにするため、イベントの自動収集を完全に無効にすることもできます。注: イベントの自動収集を無効にした場合は、アプリのインストールやアプリの起動といったイベントをトラッキングできなくなります。これらのイベントを記録するには、手動でコードを追加してください。

Androidの場合

AndroidManifest.xmlファイルに次の行を追加します。

<application>
  ...
  <meta-data android:name='com.facebook.sdk.AutoLogAppEventsEnabled'
           android:value='false'/>
  ...
</application>

iOSの場合

アプリケーションの.plistをXcode内のコードとして開き、次のXMLをプロパティディクショナリに追加します。

<key>FacebookAutoLogAppEventsEnabled</key>
<false/>

SDKの自動初期化を無効にする

Android用Facebook SDKは、アプリを開くと自動的に初期化されます。SDKは初期の間にFacebookからアプリの設定を取得します。Facebookに対するネットワークリクエストをすべてブロックしたい場合は、自動初期化を無効にできます。

Androidの場合

AndroidManifest.xmlファイル内でAutoInitEnabledフラグをfalseに設定します。

<application>
  ...
  <meta-data android:name="com.facebook.sdk.AutoInitEnabled"
           android:value="false"/>
  ...
</application>

エンドユーザーがFacebookSdkクラスのsetAutoInitEnabled()メソッドを呼び出し、それをtrueに設定して同意を提供したら、自動初期化を再び有効にします。

FacebookSdk.setAutoInitEnabled(true);
FacebookSdk.fullyInitialize();