本指南會講解如何透過整合 Facebook SDK 及記錄應用程式事件,以將這些事件加入新的應用程式或現有應用程式。
我們對 Facebook iOS SDK 作出了一些變更。建議您升級至全新版本的 Facebook iOS SDK。請參閱「裝置同意」區塊,了解更多有關此變更的資訊。
如果您尚未擁有 Facebook 應用程式,請前往應用程式管理中心,點擊我的應用程式,然後建立新的應用程式。前往設定 > 基本,在此查看應用程式詳細資料面板,當中列有您的應用程式編號、應用程式密鑰以及有關您應用程式的其他詳細資料。
向下捲動到頁面底部,然後點擊新增平台。選擇 iOS 並加入您的應用程式詳細資料,然後儲存變更。
若要將應用程式設為廣告用途,請加入以下詳細資料:
如欲進一步了解如何在應用程式新增圖示或類別等詳細資料,請瀏覽應用程式開發文件。
以下程序會使用 Swift 套件管理工具,以在 Xcode 中設定開發環境。
加入套裝識別資料,並為應用程式啟用單一登入功能。
單一登入 會從 iOS 通知啟動 |
Info.plist
檔案。 After you integrate Facebook Login, certain App Events are automatically logged and collected for Events Manager, unless you disable Automatic App Event Logging. In particular, when launching an app in Korea, please note that Automatic App Event Logging can be disabled. For details about what information is collected and how to disable automatic app event logging, see Automatic App Event Logging.
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 正確接收轉換。您可以在此了解詳情。
為了讓您能更輕鬆地了解如何使用應用程式事件,我們為不同應用程式類型建立了一些範例。每個應用程式範例都為不同的事件及可蒐集的參數,提供獨立的資料細節畫面解說。每個區塊的結尾部分都有一個表格,當中列出各個應用程式適用的建議事件及參數。若有需要,您也可以建立自訂事件及參數。