我在使用FCM时遇到了麻烦,应该是一个相当简单的多味道Android应用程序设置 .
我们有相同应用程序的多种口味(有效品牌皮肤只有不同的字符串/图标)和不同的应用程序ID(它们在Play商店中显示为不同的应用程序) .
这些在build.gradle中设置为flavorDimension . 每个应用程序ID都在同一Firebase项目中注册为单独的应用程序 . 我的应用程序根目录中有一个google-services.json文件,其中包含所有已定义的flavor的信息 .
现在,问题是:FCM通知仅适用于主应用程序风格 . 发送到品牌应用程序的特定实例(FCM注册令牌)的通知永远不会被设备接收 . 请注意,所有后端代码都是相同的 . 我已经在各种设备上测试了每种风味,问题仍然存在 .
身份验证适用于产品风格,因此整体Firebase集成似乎不是问题 .
我的build.gradle看起来像这样:
apply plugin: 'com.android.application'
...
android {
...
defaultConfig {
applicationId "com.app.main"
...
}
...
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
}
flavorDimensions "brand"
productFlavors {
main {
dimension "brand"
}
brand1 {
applicationId "com.app.brand1"
dimension "brand"
}
brand2 {
applicationId "com.app.brand2"
dimension "brand"
}
...
}
...
apply plugin: 'com.google.gms.google-services'