所以我有一個應用程序,有一個消耗品購買,從我讀了多一點工作涉及到在服務器上堅持一些信息的條款。你在哪裏更新應用程序購買中的消耗品的服務器?
我不明白的是在哪裏更新成功購買服務器?它是
- (void)completeTransaction:(SKPaymentTransaction *)transaction;
?? ??
如果確實是上面提到的功能,那麼這只是一個打網絡電話和更新服務器服務器的問題嗎?我只是想了解最佳做法,並希望得到任何幫助。
很多關於
所以我有一個應用程序,有一個消耗品購買,從我讀了多一點工作涉及到在服務器上堅持一些信息的條款。你在哪裏更新應用程序購買中的消耗品的服務器?
我不明白的是在哪裏更新成功購買服務器?它是
?? ??
如果確實是上面提到的功能,那麼這只是一個打網絡電話和更新服務器服務器的問題嗎?我只是想了解最佳做法,並希望得到任何幫助。
很多關於
我不知道這是否算作一個有效的答案,但你也許應該看看this文章。 博客帖子是從2010年開始的,所以可以說它已經過時了!但我認爲值得一看,並且提供的示例(completeTransaction方法實現)也應該有效。
讓應用程序購買上班比實際上要痛苦得多。
我做,做它
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
...
case SKPaymentTransactionStatePurchased:
case SKPaymentTransactionStateRestored:
[self sendReceiptToServerAndValidateFurther:transaction.receiptData
它是那麼只有一個webcall到服務器端腳本,可以與iTunes驗證接收和更新其DB /發送數據
btw一些服務器php
function itunes_verify2($receiptData,$sandboxed) {
//itunes store url -- sandbox or not :)
$itunes_storeURL = "https://buy.itunes.apple.com/verifyReceipt";
if($sandboxed == true) {
$itunes_storeURL = "https://sandbox.itunes.apple.com/verifyReceipt";
}
log_action('itunes_verify2 using ' . $itunes_storeURL);
$post = array("receipt-data" => $receiptData);
$postData = json_encode($post);
$responseData = post_doRequest($itunes_storeURL, $postData);
$response = json_decode($responseData);
if($responseArray->status == 0) {
return "YES";
} else {
log_action('failed to get status ok from ' . $reponseData);
return "NO";
}
}
我會在這裏爲這個SO問題投票。似乎有幾個例子。 https://stackoverflow.com/questions/4178214/ios-in-app-purchase-sample-code
從我可以告訴,耗材確實需要你自己的主機,這裏提到: iOS In App Purchases for Subscriptions and Consumables products
我與耗材沒有親身經歷,只能用升級型單邊行動計劃,這是不是太痛苦的(相對而言)。