測試與 Google Play 帳款服務程式庫的整合

您應在整個開發過程中測試整合。如要在開發階段進行測試,建議您讓授權測試人員和 Play Billing Lab 測試本節所述的各個情境。

授權測試人員

如要設定授權測試人員,請參閱「使用應用程式授權測試應用程式內結帳」。

使用授權測試人員可享有以下好處:

  • 一般而言,對於未簽署並上傳至 Google Play 的應用程式,Google Play Billing Library 會處於封鎖狀態。授權測試人員可以略過這項檢查,也就是說,您可以側載應用程式進行測試,即使應用程式使用具有偵錯簽章的偵錯版本,也無須上傳新版應用程式。請注意,套件名稱必須與 Google Play 設定的應用程式相符,且 Google 帳戶必須是 Google Play 管理中心帳戶的授權測試人員。
  • 授權測試人員可以使用測試付款方式,避免系統向測試人員收取實際購買費用。您也可以使用測試付款方式模擬特定情況,例如付款遭拒。圖 1 顯示購買流程中會出現的測試付款方式。
  • 授權測試人員可以快速測試訂閱功能。
授權測試人員可以使用測試付款方式
圖 1. 授權測試人員可以使用測試付款方式。

以下是其他有關測試購買流程的詳細資訊:

  • 測試購買交易時,使用在真實交易時相同的應用程式購買流程。
  • 測試購買交易時系統不會計算稅金。
  • Google Play 會在購買交易對話方塊的中央顯示這是一筆測試購買交易。

您可以展開購買交易對話方塊確認進行購買的帳戶。注意事項:

  • 必須在測試人員的 Android 裝置上使用測試帳戶。
  • 如果裝置上有多個帳戶,需使用下載應用程式的帳戶進行購買。
  • 如果應用程式皆非由這些帳戶下載,則會使用第一個帳戶進行購買交易。

在發布前,使用 Google Play 測試群組進行驗證,例如讓品質確保團隊檢查新版本是否符合條件。透過測試群組,授權測試人員可以從 Google Play 安裝及評估未發布的應用程式版本。一般使用者可以使用標準付款方式真正進行購買。

如要透過測試群組測試 Google Play 帳款服務程式庫的整合作業,請執行下列操作:

  1. 將應用程式發布到測試群組。請注意,將應用程式發布到測試群組後,可能需要經過數小時測試人員才能使用該應用程式。
  2. 確認每位測試人員都選擇加入應用程式的測試。在測試的選擇加入網址中,測試人員將看到測試人員的職責說明,以及加入測試的連結。

您可以在搭載 Android 1.6 以上版本的任何 Android 硬體裝置上測試整合。裝置必須安裝最新版本的 Google Play 應用程式。如需瞭解如何設定裝置以用於 Android 應用程式的開發,請參閱使用硬體裝置相關說明。

Play Billing Lab

Play Billing Lab 是一款 Android 應用程式,可協助開發人員測試與 Google Play 結帳系統的整合情形。開發人員可以透過這個工具,輕鬆測試帳單功能、加快整合速度,並更有信心地推出產品。您可以前往 Play 商店下載並安裝 Play Billing Lab。

您可以在 Play Billing Lab 執行下列測試:

Play Billing Lab 資訊主頁
圖 2. Play Billing Lab 資訊主頁。

測試一次性產品

測試消耗性產品

測試消耗性產品時,請測試各種情況,包括:

  • 購買交易成功,使用者收到商品。對於授權測試人員,您可以使用測試工具,一律核准的付款方式。
  • 在購買交易中付款方式扣款失敗,使用者不應收到商品。對於授權測試人員,您可以使用測試工具,一律拒絕的付款方式。
  • 確保商品可以多次購買。

請按照「處理購買交易」一節的說明,確認購買交易是否已正確確認。如果應用程式未確認授權測試人員的購買交易,系統會在 3 分鐘後退款,並以電子郵件通知您該筆交易已取消。您也可以前往 Google Play 管理中心的「訂單」分頁,查看是否有訂單在 3 分鐘後退款。

測試非消耗性產品

非消耗性產品的測試應與消耗性產品相同,但您應驗證在應用程式中是否無法再次購買商品。在適用的情況下,請務必驗證非消耗性產品和消耗性產品的購買交易是否都得到確認,因為系統處理這兩種購買交易的邏輯各不相同。

測試未完成的購買交易

測試購物交易未完成的購買交易,其中當購買交易的狀態變爲 PURCHASED 時,則應授予該產品。授權測試人員可以使用兩種測試工具來測試延遲性的付款方式,這種付款方式會在幾分鐘後自動完成或取消。

  1. 使用延遲付款方式「慢速測試卡,稍後再拒絕」進行購買,如圖 3 所示。重新啟動應用程式,確認購買交易並未獲得授權。

    使用遭拒的慢速測試卡測試購買交易
    圖 3.使用遭拒的慢速測試卡測試購買交易。

  2. 使用延遲付款方式「慢速測試卡,稍後再核准」進行購買,如圖 4 所示。稍候片刻,驗證該購買交易是否已獲得授權。

    使用獲得核准的慢速測試卡測試購買交易
    圖 4.使用核准的慢速測試卡測試購買交易。

詳情請參閱處理未完成的交易。

測試使用者發起的交易退單

授權測試人員可以使用測試工具,模擬使用者發起的交易退單。

  1. 使用測試工具「測試卡片,先核准再退款」進行購買,如圖 5 所示。不久後,系統應會透過適用的介面,得知測試購買交易已交付並退款。舉例來說,您應該會在購買後不久收到 PendingRefundReviewNotification。

    測試使用者發起的交易退單
    圖 5. 使用先核准再退款的測試卡測試購買交易。

測試訂閱項目的特定功能

一次性產品與訂閱項目的購買流程類似,但訂閱項目還存在其他情境,例如訂閲項目續訂成功或續訂遭拒。如要測試續訂,您可以使用「測試卡,一律核准」和「測試卡,一律拒絕」兩種授權測試人員可用的付款方式,如圖 1 所示。使用這些付款方式測試訂閱成功以外的情境。

與單次產品類似,您也應依據「處理購買交易」的說明,驗證是否已正確確認購買交易。如果應用程式未確認授權測試人員的購買交易,系統會在 3 分鐘後退款,並以電子郵件通知您該筆交易已取消。您也可以前往 Google Play 管理中心的「訂單」分頁,查看是否有訂單在 3 分鐘後退款。

續訂期

測試訂閱項目的續訂速度比實際訂閱項目快,最多可續訂六次,不含免費試用期和新用戶優惠期。

下表列出各種不同期間的訂閱項目的測試續訂時間。時間為約略值。事件的確切時間可能會有些微差異。為彌補差異,請在每個訂閱項目的到期日之後呼叫 API,查看目前的狀態。

正式版訂閱週期 測試訂閲續訂時間
1 週 5 分鐘
1 個月 5 分鐘
3 個月 10 分鐘
6 個月 15 分鐘
1 年 30 分鐘

爲了方便測試,系統也會縮短以時間計算的訂閱功能 (例如免費試用)。下表列出與以時間為基礎的訂閱功能相關的測試時間範圍:

功能 測試期
帳戶保留 10 分鐘
免費試用 3 分鐘
寬限期 5 分鐘
新用戶優惠期 與訂閱項目測試期相同
暫停 (1 個月) 5 分鐘
暫停 (2 個月) 10 分鐘
暫停 (3 個月) 15 分鐘
同意漲價期限

(僅適用於韓國 (KR) 地區)
3 分鐘
購買交易確認 5 分鐘

加速訂閱狀態轉換

您也可以使用 Play Billing Lab 和授權測試人員,縮短測試訂閱項目的續訂週期,加快訂閱測試速度,或將測試訂閱項目移至寬限期或帳戶保留狀態,按照下列步驟測試付款遭拒情境:

  1. 在「資訊主頁」的「訂閱設定」資訊卡上,按一下「管理」。
  2. 選擇要測試的有效訂閱項目。
  3. 按一下「Subscription state」(訂閱狀態) 下拉式選單。
  4. 按一下目標狀態,即可更新訂閱狀態。
訂閱狀態轉換
圖 6. 測試訂閱狀態轉換。

在下拉式選單中選取目標訂閱狀態後,測試訂閱狀態很快就會更新。

請注意:

  • 必須先確認測試訂閱項目,才能使用「加速訂閱狀態轉換」功能。
  • 將測試訂閱項目移至寬限期或帳戶保留狀態時,系統會自動拒絕付款方式。還原測試訂閱項目後,付款方式會還原為自動核准。
  • 訂閱項目狀態轉換程序可能需要幾秒鐘才能執行。
  • 訂閱項目狀態轉換期間,無法使用訂閱價格變更功能。
  • 如果您在價格異動生效時續訂測試訂閱項目,且使用者已接受新價格,Play 就會套用新價格。不過,如果新價格需要使用者接受,而使用者尚未同意,Play 就會取消訂閱。

試用優惠

透過 Play Billing Lab 的試用優惠測試功能,授權測試人員只要勾選「Test free trial or introductory offer」核取方塊並套用變更,就能不限次數測試及使用免費試用或新用戶優惠。這樣一來,您就不必為了測試僅限新訂閱者使用的試用優惠,而建立多個帳戶。

測試試用優惠
圖 7. 測試試用優惠。

價格異動

您也可以透過 Play Billing Lab 和授權測試人員測試訂閱價格異動,避免影響其他有效訂閱者,步驟如下:

  1. 在「資訊主頁」的「訂閱設定」資訊卡上,按一下「管理」。
  2. 選擇要測試的有效訂閱項目。
  3. 輸入新價格。
  4. 根據測試需求,勾選或取消勾選「使用者選擇不採用」核取方塊。
  5. 按一下「套用」。
測試訂閱價格異動
圖 8. 測試訂閱價格異動。

套用變更後,只有測試人員的價格會從下次續訂開始更新。其他有效訂閱者不受影響。所有授權測試人員規則都適用於測試訂閱項目。接著,測試人員可以測試應用程式,瞭解價格異動觸發的下游程序,例如價格異動通知。

規劃測試期時,請注意下列事項:

  • 授權測試人員的續訂時間較短,因此可能來不及為授權測試人員註冊從控制台執行的價格異動。為確保能夠測試價格異動通知和電子郵件,開發人員應在觸發價格異動後,將收費時間延遲至少一小時。
  • 系統並未設定降價通知期。同類群組遷移後不久,使用者就會收到降價通知。這一點在測試期間維持不變。
  • 如果是漲價,測試通知時間的計算方式與實際漲價相同:
    • 經過必要的通知期後,系統會在第一年的帳單週期收費日,首次向使用者收取費用。
    • 通知時間是從首次收費日期往回計算。
    • 不論帳單週期為何,最後通知一律會在收費前 1 分鐘發出。

下表列出多個實際帳單週期的測試帳單週期和測試通知期:

實際基本方案帳單週期 測試帳單週期 測試通知期 (選擇加入和選擇不採用都須在 30 天前通知的地區) 測試通知期 (取消訂閱須在 60 天前通知的地區)
1 週 5 分鐘 5 分鐘 10 分鐘
1 個月 5 分鐘 5 分鐘 10 分鐘
3 個月 10 分鐘 3 分鐘 6 分鐘
6 個月 15 分鐘 2 分鐘 4 分鐘
1 年 30 分鐘 3 分鐘 6 分鐘

您可以在 purchases.subscriptionsv2.get API 中,查看需要使用者同意的價格調漲相關資訊。

Google Play 會在漲價生效前,向相關使用者 (包括授權測試人員) 傳送兩次推播和電子郵件漲價通知。測試通知期如下:

通知時間表 測試通知週期
首次通知 3 分鐘
第二次 (最後) 通知 1 分鐘

測試案例

按一下「顯示/隱藏」展開以下部分,查看您應使用哪些測試情境來驗證訂閲整合作業。

測試待處理交易

您應測試待處理交易是否正確處理,以及購買交易狀態變為 PURCHASED 時,是否會相應更新授權。授權測試人員可以使用兩種測試工具來測試延遲性的付款方式,這種付款方式會在幾分鐘後自動完成或取消。

  1. 使用延遲付款方式「慢速測試卡,稍後再拒絕」進行購買,如圖 9 所示。重新啟動應用程式,確認購買交易並未獲得授權。

    使用遭拒的慢速測試卡測試購買交易
    圖 9. 使用遭拒的慢速測試卡測試購買交易。

  2. 使用延遲付款方式「慢速測試卡,稍後再核准」進行購買,如圖 10 所示。稍候片刻,驗證該購買交易是否已獲得授權。

    使用獲得核准的慢速測試卡測試購買交易
    圖 10.使用核准的慢速測試卡測試購買交易。

測試優惠碼

您可以使用 Google Play 管理中心為自行測試建立促銷代碼。請注意,一個應用程式中所有管理的產品,每一季只能建立 500 個優惠碼。

您應測試以下兌換優惠碼的情境:

  • 在應用程式內開啟的購買交易對話方塊中輸入優惠碼。
  • 在 Google Play 商店應用程式中兌換優惠碼。
  • 在 https://play.google.com/store 上使用左側導覽面板中的「兌換」按鈕來兌換優惠碼。

在這些情境下,您應盡可能透過多種方式測試兌換代碼。至少執行下列測試:

  • 在安裝應用程式之前兌換。
  • 應用程式在前景執行時兌換。請注意,在這項測試中,您需要用另一個裝置在 Google Play 商店應用程式中進行測試。請務必測試在應用程式中各種不同畫面兌換的情境。
  • 使用多視窗模式進行兌換,讓系統在這種模式下同時顯示您的應用程式和 Google Play 商店應用程式。

請確保每項測試都能正確偵測商品並通知使用者。

測試不同地區的購買體驗

您可以使用 Play Billing Lab 應用程式,測試不同地區的購買體驗。如要使用 Play Billing Lab,您必須是授權測試人員。請採用下列測試步驟操作:

  1. 將應用程式結帳使用者註冊為授權測試人員。
  2. 以相同使用者身分登入 Play Billing Lab 應用程式。
  3. 選取所需國家/地區,並在 Play Billing Lab 中套用變更。
  4. 在測試中的應用程式啟動購買流程。

    測試不同地區的購買體驗
    圖 11. 測試不同地區的購買體驗。

無論實際上在何處進行測試,您都可以透過 Play Billing Lab 測試優惠的地區適用性和使用者體驗。

使用實際付款方式測試購買體驗

您可以使用 Play Billing Lab Android 應用程式,透過實際付款方式測試購買體驗。

請按照下列步驟測試實際付款方式:

  1. 將 Google 帳戶使用者註冊為授權測試人員。
  2. 以相同使用者身分登入 Play Billing Lab 應用程式。
  3. 在 Play Billing Lab 應用程式中啟用實際付款方式。
  4. 重新啟動測試中的應用程式,並啟動購買流程。

未發布應用程式的支出上限

處於草稿階段或發布到內部測試群組的應用程式,均受支出上限限制。

Google Play 對下列項目設有限制:

  • 每日交易次數:使用者每天在所有未發布應用程式中可進行的交易次數。
  • 每筆訂單價值:單筆交易的最高金額。
  • 每日總支出:使用者在所有未發布應用程式中的每日累計支出。

每 24 小時會重設一次。

如果使用者在測試應用程式時超過上述任一限制,購物車中會顯示錯誤訊息,且交易會遭到封鎖。

測試應用程式外購

您可以使用 Play Billing Lab 應用程式,測試在應用程式外取得授權的端對端體驗。如要使用 Play Billing Lab,您必須是受測應用程式的授權測試人員。

步驟 1:設定測試

  1. 將應用程式結帳使用者註冊為授權測試人員。
  2. 開啟 Play 商店,並以相同使用者身分登入。
  3. 開啟 Play Billing Lab 應用程式,並以相同使用者身分登入。
  4. 選取「應用程式外購買交易」測試卡。
  5. 選用:選取測試國家/地區,並在 Play Billing Lab 中套用變更。
    1. 如未選取國家/地區,Play Billing Lab 會使用授權測試帳戶的 Play 國家/地區。
  6. 輸入要測試的應用程式和產品 (SKU) 資訊。
  7. 選取要測試的特定購買選項、基本方案或優惠。
  8. 按一下「開始測試」。

步驟 2:取得應用程式外產品

步驟 3:處理及提供授權

應用程式應偵測應用程式外購買交易,然後將商品提供給相應的使用者。如要瞭解完整程序,請參閱「處理購買交易」。

  1. 開啟 Play 商店,並使用在 Play Billing Lab 中設定測試時所用的授權測試人員帳戶登入。
    1. 如果 Play 商店先前已開啟,請關閉後再重新啟動。
  2. 前往應用程式詳細資料頁面。
  3. 這個頁面會顯示該項目。
  4. 選取商品並完成購買。
四個畫面,顯示精選產品的購買流程。第一個畫面顯示應用程式詳細資料頁面上的精選產品資訊卡。第二個畫面顯示購買底部功能表。第三個畫面顯示付款處理中。第四個畫面顯示付款成功,並提示使用者開啟應用程式來取得商品。
圖 12. 精選產品購買流程。

購買建議

發起購買交易後,Play 帳款服務疊加層會在應用程式中顯示購買推薦。

放棄購物車後:

  1. 重新啟動應用程式。
  2. 在應用程式中啟動單次產品的購買流程。
  3. 關閉或放棄購物車對話方塊,未完成交易。
  4. 查看放棄購物車購買建議。
  5. 接受建議並完成購買。
五個畫面顯示放棄購物車後出現的購買建議。第一個畫面顯示使用者原本打算購買的購物車,使用者點選購買流程以外的位置,放棄購物車。第二個畫面顯示購買其他商品的建議,使用者點選按鈕繼續操作。第三個畫面顯示購物車中新增的商品,以及使用者點選按鈕完成購買。第四個畫面顯示正在處理購買交易。第五個畫面顯示購買成功。
圖 13. 購買建議 (放棄購物車) 購買流程。

Play Games 獎勵

按一下「Grant Reward」,模擬 Play 向使用者發放獎勵。現有獎勵必須先處理,才能授予其他獎勵。

三個畫面顯示 Play Games 獎勵測試流程。使用者可以在第一個畫面選擇授予獎勵。第二個畫面顯示 Play 成功發放獎勵,使用者接著點選再次發放獎勵。第三個畫面顯示錯誤狀態,因為第一個獎勵未正確處理。
圖 14. Play Games 獎勵測試流程。