本指南會講解如何透過整合 Facebook SDK 及記錄應用程式事件,以將這些事件加入新的應用程式或現有應用程式。
我們對 Facebook iOS SDK 作出了一些變更。建議您升級至全新版本的 Facebook iOS SDK。請參閱「裝置同意」區塊,了解更多有關此變更的資訊。
如果您尚未擁有 Facebook 應用程式,請前往應用程式管理中心,點擊我的應用程式,然後建立新的應用程式。前往設定 > 基本,在此查看應用程式詳細資料面板,當中列有您的應用程式編號、應用程式密鑰以及有關您應用程式的其他詳細資料。
向下捲動到頁面底部,然後點擊新增平台。選擇 iOS 並加入您的應用程式詳細資料,然後儲存變更。
若要將應用程式設為廣告用途,請加入以下詳細資料:
如欲進一步了解如何在應用程式新增圖示或類別等詳細資料,請瀏覽應用程式開發文件。
以下程序會使用 Swift 套件管理工具,以在 Xcode 中設定開發環境。
加入套裝識別資料,並為應用程式啟用單一登入功能。
單一登入 會從 iOS 通知啟動 |
Info.plist
檔案。 在您整合 Facebook 登入後,除非您停用事件自動記錄功能,否則系統會為事件管理工具自動記錄並蒐集特定應用程式事件。若要進一步了解系統會蒐集哪些資料,以及如何停用事件自動記錄功能,請參閱應用程式事件自動記錄一文。
Info.plist
點擊右鍵,然後選擇開啟格式 ▸ 原始碼。 <dict>...</dict>
)。 [CFBundleURLSchemes]
鍵值的 <array><string>
中,將 [APP-ID] 替換為您的應用程式編號。FacebookAppID
鍵值的 <string>
中,將 [APP-ID] 替換為您的應用程式編號。FacebookClientToken
鍵值的 <string>
中,將 [CLIENT-TOKEN] 替換為您在應用程式管理中心的設定 > 進階 > 用戶端憑證中找到的值。FacebookDisplayName
鍵值的 <string>
中,將 [APP-NAME] 替換為您的應用程式名稱。Info.plist
也必須包含以下項目: 您可以在 Info.plist
將 FacebookAutoLogAppEventsEnabled
加為鍵,以直接將自動蒐集應用程式事件的功能設為「true」或「false」。
AppDelegate.swift
方法中的程式碼替換為以下程式碼。此程式碼會在應用程式啟動時初始化 SDK,並在您執行登入或分享操作時,允許 SDK 處理原生 Facebook 應用程式所產生的登入和分享事件。否則,用戶必須登入 Facebook 以使用應用程式內瀏覽器登入。 // AppDelegate.swift import UIKit import FacebookCore @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { ApplicationDelegate.shared.application( application, didFinishLaunchingWithOptions: launchOptions ) return true } func application( _ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:] ) -> Bool { ApplicationDelegate.shared.application( app, open: url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplication.OpenURLOptionsKey.annotation] ) } }
SceneDelegate
。如果您正在使用 iOS 13,請將以下方法加到 SceneDelegate
中,以便登入或分享等操作能如預期執行: // SceneDelegate.swift import FacebookCore ... func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) { guard let url = URLContexts.first?.url else { return } ApplicationDelegate.shared.application( UIApplication.shared, open: url, sourceApplication: nil, annotation: [UIApplication.OpenURLOptionsKey.annotation] ) }
在應用程式內追蹤事件的方法有三種:
您可能需要就應用程式所蒐集並傳送至 Facebook 的事件,在 App Store Connect 問卷中披露有關資料類型。您有責任確保在應用程式的私隱政策中列明這一點。請查閱 Apple App Store 私隱詳情文章,以進一步了解您需要披露的資料類型。
在您使用 Facebook SDK 時,除非您停用了事件自動記錄功能,否則系統會為 Facebook 事件管理工具自動記錄並蒐集特定應用程式事件。這些事件與所有使用案例相關,例如目標指定、成效衡量和優化。
應用程式事件自動記錄功能會蒐集 3 種關鍵事件:應用程式安裝、應用程式啟動和購買事件。啟用自動記錄功能時,廣告客戶將可停用這些事件,以及登入展示事件等 Facebook 內部事件。但是,如果您已停用自動記錄功能,但仍希望記錄指定事件(例如安裝或購買事件),您也可以在應用程式手動執行有關事件的記錄功能。
事件 | 詳細資訊 |
---|---|
安裝應用程式 | 新用戶第一次啟動應用程式,或應用程式第一次於特定裝置啟動時。 |
啟動應用程式 | 當用戶啟動應用程式時,Facebook SDK 會初始化,並會記錄事件。但是,如果第二次應用程式啟動事件發生在第一次啟動之後的 60 秒內,系統便不會記錄第二次應用程式啟動事件。 |
應用程式內購買 | Apple App Store 或 Google Play 處理完交易時。如果您使用其他付款平台,就必須手動新增購買事件代碼。 |
Facebook SDK 當機報告 (僅限 Facebook 使用。) | 如果您的應用程式因 Facebook SDK 導致當機,則在您重新啟動應用程式時,將會產生一份當機報告並傳送給 Facebook。這份報告不會包含任何用戶資料,可以幫助 Facebook 確保 SDK 的品質和穩定性。若要選擇不記錄此事件,您可以停用自動記錄事件。 |
從 iOS 14.5 開始,您需要設定 isAdvertiserTrackingEnabled
,並在每次為裝置授予權限與 Facebook 分享資料時作記錄。
如果裝置表示同意,可設定 Settings.shared.isAdvertiserTrackingEnabled = true
。
如果裝置不允許追蹤,則設定 Settings.shared.isAdvertiserTrackingEnabled = false
。
若要停用自動記錄事件功能,請在 Xcode 中開啟應用程式的 Info.plist
作為程式碼,並新增下列的 XML 至屬性字典:
<key>FacebookAutoLogAppEventsEnabled</key> <false/>
在某些情況下,您可能會想延遲蒐集自動記錄事件的速度,例如獲得用戶同意或履行法律義務,而非將其停用。在此情況下,當終端用戶同意後,設定 Settings.shared.isAutoLogAppEventsEnabled = true
以重新啟用自動記錄功能。
如因任何原因而要再次停用蒐集功能,可設定 Settings.shared.isAutoLogAppEventsEnabled = false
。
您也可以使用應用程式管理中心,停用應用程式內購買事件自動記錄功能。前往基本>設定的 iOS 資訊卡,將開關切換為否。
若要停用 advertiser-id
蒐集功能,請在 Xcode 中開啟應用程式的 .plist
作為程式碼,並新增下列的 XML 至屬性字典:
<key>FacebookAdvertiserIDCollectionEnabled</key> <false/>
在某些情況下,您可能只是想稍候再蒐集 advertiser_id
,例如在獲得用戶同意或履行法律義務後蒐集,而非停用蒐集功能。在此情況下,當終端用戶同意後,可設定 Settings.shared.isAdvertiserIDCollectionEnabled = true
。
如因任何原因而要停用蒐集功能,則設定 Settings.shared.isAdvertiserIDCollectionEnabled = false
。
若要記錄自訂事件,只要將事件名稱以 AppEvents.Name
形式傳遞即可:
AppEvents.shared.logEvent(AppEvents.Name("battledAnOrc"))
Facebook 建立了一組實用事件參數,以用於包含標準事件或您的自訂事件。您也可以提供自己的參數。
這些預先定義參數旨在提供有關常見記錄模式的指引,且在分析報告及其他用戶介面中或會有更易閱讀的格式。記錄您想看到詳細資料的參數組合。我們所建議的內容僅供參考,您可以使用任何適用於您應用程式的參數。
這些參數透過字典傳遞,其中的鍵將參數名稱保存為 AppEvents.ParameterName
,且值必須是 String
或數字(Int
、Double
等)。
應用程式廣告協助工具可讓您在應用程式中測試應用程式事件,以確保應用程式能傳送事件至 Facebook。
如果您計劃在 SKAdNetwork 宣傳活動中優化/追蹤您的事件,則還需要正確配置事件優先次序(也稱為轉換值),以便 Facebook 正確接收轉換。您可以在此了解詳情。
為了讓您能更輕鬆地了解如何使用應用程式事件,我們為不同應用程式類型建立了一些範例。每個應用程式範例都為不同的事件及可蒐集的參數,提供獨立的資料細節畫面解說。每個區塊的結尾部分都有一個表格,當中列出各個應用程式適用的建議事件及參數。若有需要,您也可以建立自訂事件及參數。