У меня есть приложение для Android с двумя разными вкусами:
first {
applicationId 'com.test.first'
resValue 'string', 'app_name', 'First'
resValue 'string', 'host', 'app.first.com'
resValue 'string', 'app_id', '3'
resValue 'string', 'auth_client_id', 'xxx'
versionCode 1
versionName '1.0'
}
second {
signingConfig signingConfigs.second
applicationId 'com.test.second'
resValue 'string', 'app_name', 'Second'
resValue 'string', 'host', 'app.second.com'
resValue 'string', 'app_id', '2'
resValue 'string', 'auth_client_id', 'xxx'
versionCode 1
versionName '1.0'
}
И мой AndroidManifest.xml выглядит так:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test">
<permission android:name="${applicationId}.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<application>
<receiver
android:name="com.test.GcmBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="${applicationId}" />
</intent-filter>
</receiver>
</application>
</manifest>
Я правильно получаю push-уведомления для обоих вариантов. Проблема в том, что если на моем телефоне установлены оба вкуса, я получаю 2 одинаковых нажатия для обоих вкусов.
Похоже, что приложение не распознает, к какому аромату относится push. Может у кого была такая же проблема?
android:name="${applicationId}.GcmBroadcastReceiver"
для имени приемника (предположим, что у вас есть 2 разные реализации)? - person MatPag   schedule 06.12.2017google-services.json
, вы должны зарегистрировать свой второй вариант, загрузить файл json и указать другую папку для своего приложения, где хранятся разные файлыgoogle-services.json
. - person MatPag   schedule 06.12.2017