本指南說明如何將應用程式事件加入全新或既有的應用程式,方法是先整合 Facebook SDK,然後記錄這些事件。
我們已對 Facebook iOS SDK 進行變更。建議升級為新的 Facebook iOS SDK 版本。有關此變更的更多資訊,請參閱裝置同意部分。
請前往應用程式主控板,然後點擊我的應用程式,如果您沒有任何應用程式,請建立新的應用程式。依序導覽至設定 > 基本,即可查看應用程式詳細資料面板,其中會顯示應用程式編號、應用程式密鑰及其他應用程式詳細資料。
向下捲動至頁面底部,然後點擊新增平台。選擇 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 事件管理工具使用。這些事件與目標設定、成效衡量和最佳化等所有使用案例相關。
採用「自動記錄應用程式事件」方法時,系統會蒐集三種主要事件:「應用程式安裝」、「應用程式啟動」和「購買」。啟用自動記錄功能後,廣告商就可以停用這些事件和其他 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
等等)。
我們已為不同應用程式類型製作一些範例,以讓您更容易瞭解如何使用應用程式事件。每個應用程式範例都會針對可蒐集的不同事件和參數,利用逐一畫面提供資料解析。各節結尾都會提供一個表格,列出建議用於各應用程式的事件和參數。如有必要,您也可以建立自己的事件和參數。