Facebook SDK GDPR 合規最佳操作實例

在您整合 Facebook SDK 後,除非您停用事件自動記錄功能,否則系統會為事件管理工具自動記錄並蒐集特定應用程式事件。您可以在應用程式的程式碼中更改此設定,或者前往應用程式管理中心或事件管理工具中,透過應用程式事件下的切換開關更改此設定。請注意,如果 AutoLogAppEventsEnabled 標示與切換開關的值有所衝突,我們會以「Facebook SDK 自動事件記錄」切換開關的值為準。若要進一步了解系統會蒐集哪些資料,以及如何停用事件自動記錄功能,請參閱應用程式事件自動記錄一文。

當您使用應用程式事件專用 Facebook SDK 時,我們的商業條款會要求您依據適用法律來蒐集和處理用戶資料。根據 GDPR 和其他歐盟資料保護規章的規定,您需要先取得終端用戶的同意,方能透過我們的 SDK 傳送資料。因此,您需要確保您的 SDK 操作符合相關的同意規定。

根據預設,SDK 會自動記錄應用程式中的常見流動事件,例如應用程式安裝和應用程式啟動。當應用程式開啟時,這些事件會傳輸到 Facebook,以向您提供應用程式的用戶行為和廣告宣傳活動成效相關洞察報告。

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

同意指南

您可以查看我們的同意指南,取得實用指導和最佳操作實例,以了解如何在您的網站和應用程式上徵求同意。如果您選擇在安裝應用程式之前,透過單獨的用戶註冊流程取得用戶的知情同意(如上述同意指南所述),則無需作出任何變更,即可繼續使用 Facebook SDK 及其自動記錄功能。

延遲自動事件蒐集

如果您沒有預先安裝用於取得用戶同意的機制,您將需要採取額外的步驟來履行使用 Facebook 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

在 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();