提醒開發者們: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 日正式生效,所以請您提早進行檢查,以確保您的應用準備就緒!