同时在库和主应用程序中发送 FCM 消息



我遇到了一个奇怪的问题。我正在集成一个使用 FCM 进行注册的库。但是在我自己的应用程序中,我还要求FCM检索一些消息。但是,我似乎无法注册相同的应用程序来接收来自两个渠道(不同的服务器 API ID(的消息。"外部"应用程序似乎用其google-services.json覆盖了内部库。

问题:是否可以使用两个不同的 API 密钥同时接受发送到包含的库和主应用程序的 FCM 消息?

确保您通过 FCM 检索信息的方式正确无误。似乎是一种不好的做法。

您可以使用可以替换或覆盖元数据元素的清单合并。

<meta-data 
android:name="fcm_key"
android:value="YOUR_KEY"
tools:node="replace" />

读取清单中的元数据

try {
ApplicationInfo ai = 
getPackageManager().getApplicationInfo(activity.getPackageName(), 
PackageManager.GET_META_DATA);
Bundle bundle = ai.metaData;
String myApiKey = bundle.getString("fcm_key");
} catch (NameNotFoundException e) {
Log.e(TAG, "Failed to load meta-data, NameNotFound: " + 
e.getMessage());
} catch (NullPointerException e) {
Log.e(TAG, "Failed to load meta-data, NullPointer: " + e.getMessage());          
}

相关内容

  • 没有找到相关文章