注册/检查Google Cloud Messaging的位置,时间和频率

时间:2016-06-01 04:16:11

标签: android push-notification google-cloud-messaging

我试图在我的应用中实施GCM。该应用程序包含一个用户界面和一个在后台运行的服务。该服务由启动广播接收器启动或启动应用程序。

我按照谷歌提供的代码示例,到目前为止它的工作原理。 Google表示,您应该在活动中的onCreate()和onResume()中检查播放服务。

我是否还要检查我的服务中的播放服务(如果应用程序启动,请检查播放服务是否失败,用户是否重启设备,我的服务是否通过广播启动)?

另外,我真的需要在onCreate()中添加检查,因为在应用程序启动时,无论如何都会调用onResume()吗?

--- ---更新

好吧,我可能会让自己不够清楚。我只消耗GCM。接收器当然是一个广播接收器,在我的清单中公开。

如果收到消息,我会告诉我的服务做某事。我问我是否应该在我的服务中检查Play服务,这样我就可以确保用户知道如果没有激活Play服务,某些事情可能无效。

2 个答案:

答案 0 :(得分:0)

我是否还要检查我的服务中的播放服务(如果应用程序启动,检查播放服务是否失败,用户是否重启设备,我的服务是否通过广播启动)?

我之前没有尝试使用过引导BroadcastReceiver,所以我对它不熟悉,这就是为什么我不会评论总答案。

我真的需要在onCreate()中添加检查,因为在应用程序启动时仍会调用onResume()吗?

docs中还可以找到他们建议这样做的原因:

  

依赖Play Services SDK的应用应始终在访问Google Play服务功能之前检查设备是否支持兼容的Google Play服务。建议在两个位置执行此操作:主活动的onCreate()方法和onResume()方法。签入onCreate()可确保在未成功检查的情况下无法使用该应用。签入onResume()可确保如果用户通过其他方式(例如通过后退按钮)返回正在运行的应用程序,则仍会执行检查。

IF 您认为在Service内开始任何操作之前检查Play服务是必要的,那么我认为这是一个很好的举措。

希望这会有所帮助。干杯!

PS:顺便说一下,如果你还没有检查出来,GCM现在有一个名为的新版本。看看吧。 :d

网站:https://firebase.google.com/docs/cloud-messaging/

答案 1 :(得分:0)

对于FCM(以前称为GCM),您应该在即将使用Google Play服务API时检查Google Play服务。如果您的服务可以通过重新启动广播启动,并且您的服务使用FCM,那么您应该检查那里的播放服务。因此,如果您的活动正在启动该服务,则无需在活动中检查Google Play服务。如果Google Play服务丢失但设备不会收到消息,甚至无法获得注册令牌,FCM不应对您的应用产生负面影响。