9

情景: 我正在完成我的google playstore應用內結算實現的邊緣。我正在使用每月或每年訂閱來向我的消費者收費。Playstore訂閱 - 測試策略

問題:我似乎無法找到一種方法來從活動狀態中刪除訂閱,因爲取消只是停止計費發生。這不允許QA在沒有爲每個測試創建帳戶的情況下徹底測試購買過程,或者等待訂閱期結束。

問題:我錯過了還是錯了嗎?如果是這樣,那是什麼?如果不是,應該做些什麼來讓QA進行適當的測試?

+0

請在下面查看我的答案,並讓我知道您正在查找以下答案或其他任何內容。 – Maulik

+1

本,我已閱讀下面與Maulik聊天。看來你從來沒有從這個聊天中找到解決方案。你有沒有解決你的問題?我試圖測試訂閱並遇到同樣的問題。我不能再等一年來進行另一次調試。 :)任何解決方案,你會發現將不勝感激。 –

+1

@MichaelStoner我們用試用訂購進行了測試,對於不適用的測試,我們只是等待。這是一個真正的恥辱。 –

回答

7

據我從你的問題的理解,

你不能從測試帳號測試訂閱。 Google play不提供使用虛擬產品的訂閱測試。你必須測試真正的產品。

現在問題出現了如何測試訂閱

您可以通過購買真正的產品檢查預訂和使用purchase status api從你的服務器檢查產品狀態或購買取消。

1)link1 2)link2

你可以簡單地詢問每天檢查你的訂閱:

你也可以從下面的分步取消購買狀態給定的鏈接獲取更多信息是否有效,並獲得它的到期日期。

我還有一個選擇,可以在您的真實產品上收取任何費用,您可以在Google控制檯中設置試用期,並且在試用期結束前從Google Play商店取消訂閱Menu - > MyApp - > Subsciption並取消產品並檢查以上鍊接中給出的程序。

編輯:

重要:在任何情況下,你必須繼續提供該 你的用戶通過自己的訂閱購買的內容,如 長的任何用戶都能夠訪問它。也就是說,即使訂閱將在 當前結算週期結束時終止,您仍不能刪除訂閱者的任何內容,而任何用戶仍對其有效訂閱 。刪除用戶有權訪問的內容將導致處罰。請參閱政策文件 瞭解更多信息。下面的鏈接

更多信息檢查:

1) http://developer.android.com/google/play/billing/billing_subscriptions.html#cancellation

2)https://support.google.com/googleplay/answer/2476088?hl=en

3) https://support.google.com/googleplay/android-developer/answer/140504?hl=en

你不能在取消子產品之後等待訂購流程週期完成,唯一剩餘的方法是Free trial版本,它只是向我們提供產品取消的產品取消的方式,在取消訂購試用期後立即取消產品取消,在試用期結束之前它不會繼續。點擊以下鏈接

更多信息檢查:

http://developer.android.com/google/play/billing/billing_subscriptions.html#administering

而且我認爲這是更好的辦法,因爲在試用期,你應該去 實際信用卡付款過程,但你並不需要到 支付任何費用。 Google Play將該交易記錄爲$ 0.00,作爲 訂閱流程。如果您取消訂閱,您的 不應該支付任何測試費用,但是我不確定免費試用版本 在您發佈應用程序之前是否有效,但它只能通過努力獲得。

結論:

在當前的API就不可能測試subcription產品如 正常的產品,如果用戶已經取消了訂購產品 然後你必須等待購買同一產品,直到 訂購週期已過期,如果 訂購週期正在進行並且您可以在訂購週期結束之前再次測試同一產品 ,則沒有其他辦法。如果你仍然想測試 爲同一產品,那麼你必須選擇另一個帳戶 測試它或另一種方式是免費試用,您將不會被收取任何費用 ,直到您的免費​​試用期到期或取消訂購在該 期間並在發佈應用程序之前爲測試帳戶,根據我的 知識,您將在購買產品的14天后自動退還 。

希望它能解決您的問題。

+0

這並不能真正解決我的問題,因爲我需要Google Play來實際清除購買,以便繼續測試應用程序的流程。在我訂閱之後,我的應用程序會在接下來的30天內將該用戶看作活躍用戶,即使他們在此期間取消了該活動。 –

+0

檢查我編輯的答案。 – Maulik

+0

根據我的理解,您的意思是,如果我取消了試用期內的訂閱,那麼Google Play將以getPurchases不再讓用戶有權使用付費服務的方式,放棄用戶的試用期和訂閱期限? –

2

我有一個可怕的笨重解決此問題。以下是我每次想要進行應用內訂閱測試時所做的工作:

  1. 在Google Play開發者控制檯中創建一個新的應用內訂閱產品。
  2. 將Android應用程序指向剛剛創建的新訂閱產品。
  3. 在您檢查活動訂閱的代碼中,添加一行以明確忽略您測試的以前訂閱的訂單號。
  4. 導出應用程序的發佈版本並將其直接傳輸到您的測試設備。
  5. 測試完成後,返回步驟#1進行下一次測試。
  6. 不要忘記在部署應用程序之前修復步驟#2中的更改!

您可能希望在步驟#1中創建多個訂閱,因此您不必等待數小時才能傳播它們。請評論,如果你知道更好的方法!

更新:谷歌現在有測試訂閱,並使它們更容易使用它們! https://android-developers.googleblog.com/2018/01/faster-renewals-for-test-subscriptions.html

+0

我討厭我這樣做,但我'米這upvoting。目前似乎沒有更有效的方法來處理這一問題。 – sammysounder

-2

創建一個模擬類,嘲笑您正在使用的Google Play方法。

2

看來,現在有更好的解決辦法:

  1. 打開在谷歌應用頁面Play商店應用
  2. 點擊「管理訂閱」
  3. 點擊「取消訂閱」
  4. 轉到「設置「,」應用程序「。
  5. 查找Google Play商店並清除應用程序數據。

您現在應該可以重新購買訂閱。

+0

它是否從應用內API調用中清除訂閱的活動狀態?或者,儘管取消了應用程序,應用程序仍然會將用戶識別爲已訂閱? –

+0

是的,但通常需要一些時間 - 從幾分鐘到幾小時。然後庫存購買狀態不同於0: inv.getPurchase(SUBSCRIPTION_SKU).getPurchaseState()!= 0。 –

+0

這並不理想,但這聽起來像是目前最好的選擇。 –