首页 > 解决方案 > 如何从 FirebaseApp.initializeApp() 的“辅助”应用程序获取令牌

问题描述

我正在尝试在单个 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());

' 这里默认应用程序返回正确的令牌值,但辅助应用程序返回 null,如果我们为这两个应用程序切换 FirebaseOptions,那么我仍然只能从初始化为 DEFAULT 的服务器获取令牌。

标签: androidfirebase-cloud-messaging

解决方案


推荐阅读