簡體   English   中英

測試應用內結算:“發布商無法購買此商品”

[英]Testing in-app billing: “The publisher cannot purchase this item”

我的應用程序似乎已准備好對我的設備上的應用程序內購買程序進行“真實生活”測試。 但是,我在Play商店收到“發布商無法購買此商品”錯誤消息。 現在,我該怎么測試呢? 我不想丟失手機的配置,只需重新安裝一個虛擬帳戶進行測試。 在“設置” - “許可證測試”下的開發者控制台中,我在“具有測試訪問權限的GMail帳戶”下添加了我的電子郵件地址,但這並沒有改變任何內容......也許我錯過了一些簡單的方法,但現在它感覺很混亂!

開發人員無法從自己購買任何東西。 要進行全面測試,您需要在開發者控制台中創建一個測試帳戶,然后將您的應用程序安裝在主帳戶的設備上。 沒有其他辦法。 請參閱http://developer.android.com/google/play/billing/billing_testing.html

這是嘗試將所有要求放在一個答案中。 這是對我有用的最簡單的過程:

  1. 設置新的Gmail帳戶,或使用不是您的開發者帳戶的現有Gmail帳戶。
  2. 在設置>帳戶詳細信息>許可測試中,在Google Play開發者控制台中列出測試帳戶的電子郵件地址。
  3. 在您的設備上,轉到設置>帳戶,選擇您的開發者帳戶,點擊三點菜單,然后選擇刪除以從設備中刪除該帳戶。 您可以稍后再添加它。
  4. 構建應用程序的簽名版本變體。
  5. 將應用程序作為Alpha存儲在Play商店中,發布並等待幾個小時才能激活。 或者設置內部測試通道以更快地獲得更新
  6. 如果您的設備已安裝了應用程序的調試版本,則必須將其刪除。 或者使用此技術並行運行調試版和發行版(但您仍需要首次刪除調試版)。
  7. 將發行版下載到您的設備上。 顯然,您可以通過直接導航到應用程序URL從Play商店執行此操作,但每當我嘗試此操作時,我都會收到“找不到項目”消息。 我將應用程序上傳到我自己的服務器,然后從那里下載到設備。
  8. 將發行版下載到您的設備上。 或者使用此技術從密鑰庫中簽署Android Studio中的發布版本,然后將應用程序從Android Studio部署到您的設備上。
  9. 在您的設備上運行發行版。 如果Play商店中的Alpha尚未激活,您會看到錯誤,即應用版本未針對應用內結算進行配置。 如果alpha已准備就緒,您將能夠繼續完成測試過程。
  10. 當您進入付款界面時,即使您不需要為購買付款,也必須輸入真實的付款信息。 我選擇使用現有的PayPal帳戶,而不是將我的信用卡信息添加到我的Google測試帳戶。

與此同時,我通過將SKU ID更改為“android.test.purchased”(請參閱http://developer.android.com/google/play/billing/billing_testing.html )來幫助自己,這可以讓“有點”走過購買過程,並與它玩一點。

然而,在我看來,這不是一個平滑的解決方案,只是部分令人滿意,因為開發人員沒有看到“真正的”用戶看到和體驗的東西,而是從帶有假名稱的黑匣子中收到一些結果代碼(它甚至是標題是這樣的)並且不能超越Google Play界面。

對於那些仍然堅持這個令人討厭的功能的人來說,有一個最新版本的android(5+ Lollipop)的解決方案。

簡單解決方案1.轉到設置,然后向下滾動到“用戶”2.添加新的測試用戶。 3.使用此用戶打開應用程序

您現在可以測試您是否與測試用戶一起購買應用。

我通過卸載應用程序,轉到Play商店並切換到我的非開發人員帳戶以及下載和安裝應用程序來解決這個問題。

總結我自己的陷阱:

  • 在Alpha或Beta頻道上傳您的應用
  • 發布您的應用(在測試版或Alpha頻道中發布,除了測試人員列表中的人之外,其他任何人都無法看到您的應用)
  • 將您的帳戶添加到“測試人員”列表中
  • 轉到“測試者”鏈接(類似“ https://play.google.com/apps/testing/ <package_name>”)並點擊“參與”(這是我錯過的)
  • 發布您的inapp項目
  • 構建應用程序的發布版(!)並將其上傳到設備上。
  • 確保設備版本和市場版本由相同的版本密鑰簽名

  • 確保市場版本號不小於構建gradle中定義的版本號

您嘗試使用用於將應用上傳到商店的帳戶購買該商品。

如果您使用abc@gmail.com在Android商店上傳應用程序並嘗試使用abc@gmail.com在該應用程序上進行購買,則會收到該錯誤。

例如,嘗試在其他人的手機上使用其他Google Play商店帳戶進行購買。

底線:你不能自己購買。

我遇到了同樣的錯誤,現在解決了我失敗的兩個主要原因:
1.我沒有激活應用內商品,意味着他們處於非活動模式
2.如果要測試,則必須添加Beta測試人員。

我通過以下方式解決了這個問題
1.使用簽名的apk
2.我沒有激活應用內商品,意味着他們處於非活動模式

我解決了這個錯誤

  1. 使用簽名的apk進行測試
  2. sku名稱與inapp產品名稱相同
  3. 在應用程序產品是活動狀態
  4. app必須發布狀態顯示

當我手動安裝APK從eclipse到我的手機然后手動打開它時,我遇到了同樣的問題。 正確的程序是將其發送到Google Play進行alpha測試,然后等待幾個小時發布到您必須管理的alpha或beta測試人員,必須創建,必須授予他們訪問您的應用程序的權限。 開發人員將收到一封電子郵件,其中包含幾個小時后提供給測試人員的鏈接。 一旦發生這種情況,只需轉發給您的社區即可 在您的手機中創建一個額外的谷歌帳戶(屬於社區)並使用該打開的Gmail,然后按鏈接。 它將指導您進行谷歌播放,您將自動下載應用程序作為測試人員。 安裝,買gass .. tada !!

在我看來,最好的方法是在沒有Google Play inapp代碼的情況下全面測試付費/免費版本功能。 只有在最后,添加inapp代碼才能在free或pro之間切換。 將APK上傳到alpha版本並獲取從未見過您的開發者帳戶或應用程序本身的設備。 使用可兌換代碼安裝並購買。 如果代碼有效,那么實際付款應該是(付款方式不屬於您的代碼庫,它位於Google端)

我認為你得到這個結果的原因是因為你在開發環境中運行了應用程序。

要測試應用內結算,您需要對應用進行簽名。 在這里這里查看更多信息。

這確實令人討厭,並延長了開發周期:(

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM