Невозможно отправить тестовое уведомление из уведомлений разработчика в режиме реального времени в консоли Google Play

#android #google-cloud-pubsub #google-play-console #google-developers-console #android-subscriptionmanager

#Android #google-cloud-pubsub #google-play-console #google-developers-console #android-subscriptionmanager

Вопрос:

Я выполнил следующие действия:

  1. Перейдите в облачную консоль Google и создайте / выберите проект.
  2. В заголовке нажмите, чтобы открыть меню, и выберите «Pub / Sub» или нажмите https://console.cloud.google.com/cloudpubsub/topic/list
  3. Создайте / выберите тему.
  4. Добавьте учетную запись службы google-play-developer-notifications@system.gserviceaccount.com , и предоставьте ему роль паба / суб-издателя.
  5. Создайте подписку. Существует 2 типа подписки:
    • Извлечение: нам нужно настроить наш сервер для получения новых сообщений.
    • Push: аналогично ios, уведомление отправляется на конечную точку, которую мы настраиваем.
  6. Перейдите в консоль Google Play и выберите свое приложение.
  7. Нажмите ‘Инструменты разработки’, затем ‘Сервис и API’.
  8. В уведомлениях разработчика в режиме реального времени введите название темы.
  9. Вы можете отправить тестовое уведомление, чтобы проверить, что все подключено.

Но когда я отправляю тестовое уведомление, я получаю эту ошибку:

Произошла ошибка при публикации теста в теме проекты / project_id / темы / имя_тематики. Убедитесь, что тема правильно создана и настроена, а также установлены необходимые разрешения. Чтобы узнать больше, обратитесь к руководству Pub / Sub для уведомлений разработчика в режиме реального времени.

Но

  1. Я предоставил разрешение pub / sub publisher для своей учетной записи службы.
  2. название темы тоже правильное.
  3. Я могу отправить тестовое сообщение из этой темы в консоли разработчика Google, и я получаю этот ответ на своем сервере.

любая помощь приветствуется.

Комментарии:

1. Когда вы говорите, что предоставили пабу / суб-издателю разрешение на «мою» учетную запись службы, вы имеете в виду google-play-developer-notifications@system.gserviceaccount.com учетная запись службы?

2. Можете ли вы поделиться названием темы (при необходимости запутанным, просто для просмотра используемого вами формата)

3. @KamalAboul-Hosn да, я добавил разрешения паба / суб-издателя в созданную мной учетную запись службы, которая заканчивается gserviceaccount.com

4. @guillaumeblaquiere формат названия темы — это только проекты / project_id / темы / topic_name

5. Вы не должны использовать созданную вами учетную запись службы. Вам необходимо предоставить разрешение существующей учетной записи службы «google-play-developer-notifications@system.gserviceaccount.com »

Ответ №1:

Шаг, который обычно пропускается в подобных случаях, заключается в предоставлении роли издателя учетной записи службы google-play-developer-notifications@system.gserviceaccount.com . Это не учетная запись службы, которую вы создаете, а та, которая уже существует. Это учетная запись службы, которую инфраструктура Google Play использует для публикации, поэтому роль издателя должна быть предоставлена именно этой конкретной учетной записи.

Комментарии:

1. Эта учетная запись службы для меня не существует, как мне инициировать ее создание? API PubSub включен в GCP.

2. Вам не нужно его создавать, и оно не должно существовать «для вас», поэтому вы не найдете его в списке своих учетных записей службы. Это учетная запись службы, принадлежащая Google, на которую вам необходимо предоставить разрешение.

3. Это был мой источник путаницы. Учетная запись не указана в IAM и не отображается в предложениях автозаполнения при попытке предоставить разрешение темы учетной записи. Мне пришлось ввести полное имя google-play....account.com , и оно было принято.

4. Это написано где-нибудь в документах? Я рад, что нашел эту тему. Для наглядности: 1. Откройте облачную платформу Google 2. Меню навигации -> Большие данные -> Pub / Sub 3. Справа в разделе «РАЗРЕШЕНИЯ» нажмите кнопку «ДОБАВИТЬ УЧАСТНИКА» 4. В разделе «Новые участники» найдите: — google-play-developer-notifications@system.gserviceaccount.com 5. В разделе «Выберите роль» найдите «Издатель» и выберите: Паблик / дополнительный издатель 6. Сохранить (и все) Теперь вернитесь в консоль Google Play, ваше приложение -> Настройка монетизации и снова протестируйте уведомления разработчика в режиме реального времени.

5. Хорошо, понял. В @OrangePot мне пришлось вставить полное имя, google-play-developer-notifications@system.gserviceaccount.com , в. Если я ввел его часть, он ее не находит. СКОПИРУЙТЕ и ВСТАВЬТЕ ЕГО. Шары.