日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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教程:通過AppStore驗(yàn)證收據(jù)

概覽

App Store 收據(jù)是采用 Apple 證書簽名的二進(jìn)制加密文件。要讀取這種加密文件的內(nèi)容,你需要將這個(gè)文件發(fā)送到 verifyReceipt (英文) 端點(diǎn)解析。端點(diǎn)的響應(yīng)中包含可讀的 JSON 正文。與 App Store 的通信結(jié)構(gòu)為 RFC 4627 中定義的 JSON 字典格式。二進(jìn)制數(shù)據(jù)采用 RFC 4648 中定義的 Base64 編碼。收據(jù)會(huì)在安全的服務(wù)器通過 App Store 進(jìn)行驗(yàn)證。有關(guān)與 App Store 建立安全網(wǎng)絡(luò)連接的信息,請(qǐng)參閱“防止不安全的網(wǎng)絡(luò)連接 (英文)”。

警告

不要在你的 App 內(nèi)調(diào)用 App Store 服務(wù)器 verifyReceipt (英文) 端點(diǎn)。你無法直接在用戶設(shè)備和 App Store 之間建立受信任的連接,因?yàn)槟銦o法控制該連接的任何端點(diǎn),從而容易遭受中間人攻擊。

獲取收據(jù)數(shù)據(jù)

要從設(shè)備上的 App 檢索收據(jù)數(shù)據(jù),請(qǐng)使用 NSBundle (英文) 的 appStoreReceiptURL (英文) 方法來找到 App 的收據(jù),再對(duì)該數(shù)據(jù)進(jìn)行 Base64 編碼。接著將這個(gè)以 Base64 編碼的數(shù)據(jù)發(fā)送到你的服務(wù)器。

// Get receipt if available
	if let appStoreReceiptURL = Bundle.main.appStoreReceiptURL,
    FileManager.default.fileExists(atPath: appStoreReceiptURL.path) {

    do {
        let receiptData = try Data(contentsOf: appStoreReceiptURL, options: .alwaysMapped)
        print(receiptData)

        let receiptString = receiptData.base64EncodedString(options: [])

        // Read ReceiptData
    }
    catch { print("Couldn't read receipt data with error: " + error.localizedDescription) }
}

將收據(jù)數(shù)據(jù)發(fā)送到 App Store

在你的服務(wù)器上,創(chuàng)建含有 requestBody (英文) 中詳細(xì)說明的 receipt-datapassword (如果收據(jù)包含自動(dòng)續(xù)期訂閱) 和 exclude-old-transactions 鍵的 JSON 對(duì)象。

將這個(gè) JSON 對(duì)象作為 HTTP POST 請(qǐng)求的有效載荷提交。在沙盒中測(cè)試你的 App 時(shí)或在你的 App 處于審核狀態(tài)期間,請(qǐng)使用測(cè)試環(huán)境 URL https://sandbox.itunes.apple.com/verifyReceipt。如果你的 App 已在 App Store 中上架,請(qǐng)使用生產(chǎn) URL https://buy.itunes.apple.com/verifyReceipt。有關(guān)這些端點(diǎn)的更多信息,請(qǐng)參閱“verifyReceipt (英文)”。

重要信息

請(qǐng)先使用生產(chǎn) URL 驗(yàn)證你的收據(jù);如果收到 21007 狀態(tài)代碼,再使用沙盒 URL 進(jìn)行驗(yàn)證。這種方法可以確保你不必在 App 的測(cè)試期間、App Review 審核期間或已在 App Store 上架后切換 URL。

解析響應(yīng)

App Store 的響應(yīng)有效載荷是一個(gè) JSON 對(duì)象,其中包含 responseBody (英文) 中詳細(xì)說明的鍵和值。

in_app 數(shù)組包含非消耗型、非續(xù)期訂閱,以及用戶之前購(gòu)買的自動(dòng)續(xù)期訂閱。根據(jù)需要,檢查響應(yīng)中這些 App 內(nèi)購(gòu)買項(xiàng)目類型對(duì)應(yīng)的值來驗(yàn)證交易。

對(duì)于自動(dòng)續(xù)期訂閱項(xiàng)目,請(qǐng)解析響應(yīng)來獲取關(guān)于當(dāng)前有效訂閱期的信息。在驗(yàn)證訂閱的收據(jù)時(shí),latest_receipt 包含最新編碼的收據(jù),它的值與請(qǐng)求中 receipt-data 的值相同,latest_receipt_info 包含訂閱的所有交易,其中包括初次購(gòu)買和后續(xù)續(xù)期,但不包括任何恢復(fù)購(gòu)買。

你可以使用這些值來檢查自動(dòng)續(xù)期訂閱是不是已到期。將這些值與 expiration_intent (英文) 訂閱欄位相結(jié)合,可以獲取到期的原因。


本文名稱:創(chuàng)新互聯(lián)IOS教程:通過AppStore驗(yàn)證收據(jù)
鏈接分享:http://www.dlmjj.cn/article/cogcose.html