在最新Android 11的發(fā)布內(nèi)容中,Google Play團(tuán)隊(duì)發(fā)布了一些新功能,可以幫助您獲得和保持應(yīng)用的付費(fèi)訂閱用戶,其中一點(diǎn)包括:Google Play將更改一些訂閱功能的默認(rèn)設(shè)置。我們會在本文中介紹這些變化,以確保您能夠提前為您的應(yīng)用做好準(zhǔn)備。
我們先來看一下從2020年11月1日開始會發(fā)生哪些變化。
接下來,我們會深入探討這些變化對您的應(yīng)用或游戲會造成什么樣的影響。每種新功能我們都會基于兩種不同的情況來討論:
您的應(yīng)用并未使用后端服務(wù)來跟蹤訂閱狀態(tài);
您的應(yīng)用具備后端服務(wù),它會通過實(shí)時(shí)的開發(fā)者通知來跟蹤訂閱狀態(tài)。
賬號保留功能
該功能具體是指:當(dāng)用戶嘗試對某項(xiàng)訂閱進(jìn)行續(xù)訂,但是付款出現(xiàn)了問題而導(dǎo)致續(xù)訂失敗,此情況下該用戶的賬號就會進(jìn)入到賬號保留狀態(tài),該狀態(tài)最多會維持30天,在這期間用戶將失去對該訂閱內(nèi)容的訪問權(quán)限。
如果您的應(yīng)用并未使用后端服務(wù)來追蹤訂閱狀態(tài):如果您的應(yīng)用依賴于queryPurchases()返回的結(jié)果來獲取最新的訂閱狀態(tài),那么您無需做任何改動來支持賬號保留功能。用戶處于賬號保留狀態(tài)時(shí),BillingClient.queryPurchases()方法將不會返回相關(guān)訂閱購買信息,當(dāng)用戶修復(fù)了付款方式問題后,該方法就會正常返回相關(guān)訂閱。
BillingClient.queryPurchases()
https://developer.android.google.cn/reference/com/android/billingclient/api/BillingClient#queryPurchases(java.lang.String)
如果您的應(yīng)用使用了后端服務(wù)通過RTDN來追蹤用戶的訂閱狀態(tài):一旦用戶進(jìn)入賬號保留狀態(tài),就會發(fā)出SUBSCRIPTION_ON_HOLD通知。當(dāng)用戶修復(fù)了付款問題并且重新成功地訂閱后,則會發(fā)送SUBSCRIPTION_RECOVERED通知。您需要確保您的后端服務(wù)處理了這些通知,以保證用戶訂閱狀態(tài)是最新的。
實(shí)時(shí)開發(fā)者通知參考指南
https://developer.android.google.cn/google/play/billing/rtdn-reference
您可以在官方文檔中查看更多關(guān)于賬號保留的內(nèi)容,也可以進(jìn)一步了解如何正確處理這種狀態(tài)。
官方文檔:賬號保留
https://developer.android.google.cn/google/play/billing/subs#account-hold
訂閱恢復(fù)
該功能具體是指:用戶可能會在當(dāng)前賬單的訂閱到期之前主動取消續(xù)訂。當(dāng)開啟訂閱恢復(fù)功能后,用戶可以在訂閱過期之前通過點(diǎn)擊Play Store應(yīng)用中的Resubscribe選項(xiàng)來重新訂閱。若用戶并未取消訂閱,則此操作會恢復(fù)用戶的訂閱。若該訂閱已經(jīng)過期,用戶則必須重新進(jìn)行訂閱。
如果您的應(yīng)用并未使用一個(gè)后端服務(wù)來追蹤訂閱狀態(tài):如果您的應(yīng)用依賴于queryPurchases()返回的結(jié)果來獲取最新的訂閱狀態(tài),那么您無需做任何改動來支持訂閱恢復(fù)功能。只要用戶的訂閱未過期,即使用戶在下一個(gè)付款周期之前暫時(shí)取消了訂閱,BillingClient.queryPurchases()方法依然會返回該訂閱。
如果您的應(yīng)用使用了后端服務(wù)通過RTDN來追蹤用戶的訂閱狀態(tài):一旦用戶觸發(fā)恢復(fù)訂閱操作,SUBSCRIPTION_RESTARTED通知就會被發(fā)出來。如果您的應(yīng)用通過UI界面提示用戶一個(gè)訂閱即將過期,那請確保在后端收到SUBSCRIPTION_RESTARTED通知后及時(shí)更新UI。
您可以在官方文檔中查看更多關(guān)于訂閱恢復(fù)的內(nèi)容,也可以進(jìn)一步了解如何正確處理這種狀態(tài)。
官方文檔:恢復(fù)
https://developer.android.google.cn/google/play/billing/subs#restore
訂閱暫停
該功能具體是指:用戶可以對一個(gè)訂閱執(zhí)行一周到三個(gè)月的暫停操作。訂閱暫停操作只會在當(dāng)前周期結(jié)束后開始生效。當(dāng)某個(gè)訂閱被暫停后,用戶不能再繼續(xù)訪問訂閱內(nèi)容。另外,queryPurchases()方法也不會返回被暫停的訂閱支付信息。
queryPurchases()
https://developer.android.google.cn/reference/com/android/billingclient/api/BillingClient#queryPurchases(java.lang.String)
訂閱暫停功能目前在Play管理中心中是默認(rèn)關(guān)閉的,但是從2020年11月1日開始會自動啟用。如果您的應(yīng)用在該日期到來之前還未適配該功能,可以手動在Play管理中心中進(jìn)行關(guān)閉。
如果您的應(yīng)用并未使用一個(gè)后端服務(wù)來追蹤訂閱狀態(tài):如果您的應(yīng)用依賴于queryPurchases()返回的結(jié)果來獲取到最新的訂閱狀態(tài),那么您無需做任何改動來支持訂閱暫停的功能。BillingClient.queryPurchases()方法不會返回被暫停的訂閱支付信息。
如果您的應(yīng)用使用了后端服務(wù)通過RTDN來追蹤用戶的訂閱狀態(tài):一旦用戶對某一訂閱執(zhí)行了暫停操作,會發(fā)送SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED通知。直到當(dāng)前結(jié)算周期結(jié)束,該訂閱依然有效。當(dāng)訂閱進(jìn)入暫停狀態(tài)后,會發(fā)送SUBSCRIPTION_PAUSED通知。當(dāng)訂閱自動恢復(fù)后,或者是用戶手動恢復(fù)了訂閱,那么會發(fā)送SUBSCRIPTION_RENEWED通知。
您可以在官方文檔中查看更多關(guān)于訂閱暫停的內(nèi)容,也可以進(jìn)一步了解如何正確處理這種狀態(tài)。
官方文檔:已暫停的訂閱
https://developer.android.google.cn/google/play/billing/subs#pause
重新訂閱
該功能具體是指:啟用重新訂閱功能后,用戶可以在訂閱失效后的最長一年內(nèi)重新購買該訂閱內(nèi)容。此功能還允許用戶在當(dāng)前訂閱結(jié)束之前再次購買該訂閱。
重新訂閱功能目前在Play Console中是默認(rèn)關(guān)閉的,但是從2020年11月1日開始會自動啟用。如果您的應(yīng)用在該日期到來之前還未適配該功能,可以在Play管理中心中手動進(jìn)行關(guān)閉。
如果您的應(yīng)用并未使用一個(gè)后端服務(wù)來追蹤訂閱狀態(tài):如果您的應(yīng)用依賴于queryPurchases()返回的結(jié)果來獲取到最新的訂閱狀態(tài),那么您無需做任何改動來支持重新訂閱的功能。BillingClient.queryPurchases()方法會在訂閱過期之前返回該訂閱支付信息。
如果您的應(yīng)用使用了后端服務(wù)通過RTDN來追蹤用戶的訂閱狀態(tài):當(dāng)用戶再次購買某一訂閱,會發(fā)送SUBSCRIPTION_RESTARTED通知。后端接收到該通知后,您的應(yīng)用應(yīng)該恢復(fù)用戶對訂閱功能的訪問權(quán)限。
您可以在官方文檔中查看更多關(guān)于重新訂閱的內(nèi)容,也可以進(jìn)一步了解如何正確處理這種狀態(tài)。
官方文檔:重新訂閱
https://developer.android.google.cn/google/play/billing/subs#resubscribe
對這些訂閱功能的更改將于2020年11月1日正式生效,因此請您提前進(jìn)行檢查,以確保您的應(yīng)用準(zhǔn)備就緒!