在没有 Google-Services 插件的情况下初始化 Firebase 云消息传递



由于某些原因,我决定初始化Firebase SDK,而不批准Google-Service插件并将Google-Services.json文件添加到项目中。

这是我在应用程序类中的代码

FirebaseApp.initializeApp(context, new FirebaseOptions.Builder()
setApiKey("val").setProjectId("val").
setDatabaseUrl("val").setApplicationId("val").setGcmSenderId("val").setStorageBucket("val").build());

在我的build.gradle中,我添加了这个

implementation 'com.google.firebase:firebase-messaging:17.3.0'

安装应用后,Firebase 控制台不会向我显示任何安装,但是当我使用控制台发送云消息时,它会显示已安装 app 的设备数量!,(并且通知也没有收到(

我遇到了同样的问题,您的问题的答案非常简单: 您必须致电:

FirebaseApp.initializeApp(...

在您自己的自定义应用程序的 onCreate(( 方法中,例如:

public class YourApplication extends Application {
@Override
public void onCreate() {
FirebaseApp.initializeApp(context, new FirebaseOptions.Builder().
setApiKey("val").
setProjectId("val").
setDatabaseUrl("val").
setApplicationId("val").
setGcmSenderId("val").
setStorageBucket("val").build());
}
}

为什么?关于这篇文章和这篇文章所说的如何拥有多个Firebase项目,并且您没有使用google-services.json和google-services插件,您的Firebase实例没有被初始化,您应该将其初始化为您自己的自定义应用程序类中的任何其他框架,以便立即接收推送通知。

在没有谷歌服务插件的情况下发送云消息传递不是好主意。您的所有密钥都位于 Google 服务 json 中,当您想向应用发送通知时,Firebase 将使用此密钥。可能,如果你添加字符串.xml你的键,会起作用,但这不是一个好主意。

请阅读此文档:https://firebase.google.com/docs/android/setup

最新更新