无法从 Google Play Console 中的实时开发者通知发送测试通知

Nav*_*jot 2 android google-cloud-pubsub google-developers-console google-play-console android-subscriptionmanager

我已按照以下步骤操作:

  1. 转到 Google Cloud Console 并创建/选择一个项目。
  2. 在标题上,单击以打开菜单并选择“发布/订阅”,或单击 https://console.cloud.google.com/cloudpubsub/topic/list
  3. 创建/选择一个主题。
  4. 添加服务帐号 google-play-developer-notifications@system.gserviceaccount.com,并为其授予 Pub/Sub Publisher 角色。
  5. 创建订阅。有两种类型的订阅:
    • 拉:我们需要配置我们的服务器来拉新消息。
    • 推送:类似于ios,通知发送到我们配置的端点。
  6. 转到 Google Play 管理中心并选择您的应用。
  7. 单击“开发工具”,然后单击“服务和 API”。
  8. 在实时开发人员通知上键入主题名称。
  9. 您可以发送测试通知来测试所有连接。

但是当我发送测试通知时,我收到此错误:

在主题项目/project_id/topics/topic_name 上发布测试时发生错误。确保正确创建和配置主题,并设置所需的权限。请参阅实时开发人员通知的发布/订阅指南以了解更多信息。

  1. 我已向我的服务帐户授予发布/订阅发布者权限。
  2. 主题名称也正确。
  3. 我可以在 google 开发者控制台中发送来自该主题的测试消息,并且我在我的服务器上收到了该响应。

任何帮助表示赞赏。

Kam*_*osn 6

在这种情况下通常会遗漏的步骤是将发布者角色授予服务帐户 google-play-developer-notifications@system.gserviceaccount.com。这不是一个人创建的服务帐户,而是一个已经存在的服务帐户。这是 Google Play 基础架构用于发布的服务帐户,因此必须是授予发布者角色的特定帐户。

  • 这是我困惑的根源。当尝试向账户授予主题权限时,该账户未在 IAM 中列出,也不会显示在自动填充建议中。我必须输入全名“google-play....account.com”,它被接受了。 (3认同)
  • 这是否写在文档中的任何地方?我很高兴找到这个话题。为了清楚起见: 1. 打开 Google Cloud Platform 2. 导航菜单 -> Big Data -> Pub/Sub 3. 在右侧“权限”下,单击“添加成员”按钮 4. 在新成员下查找:- google-play-developer-notifications@system.gserviceaccount.com 5. 在选择角色下, - 查找“发布者”, - 并选择:Pub/Sub 发布者 6. 保存(仅此而已) 现在返回 Google Play控制台,您的应用程序 -> 货币化设置并再次测试实时开发人员通知。 (3认同)
  • 您不需要创建它,它也不应该“为您”存在,因此您不会在您的服务帐户集中找到它。这是 Google 拥有的服务帐户,您需要授予其权限。 (2认同)