日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)IOS教程:使用沙盒測(cè)試 App 內(nèi)購(gòu)買項(xiàng)目

概覽

在設(shè)備上通過 StoreKit 框架,利用來自 App Store Connect 的真實(shí)產(chǎn)品信息,使用 Apple 沙盒環(huán)境來測(cè)試你的 App 內(nèi)購(gòu)買項(xiàng)目的實(shí)施情況。使用沙盒 Apple ID 登錄 App Store 后,帶有開發(fā)簽名的 App 會(huì)使用沙盒環(huán)境。

汕城網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。

要在 App Store Connect 中創(chuàng)建沙盒 Apple ID 或測(cè)試賬戶,請(qǐng)參閱“創(chuàng)建沙盒測(cè)試員賬戶”。

使用沙盒 Apple ID 登錄 App Store

要使用沙盒 Apple ID 運(yùn)行你的 App,請(qǐng)根據(jù)設(shè)備和操作系統(tǒng)來完成以下操作:

  • iOS 12 或更高版本 — 從 Xcode 構(gòu)建并運(yùn)行 App。第一次使用設(shè)備在帶有開發(fā)簽名的 App 中進(jìn)行購(gòu)買后,“設(shè)置”中會(huì)顯示沙盒賬戶。使用沙盒 Apple ID 登錄。不需要退出非測(cè)試 Apple ID 的登錄。

  • macOS — 從 Mac App Store 退出登錄,然后在 Xcode 中構(gòu)建 App 并從“訪達(dá)”啟動(dòng)這個(gè) App。

進(jìn)行 App 內(nèi)購(gòu)買

第一次在帶有開發(fā)簽名的 App 中進(jìn)行購(gòu)買時(shí),系統(tǒng)會(huì)提示你登錄 App Store。使用你的沙盒 Apple ID 登錄,以開始測(cè)試。在提示中如果出現(xiàn)文本 [Environment: Sandbox],表示你已連接到測(cè)試環(huán)境;如果沒有出現(xiàn) [Environment: Sandbox],則表示你在使用生產(chǎn)環(huán)境。確保你運(yùn)行的 App 是帶有開發(fā)簽名的構(gòu)建版本;帶有生產(chǎn)簽名的構(gòu)建版本會(huì)使用生產(chǎn)環(huán)境。

測(cè)試中斷的購(gòu)買

中斷的購(gòu)買是需要用戶在 App 以外執(zhí)行一些操作后才能完成購(gòu)買的一種交易。例如,用戶可能需要更新付款方式或接受新的條款和條件,然后才能繼續(xù)完成交易。

在沙盒測(cè)試中,你可以通過在 App Store Connect 中為沙盒 Apple ID 測(cè)試員開啟中斷購(gòu)買功能,以此模擬中斷的購(gòu)買流程。這會(huì)中斷測(cè)試員的所有購(gòu)買行為,直至這名人員在 iOS 設(shè)備上同意更新后的條款和條件,或者你在 App Store Connect 中關(guān)閉這項(xiàng)功能,購(gòu)買才能繼續(xù)。有關(guān)更多信息,請(qǐng)參閱“測(cè)試中斷的購(gòu)買”。

設(shè)置測(cè)試

通過登錄 App Store Connect 來為沙盒 Apple ID 啟用中斷購(gòu)買,然后:

  1. 從“用戶和訪問”,點(diǎn)按邊欄中“沙盒”下方的“測(cè)試員”。你可以在右側(cè)查看沙盒 Apple ID。

  2. 選擇你要啟用中斷購(gòu)買的沙盒 Apple ID。如果已經(jīng)啟用,你會(huì)在“中斷的購(gòu)買流程”列下看到一個(gè)勾號(hào)。

  3. 在出現(xiàn)的對(duì)話框中,選擇“中斷此測(cè)試員的購(gòu)買流程”。

開始測(cè)試

  1. 在測(cè)試設(shè)備上,使用啟用了中斷購(gòu)買的沙盒 Apple ID 進(jìn)行登錄。

  2. 在你的 App 中,選擇“購(gòu)買”或“訂閱”來進(jìn)行 App 內(nèi)購(gòu)買。

  3. 觀察系統(tǒng)顯示付款頁(yè)面。

  4. 在你的代碼中,驗(yàn)證付款隊(duì)列收到狀態(tài)為 SKPaymentTransactionState.purchasing (英文) 的新交易。

  5. 在設(shè)備上,驗(yàn)證該付款頁(yè)面。

  6. 在你的代碼中,付款將顯示失敗。付款隊(duì)列會(huì)收到狀態(tài)為 SKPaymentTransactionState.failed (英文) 的更新交易。

  7. 檢查你的代碼調(diào)用了 finishTransaction(_:) (英文),以將交易從隊(duì)列中移除。

  8. 在設(shè)備上,系統(tǒng)應(yīng)顯示條款與條件,導(dǎo)致購(gòu)買流程中斷 (因?yàn)槟阋褜⑸澈协h(huán)境配置為這樣)。

  9. 在設(shè)備上,輕點(diǎn)同意按鈕來接受條款與條件。

  10. 在你的代碼中,驗(yàn)證付款隊(duì)列是否收到一筆狀態(tài)為 SKPaymentTransactionState.purchased (英文) 的新交易,且這筆交易的 productIdentifier (英文) 和數(shù)量都應(yīng)該與失敗交易的相同。

  11. 在你的代碼中,驗(yàn)證相應(yīng)收據(jù)。檢查你的 App 提供了相關(guān)服務(wù)或產(chǎn)品,并且調(diào)用了 finishTransaction(_:) (英文)。

  12. 在設(shè)備上,用戶應(yīng)觀察到購(gòu)買成功。

完成測(cè)試

沙盒 Apple ID 會(huì)繼續(xù)遇到購(gòu)買流程中斷,直到你在 App Store Connect 中停用此功能,或者直到用戶在設(shè)備上接受條款與條件。要在 App Store Connect 中停用中斷購(gòu)買流程,請(qǐng)按照為設(shè)置這一測(cè)試案例所介紹的相同說明來操作,并且取消選擇“中斷此測(cè)試員的購(gòu)買流程”。

測(cè)試從“管理訂閱”頁(yè)面重新訂閱

在 iOS、Apple tvOS、iPadOS 和 MacOS 中的“管理訂閱”頁(yè)面上,客戶可以管理活躍的訂閱,也可以在到期后一年內(nèi)管理已過期的訂閱。在這個(gè)頁(yè)面中,顧客可以升級(jí)、跨級(jí)、降級(jí)或取消他們的訂閱。

在這個(gè)測(cè)試場(chǎng)景中,顧客要在你的 App 外從“管理訂閱”頁(yè)面重新訂閱已過期的訂閱。

設(shè)置測(cè)試

對(duì)于這個(gè)測(cè)試案例,你需要為沙盒 Apple ID 安排一個(gè)已過期的訂閱。如果沒有過期訂閱,可以購(gòu)買一個(gè)自動(dòng)續(xù)期訂閱產(chǎn)品并讓它過期。

你還需要在 App Store Connect 中配置一個(gè)或多個(gè)訂閱產(chǎn)品。

開始測(cè)試

  1. 在測(cè)試用的 iOS 設(shè)備上,打開“設(shè)置”>“Apple ID、iCloud、iTunes Store 和 App Store”。在“沙盒賬戶”部分下,輕點(diǎn)高亮顯示的沙盒 Apple ID,并輕點(diǎn)“管理”來打開沙盒環(huán)境“訂閱管理”頁(yè)面。

  2. 輕點(diǎn)你要重新激活的已過期訂閱。顯示的訂閱產(chǎn)品是你在 App Store Connect 的同一訂閱組下配置的產(chǎn)品。

  3. 輕點(diǎn)來選取要重新訂閱的項(xiàng)目。此時(shí)應(yīng)能看見付款頁(yè)面顯示。

  4. 驗(yàn)證付款頁(yè)面以完成購(gòu)買。

  5. 打開你的 App。

  6. 在你的代碼中,驗(yàn)證 SKPaymentTransactionObserver (英文) 獲得對(duì) paymentQueue(_:updatedTransactions:) (英文) 的回調(diào),并進(jìn)行了狀態(tài)為 SKPaymentTransactionState.purchased (英文) 的交易。

  7. 確認(rèn)你的代碼已檢索并驗(yàn)證了 App 收據(jù)。驗(yàn)證成功的交易會(huì)列在收據(jù)中。

  8. 在你的代碼中,確認(rèn)它已將 App 內(nèi)購(gòu)買項(xiàng)目提供給 App 并更新了訂閱用戶的狀態(tài)。

  9. 在你的代碼中,確認(rèn)它調(diào)用了 finishTransaction(_:) (英文)。有關(guān)更多信息,請(qǐng)參閱“完成交易 (英文)”。

完成測(cè)試

這個(gè)測(cè)試案例不需要清理。對(duì)于自動(dòng)續(xù)期訂閱,你可以在訂閱過期時(shí)再次進(jìn)行測(cè)試。

對(duì)自動(dòng)續(xù)期的停用進(jìn)行測(cè)試

在 iOS、Apple tvOS、iPadOS 和 MacOS 中的“管理訂閱”頁(yè)面上,客戶可以管理活躍的訂閱,也可以在到期后一年內(nèi)管理已過期的訂閱。在這個(gè)測(cè)試場(chǎng)景中,客戶將取消訂閱,而這會(huì)停用自動(dòng)續(xù)期。

要為此測(cè)試進(jìn)行設(shè)置,請(qǐng)使用沙盒 Apple ID 賬戶購(gòu)買一個(gè)自動(dòng)續(xù)期訂閱。

開始測(cè)試

  1. 在測(cè)試用的 iOS 設(shè)備上,打開“設(shè)置”>“Apple ID、iCloud、iTunes Store 和 App Store”。在“沙盒賬戶”部分下,輕點(diǎn)高亮顯示的沙盒 Apple ID,并輕點(diǎn)“管理”來打開沙盒環(huán)境“訂閱管理”頁(yè)面。

  2. 輕點(diǎn)以選擇要取消的訂閱產(chǎn)品。

  3. 輕點(diǎn)“取消訂閱”按鈕。

接下來,使用以下兩種方式之一來驗(yàn)證訂閱狀態(tài)變化:

  • 如果你配置了 App Store Connect 設(shè)置來接收 App Store 服務(wù)器通知,每次訂閱產(chǎn)品的自動(dòng)續(xù)期狀態(tài)有變化時(shí),你的服務(wù)器都會(huì)收到 notification_type (英文) DID_CHANGE_RENEWAL_STATUS。有關(guān)更多信息,請(qǐng)參閱“啟用 App Store 服務(wù)器通知”。

  • 通過最新的收據(jù)調(diào)用 verifyReceipt (英文) 來驗(yàn)證收據(jù)。JSON 響應(yīng)中包含一個(gè) pending_renewal_info 對(duì)象,其 auto_renew_status 的當(dāng)前狀態(tài)已變?yōu)?0。auto_renew_status_change_date_ms 包含狀態(tài)變化的時(shí)間戳。

對(duì)重新啟用訂閱自動(dòng)續(xù)期進(jìn)行測(cè)試

同樣是在“管理訂閱”頁(yè)面中,通過重新啟用訂閱來測(cè)試停用自動(dòng)續(xù)期的反向過程。輕點(diǎn)你要續(xù)訂的訂閱。

測(cè)試獲取你的產(chǎn)品標(biāo)識(shí)符

如果你在 App 中嵌入了產(chǎn)品標(biāo)識(shí)符,你可以在代碼載入了標(biāo)識(shí)符后設(shè)置代碼斷點(diǎn)。驗(yàn)證 NSArray (英文) 實(shí)例包含預(yù)期的產(chǎn)品標(biāo)識(shí)符列表。

如果 App 從服務(wù)器獲取產(chǎn)品標(biāo)識(shí)符,請(qǐng)手動(dòng)獲取這個(gè) JSON 文件,可以使用 Safari 瀏覽器等網(wǎng)頁(yè)瀏覽器來獲取,也可使用 curl 等命令行實(shí)用工具來獲取。驗(yàn)證你的服務(wù)器返回的數(shù)據(jù)是否已包含預(yù)期的產(chǎn)品標(biāo)識(shí)符列表,且服務(wù)器正確實(shí)現(xiàn)了標(biāo)準(zhǔn)的 HTTP 緩存機(jī)制。

對(duì)處理無效的產(chǎn)品標(biāo)識(shí)符進(jìn)行測(cè)試

在 App 的產(chǎn)品標(biāo)識(shí)符列表中故意包含一個(gè)無效的標(biāo)識(shí)符。然后,完成以下任一操作:

  • 在生產(chǎn)構(gòu)建版本中,驗(yàn)證 App 顯示了商店 UI 的其余部分,并且用戶可以購(gòu)買有效的產(chǎn)品。

  • 在開發(fā)構(gòu)建版本中,驗(yàn)證 App 將問題呈現(xiàn)給你。

檢查控制臺(tái)日志,并確認(rèn)你可以正確識(shí)別無效的產(chǎn)品標(biāo)識(shí)符。確保在測(cè)試后將它移除。

測(cè)試產(chǎn)品請(qǐng)求

利用你測(cè)試的產(chǎn)品標(biāo)識(shí)符列表,創(chuàng)建并提交一個(gè) SKProductsRequest (英文) 實(shí)例。在代碼中設(shè)置一個(gè)斷點(diǎn),然后檢查列表中的有效和無效產(chǎn)品標(biāo)識(shí)符。如果存在無效的產(chǎn)品標(biāo)識(shí)符,請(qǐng)?jiān)?App Store Connect 中復(fù)查你的產(chǎn)品,并更正你的 JSON 文件或?qū)傩粤斜怼?/p>

測(cè)試付款請(qǐng)求

使用你已測(cè)試過的有效產(chǎn)品標(biāo)識(shí)符,創(chuàng)建一個(gè) SKPayment (英文) 實(shí)例。設(shè)置一個(gè)斷點(diǎn),再檢查付款請(qǐng)求。將付款請(qǐng)求添加至交易隊(duì)列,再設(shè)置一個(gè)斷點(diǎn)來確認(rèn)系統(tǒng)會(huì)調(diào)用你的觀察器的 paymentQueue(_:updatedTransactions:) (英文) 方法。

雖然在測(cè)試過程中,你可以在不提供內(nèi)容的前提下立即完成交易,但未能完成交易可能會(huì)造成問題。未完成的交易會(huì)永久遺留在隊(duì)列中,這可能會(huì)干擾后續(xù)的測(cè)試。

驗(yàn)證觀察器代碼

檢查交易觀察器對(duì) SKPaymentTransactionObserver (英文) 協(xié)議的實(shí)現(xiàn)情況。確認(rèn)在 App 沒有顯示其商店 UI,并且你近期沒有發(fā)起購(gòu)買的情況下,它也能夠處理交易。

在你的代碼中,找到對(duì) SKPaymentQueue (英文) 的 add(_:) (英文) 方法的調(diào)用。驗(yàn)證你的 App 在 App 啟動(dòng)時(shí)是否調(diào)用了這個(gè)方法。

測(cè)試成功的交易

使用沙盒 Apple ID 登錄 App Store,并在 App 中進(jìn)行一筆購(gòu)買。在交易隊(duì)列觀察器的 paymentQueue(_:updatedTransactions:) (英文) 方法實(shí)現(xiàn)中設(shè)置一個(gè)斷點(diǎn),再檢查這筆交易,以驗(yàn)證其狀態(tài)是否為 SKPaymentTransactionState.purchased (英文)。

在你的代碼中存續(xù)這筆購(gòu)買交易的位置上設(shè)置一個(gè)斷點(diǎn),然后確認(rèn)你的代碼保留了相應(yīng)數(shù)據(jù)來響應(yīng)成功購(gòu)買。檢查用戶默認(rèn)值或 iCloud 鍵值存儲(chǔ),并確認(rèn)你的代碼正確記錄了相關(guān)信息。

驗(yàn)證交易是否已經(jīng)完成

找到 App 調(diào)用 finishTransaction(_:) (英文) 方法的位置,再驗(yàn)證 App 在調(diào)用這個(gè)方法前是否完成了所有交易相關(guān)工作。確認(rèn)你已針對(duì)每筆交易調(diào)用了這個(gè)方法,不管交易成功與否。有關(guān)更多信息,請(qǐng)參閱“完成交易 (英文)”。

對(duì) App Store 服務(wù)器通知進(jìn)行測(cè)試

如果為 App 啟用了 App Store 服務(wù)器通知,請(qǐng)?jiān)谏澈协h(huán)境中測(cè)試用于交易的邏輯。要確定測(cè)試環(huán)境中是否發(fā)出了針對(duì)訂閱事件的通知,請(qǐng)檢查服務(wù)器對(duì)服務(wù)器 JSON responseBody (英文) 對(duì)象中 environment 欄位的值是不是等于 Sandbox。

有關(guān) App Store 服務(wù)器通知欄位的更多信息,請(qǐng)參閱“App Store 服務(wù)器通知 (英文)”。

測(cè)試自動(dòng)續(xù)期訂閱

自動(dòng)續(xù)期訂閱在測(cè)試環(huán)境和生產(chǎn)環(huán)境中有著不同的行為。

在測(cè)試環(huán)境中,訂閱續(xù)期以加快的速度發(fā)生,自動(dòng)續(xù)期訂閱在初始購(gòu)買后最多續(xù)訂五次。這樣一來,你可以測(cè)試 App 如何處理訂閱續(xù)期、訂閱延遲和含有間隙的訂閱歷史記錄。如需沙盒環(huán)境中訂閱時(shí)限的完整列表,請(qǐng)參閱“測(cè)試 App 內(nèi)購(gòu)買項(xiàng)目”。

由于測(cè)試環(huán)境中到期和續(xù)訂速度已被加快,訂閱可能會(huì)在系統(tǒng)嘗試?yán)m(xù)訂之前到期,導(dǎo)致訂閱期間出現(xiàn)短暫延遲。生產(chǎn)環(huán)境中也會(huì)因?yàn)楦鞣N原因而可能出現(xiàn)這樣的延遲;驗(yàn)證你的 App 是否能夠正確處理相關(guān)情況。


當(dāng)前標(biāo)題:創(chuàng)新互聯(lián)IOS教程:使用沙盒測(cè)試 App 內(nèi)購(gòu)買項(xiàng)目
標(biāo)題鏈接:http://www.5511xx.com/article/dpcpgjh.html