如何在 Facebook Analytics SDK 2020 中记录自定义事件 swift 文档已弃用
How to log a custom Event in Facebook Analytics SDK 2020 for swift Documentation is deprecated
更新
问题是 swift 的 facebook 文档已过时,因此要解决此问题,您必须像这样记录您的自定义事件:
func logMyEvent(name : String, value : String) {
let params : [String: Any] = ["myParamName" : "myParamValue"]
let eventName: AppEvents.Name = AppEvents.Name(rawValue: "myEventName")
AppEvents.logEvent(eventName, parameters: params)
}
重要!
请注意,Facebook 会在您调用事件约 20 分钟后在其控制台中记录您的事件。因此,如果数据不存在,请不要紧张,只需等待(我是根据经验谈的哈哈哈)。如果您有任何疑问,请随时与我联系,也许我可以提供帮助 :D
我正在集成 Swift FacebookCore SDK,这样我就可以使用 Facebook 分析了!问题是 facebooks 官方文档不起作用!看来他们还没有更新代码,所以我无法获得真正的代码来记录我自己的自定义事件!
这是 Facebook 给你的代码!
* For more details, please take a look at:
* developers.facebook.com/docs/swift/appevents
*/
func logMyEventEvent(name : String, value : String) {
let params : AppEvent.ParametersDictionary = [
"name" : name,
"value" : value
]
let event = AppEvent(name: "myEvent", parameters: params)
AppEventsLogger.log(event)
}
从这里获取:https://developers.facebook.com/docs/app-events/getting-started-app-events-ios 在 手动记录事件 部分。
但 AppEvent 已不存在。
上网查了一下才知道是因为 Facebook 改名为 AppEvents
IMAGE WERE I FOUND IT Here is the link to the GitHub poll. https://github.com/facebookarchive/facebook-swift-sdk/issues/433
但这仍然没有解决我的问题,因为我无法记录自定义事件。
有没有人不用上个版本就解决了同样的问题?
非常感谢!
难以置信,但我也找不到任何相关文档。
但是,我通过查看 FBSDKCoreKit 源代码得出了以下代码。我还没有测试过,但我把它贴在这里以防万一我在接下来的几分钟内突然意外死亡。
import FBSDKCoreKit
let name = "myEvent"
let parameters: [String: Any] = [
"myParameter": "myParameterValue"
]
let event = AppEvents.Name(name)
AppEvents.logEvent(event, parameters: parameters)
import FBSDKCoreKit
AppEvents.logEvent(AppEvents.Name.(*FBSDKAppEventName), parameters: ["*FBEvent": <Any>])
*FBSDKAppEventName 基于 facebook,因此请从以下选项中选择一个:
Facebook Standart Events
*FBEvent - 根据选择的 FBSDKAppEventName,可能有也可能没有参数。从参数中选择一个并设置为字符串。
示例:
AppEvents.logEvent(AppEvents.Name.achievedLevel, parameters: [AppEvents.Parameters.achieved: "5"])
没有参数的示例曲目:
AppEvents.logEvent(AppEvents.Name.submitApplication)
试试这个:
1- 全局声明一个包含所有必需事件的 enum:
enum FACEBOOK_EVENTS: String {
case appOpened = "MyApp iOS is opened"
case appClosed = "MyApp iOS is terminated"
case checkoutClicked = "Checkout in iOS is clicked"
case placeOrderClicked = "Place order in iOS is clicked"
}
2- 其次,像这样手动注册事件:
AppEvents.logEvent(AppEvents.Name.init(rawValue: GlobalClass.FACEBOOK_EVENTS.checkoutClicked.rawValue))
AppEvents.logEvent(AppEvents.Name.init(rawValue: GlobalClass.FACEBOOK_EVENTS.appOpened.rawValue))
...
如果你想要默认功能:
import FBSDKCoreKit
- AppEvents.shared.logEvent(.订阅)
更新
问题是 swift 的 facebook 文档已过时,因此要解决此问题,您必须像这样记录您的自定义事件:
func logMyEvent(name : String, value : String) {
let params : [String: Any] = ["myParamName" : "myParamValue"]
let eventName: AppEvents.Name = AppEvents.Name(rawValue: "myEventName")
AppEvents.logEvent(eventName, parameters: params)
}
重要!
请注意,Facebook 会在您调用事件约 20 分钟后在其控制台中记录您的事件。因此,如果数据不存在,请不要紧张,只需等待(我是根据经验谈的哈哈哈)。如果您有任何疑问,请随时与我联系,也许我可以提供帮助 :D
我正在集成 Swift FacebookCore SDK,这样我就可以使用 Facebook 分析了!问题是 facebooks 官方文档不起作用!看来他们还没有更新代码,所以我无法获得真正的代码来记录我自己的自定义事件!
这是 Facebook 给你的代码!
* For more details, please take a look at:
* developers.facebook.com/docs/swift/appevents
*/
func logMyEventEvent(name : String, value : String) {
let params : AppEvent.ParametersDictionary = [
"name" : name,
"value" : value
]
let event = AppEvent(name: "myEvent", parameters: params)
AppEventsLogger.log(event)
}
从这里获取:https://developers.facebook.com/docs/app-events/getting-started-app-events-ios 在 手动记录事件 部分。
但 AppEvent 已不存在。
上网查了一下才知道是因为 Facebook 改名为 AppEvents
IMAGE WERE I FOUND IT Here is the link to the GitHub poll. https://github.com/facebookarchive/facebook-swift-sdk/issues/433
但这仍然没有解决我的问题,因为我无法记录自定义事件。
有没有人不用上个版本就解决了同样的问题?
非常感谢!
难以置信,但我也找不到任何相关文档。
但是,我通过查看 FBSDKCoreKit 源代码得出了以下代码。我还没有测试过,但我把它贴在这里以防万一我在接下来的几分钟内突然意外死亡。
import FBSDKCoreKit
let name = "myEvent"
let parameters: [String: Any] = [
"myParameter": "myParameterValue"
]
let event = AppEvents.Name(name)
AppEvents.logEvent(event, parameters: parameters)
import FBSDKCoreKit
AppEvents.logEvent(AppEvents.Name.(*FBSDKAppEventName), parameters: ["*FBEvent": <Any>])
*FBSDKAppEventName 基于 facebook,因此请从以下选项中选择一个: Facebook Standart Events
*FBEvent - 根据选择的 FBSDKAppEventName,可能有也可能没有参数。从参数中选择一个并设置为字符串。
示例:
AppEvents.logEvent(AppEvents.Name.achievedLevel, parameters: [AppEvents.Parameters.achieved: "5"])
没有参数的示例曲目:
AppEvents.logEvent(AppEvents.Name.submitApplication)
试试这个:
1- 全局声明一个包含所有必需事件的 enum:
enum FACEBOOK_EVENTS: String {
case appOpened = "MyApp iOS is opened"
case appClosed = "MyApp iOS is terminated"
case checkoutClicked = "Checkout in iOS is clicked"
case placeOrderClicked = "Place order in iOS is clicked"
}
2- 其次,像这样手动注册事件:
AppEvents.logEvent(AppEvents.Name.init(rawValue: GlobalClass.FACEBOOK_EVENTS.checkoutClicked.rawValue))
AppEvents.logEvent(AppEvents.Name.init(rawValue: GlobalClass.FACEBOOK_EVENTS.appOpened.rawValue))
...
如果你想要默认功能:
import FBSDKCoreKit
- AppEvents.shared.logEvent(.订阅)