google-services. json Firebase уведомления реагируют на родной android - не работает одно приложение - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть три различных реактивных 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 с первого раза. В любом случае, я думаю, я оставлю этот вопрос на тот случай, если кто-нибудь еще столкнется с подобной проблемой в будущем.

1 Ответ

1 голос
/ 18 апреля 2020

Вы уже нашли исправление для этого? Я столкнулся с той же проблемой несколько дней go. Тогда я понял, что имя пакета или идентификатор в моих google-сервисах не совпадает с именем пакета в Android .Manifest . Убедитесь, что com.package.packageName совпадает с Android .Manifest с Google-сервисами. Он также чувствителен к регистру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...