【发布时间】:2016-06-30 20:34:05
【问题描述】:
我已经实施了 GCM,我现在正尝试将 GCM 导入 FCM。我不想使用 google-services.json,因为我想为不同的环境(Dev、Stag、Prod)使用不同的谷歌项目。
我尝试通过下面的代码初始化应用程序
FirebaseOptions.Builder options=new FirebaseOptions.Builder();
options.setGcmSenderId("<<project id>>");
options.setApplicationId("<<Project name>>");
FirebaseApp firebaseApp = FirebaseApp.initializeApp(getApplicationContext(),options.build(),"MyTestFCM");
String refreshedToken= FirebaseInstanceId.getInstance(firebaseApp).getToken();
我在 Firebase 应用初始化时不断收到异常
原因:java.lang.IllegalStateException:名称为 [DEFAULT] 的 FirebaseApp 不存在。可用的应用名称:MyTestFCM
如果我删除了应用程序名称,那么我不会得到一个令牌,然后当我重新运行应用程序时,我会得到一个令牌。我试图从 Mainactivity 和 Application 类执行上述代码。在这两个地方我都得到同样的错误。
所以我的问题是如何在不使用 google-services.json 的情况下初始化 Firebase 应用程序
谢谢, P
【问题讨论】:
-
请看一下这个讨论,它最终描述了如何将多个 google-services 文件用于不同的构建变体。 github.com/googlesamples/google-services/issues/54
标签: android firebase-cloud-messaging