使用FCM向Android中的所有用户发送第一个通知时出错

时间:2018-03-12 23:44:37

标签: android google-cloud-messaging

我开始在我的应用中使用FCM,今天我尝试向我的应用中的所有用户发送一个小通知。 我把json打得很好,它工作正常,IDE中没有错误,但是当我发送通知时问题出现了。

当我们的服务器发送推送通知时,我在应用程序的日志中遇到了这两个错误:

E/FirebaseInstanceId: Failed to resolve target intent service, skipping 
classname enforcement

E/FirebaseInstanceId: Error while delivering the message: ServiceIntent not found.

我没有在AndroidManifest.xml中添加任何内容,我应该添加一些内容吗?我把所有东西都添加到了Gradle中,所以它不是那个。感谢。

1 个答案:

答案 0 :(得分:1)

要在您的应用程序上配置FCM,您需要:

  • 添加依赖项。例如:implementation 'com.google.firebase:firebase-messaging:11.6.2'
  • 创建扩展FirebaseMessagingService的服务并将其添加到清单文件中。该服务将负责处理来自FCM的传入消息。
  • 创建另一个扩展FirebaseInstanceIdService的服务,并将其添加到清单中。该服务将负责处理FCM令牌的创建,更新和轮换。

之后,通过调用FirebaseInstanceId.getInstance().getToken()检索FCM令牌并将其发送到您的服务器/ Web服务。

另外,请记住FCM依赖于Play服务,因此您需要检查设备是否安装了它。您可以在活动onCreate()和/或onResume()方法中执行此操作。

有关如何配置FCM的更多信息,请refer to the docs

有关如何check for Play Services的更多信息。