使用 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 事件中使用非英文字母吗?

如何使用 Firebase/Google Analytics 分析用户行为并记录来自华为手机的特定事件?

iOS 上的 Firebase Analytics 事件 - 测试和生产