Подтвердить что ты не робот

Firebase предлагает приглашение отправлено, но не получено

Я пытаюсь отправить приглашения с Firebase Invites. Когда вы выбираете письмо от контакта, Firebase говорит, что отправил приглашение, но письмо не получено.

На консоли сконфигурированы сертификаты SHA1.

Возвращенный код ошибки всегда RESULT_OK, и количество приглашений, возвращенных из AppInviteInvitation.getInvitationIds, является правильным.

SDK обновляется в gradle с последней версией 10.0.1, как описано в документации.

Код, создающий приглашение:

Intent intent = new AppInviteInvitation.IntentBuilder(title)
                .setMessage(msg)
                .setCallToActionText(callToActionText)
                .setOtherPlatformsTargetApplication(AppInviteInvitation.IntentBuilder.PlatformMode.PROJECT_PLATFORM_IOS, IOS_CLIENT_ID)
                .build();

Любые идеи?

4b9b3361

Ответ 1

У меня была такая же проблема, и мне удалось ее исправить, хотя я не совсем уверен, какой шаг действительно помог.

Стоит указать, что в моем случае письмо было отправлено отлично, когда я удалил вызов метода:

.setOtherPlatformsTargetApplication(...)

Были применены следующие шаги:

  • Все поля были заполнены на консоли Firebase для настроек Android и iOS (включая префикс идентификатора приложения и идентификатор магазина приложений).
  • В настройках проекта Firebase Android были добавлены хэши SHA-256 (из хранилища отладки и выпуска):

    keytool -exportcert -keystore path-to-debug-or-production-keystore -list -v
    
  • Обновленный google-services.json был загружен из настроек проекта Firebase Android и добавлен в корень приложения (с помощью GoogleServicesJson Build Action для Xamarin). Таким образом, файл среди других содержит следующее:

    ...
    "appinvite_service": {
      "status": 2,
      "other_platform_oauth_client": [
        {
          "client_id": "1234567890-specified_ios_client_id.apps.googleusercontent.com",
          "client_type": 2,
          "ios_info": {
            "bundle_id": "ios.app.bundle.id",
            "app_store_id": "9876543210"
          }
        },
        ...
      ]
    }
    ...
    

Указанный client_id то же самое в вызове метода .setOtherPlatformsTargetApplication(...) и в google-services.json

Также Firebase Invites ранее была настроена для проекта iOS, но я не вижу, может ли это повлиять на Android.