У меня есть три различных реактивных android приложения в проекте Firebase, которые я использую для уведомлений pu sh. Два из них работают просто отлично. Третий не работает, и я не могу понять, что я сделал по-другому.
Вот что я знаю до сих пор:
Я не получаю ошибки в приложении номер три, но уведомления pu sh на android просто никогда не происходят, хотя я в журнале видно, что функция была запущена для планирования уведомления.
Это 3 довольно похожих приложения, и я использую уведомление о всех реакциях «native-pu» sh.
Pu sh уведомления на ios уже работают в этом проекте.
Если я копирую и вставляю контент из google-сервисов. json в любом из двух рабочих примеров и использовать его для замены содержимого google-services. json в нерабочем примере, затем уведомления pu sh правильно запускаются на моем эмуляторе android.
Трюк с копированием и вставкой не является решением, потому что после запуска response-native-bundle попытка запустить приложение на android завершится неудачно, потому что:
What went wrong:
Execution failed for task ':app:processDebugGoogleServices'.
> No matching client found for package name 'com.appNumberThreeName'
Переход и ручное изменение имени приложения с названия приложения, из которого я скопировал имя третьего приложения, избавит от этой ошибки, но затем я вернусь туда, откуда начал. Я не получаю ошибки, но уведомление никогда не происходит.
Мне кажется, что я как-то сделал что-то другое в консоли Firebase для третьего приложения, но я не могу понять, что именно. Я вхожу в проект, нажимаю знак плюса вверху, чтобы добавить приложение, выбираю android и go через четыре шага. Шаг номер четыре (синхронизация) никогда не завершается для приложения 3, если я не выполняю трюк с копированием и вставкой.
Я попытался запустить новый проект в Firebase и вместо этого добавить приложение к этому. и я сталкиваюсь с точно такой же проблемой.
Я прошел через bitbucket, чтобы дважды проверить все файлы, которые я изменил в рабочих примерах, когда я добавил к ним уведомления pu sh, и проверить, что я сделал в Неработающий проект идентичен. Единственное отличие заключается в файлах google-services. json, из-за которых мне кажется, что я что-то не так сделал в консоли firebase.
Вот примеры google-services. json файлы, которые работают и не работают с конфиденциальной информацией, заменены XXXXX или какой-либо формулировкой, указывающей, к какому приложению оно относится:
1. Рабочее приложение One
{
"project_info": {
"project_number": "XXXXX",
"firebase_url": "XXXXX",
"project_id": "XXXXX",
"storage_bucket": "XXXXX"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "XXXXX",
"android_client_info": {
"package_name": "appOneName"
}
},
"oauth_client": [
{
"client_id": "XXXXX",
"client_type": 1,
"android_info": {
"package_name": "appOneName",
"certificate_hash": "XXXXX"
}
},
{
"client_id": "XXXXX",
"client_type": 3
}
],
"api_key": [
{
"current_key": "XXXXX"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "XXXXX",
"client_type": 3
},
{
"client_id": "XXXXX",
"client_type": 2,
"ios_info": {
"bundle_id": "appOneBundle",
"app_store_id": "XXXXX"
}
}
]
}
}
}
],
"configuration_version": "1"
}
2. Рабочее приложение Два
{ "project_info": {
"project_number": "XXXXXX",
"firebase_url": "XXXXX",
"project_id": "XXXXX",
"storage_bucket": "XXXXXX" }, "client": [
{
"client_info": {
"mobilesdk_app_id": "XXXXX",
"android_client_info": {
"package_name": "appOneName"
}
},
"oauth_client": [
{
"client_id": "XXXX",
"client_type": 1,
"android_info": {
"package_name": "appOneName",
"certificate_hash": "XXXXXX"
}
},
{
"client_id": "XXXXX",
"client_type": 3
}
],
"api_key": [
{
"current_key": "XXXXX"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "XXXXX",
"client_type": 3
},
{
"client_id": "XXXXX",
"client_type": 2,
"ios_info": {
"bundle_id": "appOneBundle",
"app_store_id": "XXXXX"
}
}
]
}
}
},
{
"client_info": {
"mobilesdk_app_id": "XXXXX",
"android_client_info": {
"package_name": "appTwoName"
}
},
"oauth_client": [
{
"client_id": "XXXXXX",
"client_type": 3
}
],
"api_key": [
{
"current_key": "XXXXXXX"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "XXXXX",
"client_type": 3
},
{
"client_id": "XXXXX",
"client_type": 2,
"ios_info": {
"bundle_id": "appOneBundle",
"app_store_id": "XXXXX"
}
}
]
}
}
} ], "configuration_version": "1" }
3. Не работающее приложение три
{
"project_info": {
"project_number": "XXXXX",
"firebase_url": "XXXXX",
"project_id": "XXXXX",
"storage_bucket": "XXXXX"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "XXXXX",
"android_client_info": {
"package_name": "appThreePackageName"
}
},
"oauth_client": [
{
"client_id": "XXXXX",
"client_type": 3
}
],
"api_key": [
{
"current_key": "XXXXXX"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "XXXXX",
"client_type": 3
},
{
"client_id": "XXXXX",
"client_type": 2,
"ios_info": {
"bundle_id": "appOneBundleId",
"app_store_id": "XXXXXX"
}
}
]
}
}
},
{
"client_info": {
"mobilesdk_app_id": "XXXXX",
"android_client_info": {
"package_name": "appOneName"
}
},
"oauth_client": [
{
"client_id": "XXXXX",
"client_type": 1,
"android_info": {
"package_name": "appOneName",
"certificate_hash": "XXXXXX"
}
},
{
"client_id": "XXXX",
"client_type": 3
}
],
"api_key": [
{
"current_key": "XXXXXX"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "XXXXX",
"client_type": 3
},
{
"client_id": "XXXXX",
"client_type": 2,
"ios_info": {
"bundle_id": "appOneBundle",
"app_store_id": "XXXXX"
}
}
]
}
}
},
{
"client_info": {
"mobilesdk_app_id": "XXXXXX",
"android_client_info": {
"package_name": "com.test" //just a random extra app I added for testing
}
},
"oauth_client": [
{
"client_id": "XXXXXXXX",
"client_type": 3
}
],
"api_key": [
{
"current_key": "XXXXX"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "XXXXX",
"client_type": 3
},
{
"client_id": "XXXXXX",
"client_type": 2,
"ios_info": {
"bundle_id": "appOneBundle",
"app_store_id": "XXXXXX"
}
}
]
}
}
},
{
"client_info": {
"mobilesdk_app_id": "XXXXXXX",
"android_client_info": {
"package_name": "appTwoName"
}
},
"oauth_client": [
{
"client_id": "XXXXXX",
"client_type": 3
}
],
"api_key": [
{
"current_key": "XXXXXX"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "XXXXXX",
"client_type": 3
},
{
"client_id": "XXXXXX",
"client_type": 2,
"ios_info": {
"bundle_id": "appOneBundle",
"app_store_id": "XXXXX"
}
}
]
}
}
}
],
"configuration_version": "1"
}
Любые предложения о том, на что обратить внимание, будут приветствоваться - спасибо!
Обновление: примерно через день после первой загрузки этой проблемы c google -services. json Я снова вошел в свою учетную запись Firebase, загрузил новую и использовал ее для замены старой. После синхронизации файлов теперь работает. Я все еще не уверен, что вызвало эту проблему. Возможно, первая загрузка была как-то испорчена, или, возможно, файлы не синхронизировались c с первого раза. В любом случае, я думаю, я оставлю этот вопрос на тот случай, если кто-нибудь еще столкнется с подобной проблемой в будущем.