提醒开发者们:2020 年 11 月 1 日以前,启用了订阅功能的应用,须要在应用中为账号保留和恢复功能提供支持。此外,Google Play 控制台还会为全部订阅默认启用暂停订阅和从新订阅功能 (除非您明确选择停用)。 java
2020 年 11 月 2 日起,应用的更新必须以 Android 10 (API 级别 29) 或更高版本为目标平台。android
在最新 Android 11 的发布内容中,Google Play 团队发布了一些新功能,能够帮助您 得到和保持应用的付费订阅用户,其中一点包括: Google Play 将更改一些订阅功能的默认设置。咱们会在本文中介绍这些变化,以确保您可以提早为您的应用作好准备。后端
咱们先来看一下从 2020 年 11 月 1 日开始会发生哪些变化。api
接下来,咱们会深刻探讨这些变化对您的应用或游戏会形成什么样的影响。每种新功能咱们都会基于两种不一样的状况来讨论:google
该功能具体是指 : 当用户尝试对某项订阅进行续订,可是付款出现了问题而致使续订失败,此状况下该用户的帐号就会进入到帐号保留状态,该状态最多会维持 30 天,在这期间用户将失去对该订阅内容的访问权限。spa
若是您的应用并未使用后端服务来追踪订阅状态 : 若是您的应用依赖于 queryPurchases() 返回的结果来获取最新的订阅状态,那么您无需作任何改动来支持帐号保留功能。用户处于帐号保留状态时,BillingClient.queryPurchases()) 方法将不会返回相关订阅购买信息,当用户修复了付款方式问题后,该方法就会正常返回相关订阅。rest
若是您的应用使用了后端服务经过 RTDN 来追踪用户的订阅状态 : 一旦用户进入帐号保留状态,就会发出 SUBSCRIPTION_ON_HOLD 通知。当用户修复了付款问题而且从新成功地订阅后,则会发送 SUBSCRIPTION_RECOVERED 通知。您须要确保您的后端服务处理了这些 通知,以保证用户订阅状态是最新的。blog
您能够在 官方文档 中查看更多关于帐号保留的内容,也能够进一步了解如何正确处理这种状态。游戏
该功能具体是指 : 用户可能会在当前帐单的订阅到期以前主动取消续订。当开启订阅恢复功能后,用户能够在订阅过时以前经过点击 Play Store 应用中的 Resubscribe 选项来从新订阅。若用户并未取消订阅,则此操做会恢复用户的订阅。若该订阅已通过期,用户则必须从新进行订阅。 开发
若是您的应用并未使用一个后端服务来追踪订阅状态 : 若是您的应用依赖于 queryPurchases() 返回的结果来获取最新的订阅状态,那么您无需作任何改动来支持订阅恢复功能。只要用户的订阅未过时,即便用户在下一个付款周期以前暂时取消了订阅,BillingClient.queryPurchases() 方法依然会返回该订阅。
若是您的应用使用了后端服务经过 RTDN 来追踪用户的订阅状态 : 一旦用户触发恢复订阅操做,SUBSCRIPTION_RESTARTED 通知就会被发出来。若是您的应用经过 UI 界面提示用户一个订阅即将过时,那请确保在后端收到 SUBSCRIPTION_RESTARTED 通知后及时更新 UI。
您能够在 官方文档 中查看更多关于订阅恢复的内容,也能够进一步了解如何正确处理这种状态。
该功能具体是指 : 用户能够对一个订阅执行一周到三个月的暂停操做。订阅暂停操做只会在当前周期结束后开始生效。当某个订阅被暂停后,用户不能再继续访问订阅内容。另外,queryPurchases()) 方法也不会返回被暂停的订阅支付信息。
订阅暂停功能目前在 Play 管理中心中是默认关闭的,可是从 2020 年 11 月 1 日开始会自动启用。若是您的应用在该日期到来以前还未适配该功能,能够手动在 Play 管理中心中进行关闭。
若是您的应用并未使用一个后端服务来追踪订阅状态 : 若是您的应用依赖于 queryPurchases() 返回的结果来获取到最新的订阅状态,那么您无需作任何改动来支持订阅暂停的功能。BillingClient.queryPurchases() 方法不会返回被暂停的订阅支付信息。
若是您的应用使用了后端服务经过 RTDN 来追踪用户的订阅状态 : 一旦用户对某一订阅执行了暂停操做,会发送 SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED 通知。直到当前结算周期结束,该订阅依然有效。当订阅进入暂停状态后,会发送 SUBSCRIPTION_PAUSED 通知。当订阅自动恢复后,或者是用户手动恢复了订阅,那么会发送 SUBSCRIPTION_RENEWED 通知。
您能够在 官方文档 中查看更多关于订阅暂停的内容,也能够进一步了解如何正确处理这种状态。
该功能具体是指 : 启用从新订阅功能后,用户能够在订阅失效后的最长一年内从新购买该订阅内容。此功能还容许用户在当前订阅结束以前再次购买该订阅。
从新订阅功能目前在 Play Console 中是默认关闭的,可是从 2020 年 11 月 1 日开始会自动启用。若是您的应用在该日期到来以前还未适配该功能,能够在 Play 管理中心中手动进行关闭。
若是您的应用并未使用一个后端服务来追踪订阅状态 : 若是您的应用依赖于 queryPurchases() 返回的结果来获取到最新的订阅状态,那么您无需作任何改动来支持从新订阅的功能。BillingClient.queryPurchases() 方法会在订阅过时以前返回该订阅支付信息。
若是您的应用使用了后端服务经过 RTDN 来追踪用户的订阅状态 : 当用户再次购买某一订阅,会发送 SUBSCRIPTION_RESTARTED 通知。后端接收到该通知后,您的应用应该恢复用户对订阅功能的访问权限。
您能够在 官方文档 中查看更多关于从新订阅的内容,也能够进一步了解如何正确处理这种状态。
对这些订阅功能的更改将于 2020 年 11 月 1 日正式生效,所以请您提早进行检查,以确保您的应用准备就绪!