使用 Firebase Analytics 事件记录 OneSignal 推送通知
Posted
技术标签:
【中文标题】使用 Firebase Analytics 事件记录 OneSignal 推送通知【英文标题】:Log OneSignal Push Notification with Firebase Analytics Event 【发布时间】:2018-11-15 01:55:11 【问题描述】:所以我的目标是记录我的应用程序上出现的任何推送通知。我正在使用 Firebase Analytics 记录任何事件,并且我已经知道如何使用它:
Analytics.logEvent(FirebaseEventName, parameters: [:])
但是是否可以将事件记录为推送通知?我使用 OneSignal 作为我的推送通知服务。
【问题讨论】:
在你收到通知的appDelegate中(userNotificationCenter(_center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler) 添加一个logEvent来捕获你想要的数据。 @AlexBailey 我会试试看,如果它有效,我会通知你 【参考方案1】:我找到了答案。但我的方法需要后端参与。我没有答案,因为我不处理后端部分。以下答案是仅适用于 iOS 部分。
所以,该方法使用OneSignal方法,并在
中实现func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool
如果您已经在使用 OneSignal for ios,您应该已经在 didFinishLaunchingWithOptions 中编写了以下代码
OneSignal.initWithLaunchOptions(launchOptions, appId: ONE_SIGNAL_APPID, handleNotificationReceived: (notification) in
let additionalData = notification?.payload.additionalData // Get additional data such as custom flaging from backend
if additionalData != nil // A condition to avoid crash if additionalData is empty
let customFlag:String = additionalData!["tipe"] as! String // Get value of the custom flag, in this case mine is "tipe", and store the value to customFlag
Analytics.logEvent(customFlag, parameters: [:]) // Send Log Event to Firebase
, handleNotificationAction: (result) in
, settings: [kOSSettingsKeyInFocusDisplayOption: OSNotificationDisplayType.none.rawValue,kOSSettingsKeyAutoPrompt : true])
例如,如果您打印 additionalData,则该值应类似于
[AnyHashable("tipe"): inbox]
这个值是在后端部分设置/声明的。
【讨论】:
以上是关于使用 Firebase Analytics 事件记录 OneSignal 推送通知的主要内容,如果未能解决你的问题,请参考以下文章
来自 iOS 的 Firebase Analytics 事件未显示
我应该使用啥事件在 Firebase Analytics 上发送“按下按钮”事件
使用 Firebase Analytics 跟踪 Android 应用内订阅事件
我可以在 Firebase Analytics 事件中使用非英文字母吗?