【发布时间】:2018-11-14 18:28:56
【问题描述】:
我正在尝试使用this post 中的指针接收来自多个 Firebase 项目(发件人)的消息。我已经使用适当的选项初始化了 FirebaseApp,并在每个发件人/项目上调用了 getToken()。但这不起作用。我收到的唯一 FCM 消息来自其 google-services.json 已包含在项目中的项目。如果我在这里遗漏了什么,请告诉我。谢谢。
FirebaseApp.initializeApp(context);
FirebaseOptions options1 = new FirebaseOptions.Builder()
.setApiKey("apiKey1")
.setApplicationId("appId1")
.setGcmSenderId("senderId1")
.setStorageBucket("bucket1")
.setDatabaseUrl("database1")
.build();
FirebaseApp.initializeApp(context, options1, "project1");
FirebaseOptions options2 = new FirebaseOptions.Builder()
.setApiKey("apikey2")
.setApplicationId("appId2")
.setGcmSenderId("sender2")
.setStorageBucket("bucket2")
.setDatabaseUrl("database2")
.build();
FirebaseApp.initializeApp(context, options2, "project2");
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
try {
String token1 = FirebaseInstanceId.getInstance(FirebaseApp.getInstance("project1")).getToken("sender1", FirebaseMessaging.INSTANCE_ID_SCOPE);
String token2 = FirebaseInstanceId.getInstance(FirebaseApp.getInstance("project2")).getToken("sender2", FirebaseMessaging.INSTANCE_ID_SCOPE);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
}
}.execute();
FirebaseMessaging fcm = FirebaseMessaging.getInstance();
【问题讨论】:
-
您找到任何解决方案了吗?请更新。我也遇到了类似的问题。
-
我有一个使用 FCM 接收命令的 android 库。当我在另一个也使用 FCM 的应用程序中导入我的库时会出现问题。所以我的 FCM 服务(库)没有收到任何 FCM 通知,但应用程序的 FCM 服务收到了所有通知。所以我的问题是,如何将 FCM 服务连接到特定的 firebase 项目?帮帮我!
-
@AbhinavSuthar 我们已经使用构建变体解决了这个问题。我们有两个独立的构建变体,具有不同的包名称,并在不同的工作流程中收集了令牌。这是解决我的问题的一种更简洁的方法,但是是的,我还没有找到原始问题陈述的解决方案。
标签: android firebase firebase-cloud-messaging