admin管理员组文章数量:1604643
Google订阅
公司产品需要需对Google订阅,查了很多资料和相关文档,最终总结出以下内容。如果本文中存在任何不准确的地方,请不吝指出,我会尽快改正。
Google相关文档:
- 销售订阅内容:
- 实时开发者通知参考
- Google Play Android Developer API
- 测试您的集成
1. 配置
- 在应用配置页,点击创收设置→商品→订阅,给对应的应用新增订阅内容及基础方案
- 前往API和服务,点击凭据,点击创建凭据,选择服务账号,填充相关信息创建一个服务账号
- 在Pub/Sub配置页,创建Pub/Sub主题和订阅
- 在对应主题中,给google-play-developer-notifications@system.gserviceaccount添加Pub/Sub Publisher权限,一定是这个账号,这个是Google官方的服务账号,别搞错了,只有给它授权了才能发送商品订阅的消息到对应主题。同时在订阅处,给之前的服务账号授权Pub/Sub Subscriber。
- 在IAM处,给之前的服务账号授予Viewer的角色。
- 前往Play管理中心,点击 设置→API权限→服务账号,在之前创建的服务账号旁点击查看Play管理中心权限,在应用权限上配置对应应用的权限,并在财务数据→查看财务数据打勾
- 前往Play管理中心,点击设置→API权限→API,启用Google Play Android Developer API。前往Google Play Android Developer API配置页,点击凭据,在下方的服务账号,找到之前创建的服务账号,点击修改进入到修改页面,点击密钥,再点击添加密钥→创建新密钥,选择JSON,点击创建,保管好这份JSON文件,服务端调用API时需要使用这份文件中的配置来初始化Client。
- 回到应用配置页,找到对应的应用,点击创收设置,配置发送通知的主题名称,可以点击发送测试通知。如果是推送订阅,我们配置的端点地址将会收到通知;如果是拉取订阅,我们可以在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 <
版权声明:本文标题:Golang服务端对接Google Play结算系统订阅 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1728465989a1159456.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论