检测何时单击通知以发送分析事件

时间:2016-02-08 13:14:35

标签: android google-analytics google-cloud-messaging android-notifications

我们有一个应用程序,GCM通知正常,我们设置了PendingIntent,以便在点击通知时打开我们想要的活动。但是,每次单击一个通知(并且有不同类型的通知)时,我们需要向Google Analytics发送一个事件。我们怎么能实现这个目标?我不想解析活动中的意图,因为我认为这不是一个好的解决方案(我们正在使用TaskStackBuilder因此并不总是对相同的通知打开相同的活动),是否有接收器,我们可以用来检测点击/打开通知的时间?

提前致谢

2 个答案:

答案 0 :(得分:0)

在通知意图上加上一些flag变量。

intent.putExtra("notification","clicked");

现在在Activity中检查一下,Bundle是否有"通知"是否关键

if(getIntent().hasExtra("notification"))
    //write your code for analytics

答案 1 :(得分:0)

尝试使用NotificationListenerService。它允许应用程序接收有关通知的信息。您需要使用BIND_NOTIFICATION_LISTENER_SERVICE权限在清单文件中声明服务,并包含一个带有SERVICE_INTERFACE操作的intent过滤器来扩展此类。请参阅此example

我还发现了stackoverflow question如何使用TaskStackBuilder实现NotificationListenerService。这可能有所帮助。