如何从FirebaseApp.initializeApp()的“辅助”应用程序中获取令牌

时间:2019-07-24 09:39:09

标签: android firebase-cloud-messaging

我正在尝试在单个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的服务器上获取令牌。

0 个答案:

没有答案