我正在尝试在单个FCM客户端应用程序中初始化两个FCM服务器。 第一个应用程序使用默认名称“ [DEFAULT]”初始化,第二个应用程序使用名称“ secondary”初始化。 由于在FirebaseApp中,必须将一个应用命名为“ [DEFAULT]”。
初始化后,我尝试从两个应用程序中获取令牌值,但是我仅从[DEFAULT]应用程序中接收令牌。辅助应用程序在查询令牌时返回null。
//默认应用初始化:
FirebaseOptions.Builder defaultBuilder = new FirebaseOptions.Builder()
.setApplicationId("[applicationID]")
.setApiKey("[apikey]")
.setDatabaseUrl("[url]")
.setStorageBucket("[storageBucket]");
FirebaseApp defaultapp =FirebaseApp.initializeApp (this,defaultBuilder.build());
//辅助应用初始化:
FirebaseOptions.Builder defaultBuilder1 = new FirebaseOptions.Builder()
.setApplicationId("[applicationID]")
.setApiKey("[apikey]")
.setDatabaseUrl("[url]")
.setStorageBucket("[storageBucket]");
FirebaseApp myapp = FirebaseApp.initializeApp(this,defaultBuilder1.build(),"secondary");
//获取默认应用程序的令牌:
Log.d(TAG, "Default app token: " + FirebaseInstanceId.getInstance
(defaultapp).getToken());
//获取辅助应用程序的令牌:
Log.d(TAG, "Secondary app token: " + FirebaseInstanceId.getInstance
(myapp).getToken());
' 如果我们同时为两个应用程序切换了FirebaseOptions,则默认应用程序将返回正确的令牌值,而辅助应用程序将返回null,那么我仍然只能从初始化为DEFAULT的服务器上获取令牌。