Facebook SDK GDPR 遵循最佳作法

整合 Facebook SDK 後,除非停用自動應用程式事件記錄功能,否則系統會自動記錄並蒐集某些應用程式事件,以供事件管理工具使用。您可以在應用程式的程式碼中進行變更,也可以透過應用程式主控板或事件管理工具中的應用程式事件下的切換來進行變更。請注意,如果 AutoLogAppEventsEnabled 標記和切換之間的值發生衝突,我們將遵循「Facebook SDK 的自動事件記錄功能」切換中的值。如需深入瞭解系統會蒐集哪些資訊,以及如何停用自動應用程式事件記錄功能,請參閱自動應用程式事件記錄功能

使用 FB SDK 來處理應用程式事件時,我們的商業條款要求您必須有適當的法律依據,才能蒐集和處理用戶資訊。根據 GDPR 和其他歐盟資料保護法規定,您必須取得一般用戶同意,才能透過我們的 SDK 傳送資料。因此,您需要確保您的 SDK 實作符合這些同意要求。

SDK 預設會自動記錄應用程式的常見行動事件,例如應用程式安裝和應用程式啟用。當應用程式開啟時,系統會將這些事件傳輸到 Facebook,為您提供應用程式用戶行為和廣告行銷活動成效的洞察報告。

為了協助您實作同意機制以符合歐盟資料保護法和我們的商業工具服務條款規定的法律義務,我們提供以下資源。

同意指南

您可以查看我們的同意指南,瞭解在網站和應用程式中要求同意的實用指南和最佳作法。如果您選擇在應用程式安裝之前經由單獨的用戶註冊流程獲得用戶的知情同意(如前述同意指南中所述),則不需進行任何變更即可繼續使用 Facebook SDK 及其自動記錄功能。

延遲自動事件蒐集

如果您沒有預先安裝獲得用戶同意的機制,則必須採取額外步驟來履行使用 FB SDK 的法律義務。我們提供可用於延遲 SDK 資料傳輸的工具,直到用戶有機會完成應用程式內部同意流程為止。

必備條件

  • Facebook SDK 第 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 時

在 Xcode 中,將應用程式的 .plist 以程式碼的方式開啟,然後在屬性字典中加入下列 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

在 Xcode 中,將應用程式的 .plist 以程式碼的方式開啟,然後在屬性字典中加入下列 XML。

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

停用自動 SDK 初始化

Facebook Android 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();