#android #google-cloud-pubsub #google-play-console #google-developers-console #android-subscriptionmanager
#Android #google-cloud-pubsub #google-play-console #google-developers-console #android-subscriptionmanager
Вопрос:
Я выполнил следующие действия:
- Перейдите в облачную консоль Google и создайте / выберите проект.
- В заголовке нажмите, чтобы открыть меню, и выберите «Pub / Sub» или нажмите https://console.cloud.google.com/cloudpubsub/topic/list
- Создайте / выберите тему.
- Добавьте учетную запись службы google-play-developer-notifications@system.gserviceaccount.com , и предоставьте ему роль паба / суб-издателя.
- Создайте подписку. Существует 2 типа подписки:
- Извлечение: нам нужно настроить наш сервер для получения новых сообщений.
- Push: аналогично ios, уведомление отправляется на конечную точку, которую мы настраиваем.
- Перейдите в консоль Google Play и выберите свое приложение.
- Нажмите ‘Инструменты разработки’, затем ‘Сервис и API’.
- В уведомлениях разработчика в режиме реального времени введите название темы.
- Вы можете отправить тестовое уведомление, чтобы проверить, что все подключено.
Но когда я отправляю тестовое уведомление, я получаю эту ошибку:
Произошла ошибка при публикации теста в теме проекты / project_id / темы / имя_тематики. Убедитесь, что тема правильно создана и настроена, а также установлены необходимые разрешения. Чтобы узнать больше, обратитесь к руководству Pub / Sub для уведомлений разработчика в режиме реального времени.
Но
- Я предоставил разрешение pub / sub publisher для своей учетной записи службы.
- название темы тоже правильное.
- Я могу отправить тестовое сообщение из этой темы в консоли разработчика 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 , в. Если я ввел его часть, он ее не находит. СКОПИРУЙТЕ и ВСТАВЬТЕ ЕГО. Шары.