admin管理员组

文章数量:1604665

Google订阅

公司产品需要需对Google订阅,查了很多资料和相关文档,最终总结出以下内容。如果本文中存在任何不准确的地方,请不吝指出,我会尽快改正。
Google相关文档:

  1. 销售订阅内容
  2. 实时开发者通知参考
  3. Google Play Android Developer API
  4. 测试您的集成

1. 配置

  1. 应用配置页,点击创收设置→商品→订阅,给对应的应用新增订阅内容基础方案
  2. 前往API和服务,点击凭据,点击创建凭据,选择服务账号,填充相关信息创建一个服务账号
  3. Pub/Sub配置页,创建Pub/Sub主题和订阅
  4. 在对应主题中,给google-play-developer-notifications@system.gserviceaccount添加Pub/Sub Publisher权限,一定是这个账号,这个是Google官方的服务账号,别搞错了,只有给它授权了才能发送商品订阅的消息到对应主题。同时在订阅处,给之前的服务账号授权Pub/Sub Subscriber
  5. IAM处,给之前的服务账号授予Viewer的角色。
  6. 前往Play管理中心,点击 设置→API权限→服务账号,在之前创建的服务账号旁点击查看Play管理中心权限,在应用权限上配置对应应用的权限,并在财务数据→查看财务数据打勾
  7. 前往Play管理中心,点击设置→API权限→API,启用Google Play Android Developer API。前往Google Play Android Developer API配置页,点击凭据,在下方的服务账号,找到之前创建的服务账号,点击修改进入到修改页面,点击密钥,再点击添加密钥→创建新密钥,选择JSON,点击创建,保管好这份JSON文件,服务端调用API时需要使用这份文件中的配置来初始化Client。
  8. 回到应用配置页,找到对应的应用,点击创收设置,配置发送通知的主题名称,可以点击发送测试通知。如果是推送订阅,我们配置的端点地址将会收到通知;如果是拉取订阅,我们可以在Pub/Sub配置页找到对应的订阅进行消息拉取。

2. 相关枚举介绍

2.1 谷歌回调一次性购买通知类型

参考文档:https://developer.android/google/play/billing/rtdn-reference#one-time

通知类型 枚举值 说明
ONE_TIME_PRODUCT_PURCHASED 1 用户成功购买了一次性商品。
ONE_TIME_PRODUCT_CANCELED 2 用户已取消待处理的一次性商品购买交易。
// OneTimeProductNotificationType 谷歌回调一次性购买通知类型
// 参考文档:https://developer.android/google/play/billing/rtdn-reference#one-time
type OneTimeProductNotificationType int

const (
	OneTimeProductNotificationTypePurchased OneTimeProductNotificationType = iota + 1
	OneTimeProductNotificationTypeCanceled
)

2.2 谷歌回调订阅通知类型

参考文档:https://developer.android/google/play/billing/rtdn-reference#sub

通知类型 枚举值 说明
SUBSCRIPTION_RECOVERED 1 恢复订阅。从账号保留状态恢复订阅。
SUBSCRIPTION_RENEWED 2 续订
SUBSCRIPTION_CANCELED 3 订阅取消。指的是用户手动进行的订阅取消操作。
SUBSCRIPTION_PURCHASED 4 新订阅
SUBSCRIPTION_ON_HOLD 5 订阅已进入帐号保留状态。一般是用户的付款信息存在问题且已经任何关联的宽限期都结束时发生的。
SUBSCRIPTION_IN_GRACE_PERIOD 6 订阅已进入宽限期。宽限期指的是订阅周期结束之后的一段时间内提供的额外时间,可选是否启用。
SUBSCRIPTION_RESTARTED 7 到期之前恢复订阅
SUBSCRIPTION_PRICE_CHANGE_CONFIRMED 8 用户已成功确认订阅价格变动。表示业务方对订阅价格进行了更改,并且用户已经确认接受新价格。
SUBSCRIPTION_DEFERRED 9 续订时间延期。指的是订阅到期前,由于付款方式问题等原因导致续订付款失败。
SUBSCRIPTION_PAUSED 10 订阅已暂停。表示用户已经暂停了订阅,可选是否启用。
SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED 11 订阅暂停计划已更改。表示用户已经更改了暂停订阅的计划,依赖暂停功能启用。
SUBSCRIPTION_REVOKED 12 订阅撤销。系统出于各种原因撤消用户的订阅,包括服务的主动调接口或购买交易被退款等。
SUBSCRIPTION_EXPIRED 13 订阅过期
// SubscriptionNotificationType 谷歌回调订阅通知类型
// 参考文档:https://developer.android/google/play/billing/rtdn-reference#sub
type SubscriptionNotificationType int

func (s SubscriptionNotificationType) ToInt() int {
   
	return int(s)
}

const (
SubscriptionNotificationTypeRecovered            SubscriptionNotificationType = iota + 1 // 从账号保留状态恢复订阅
	SubscriptionNotificationTypeRenewed                                                      <

本文标签: 服务端系统GolangplayGoogle