2

アプリ購入で自動更新可能なサブスクリプションを実装しているアプリを持っています。

このリンクリンクをたどっています

これで、購入するアラートが正常に表示されますが、もう一度押すと、毎回購入するように求められます。

有効期限の確認と、製品の有効期限が切れているかどうかについては、2 つの方法が記載されています。

しかし、そこから適切な解決策を見つけることができません。

誰でも私を助けてもらえますか?

どんな助けでも大歓迎です。

前もって感謝します。

4

1 に答える 1

3

このリンクを確認してください

https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html

Apple は、レシートの検証をサーバー側で行うことを提案しています。

サブスクリプションの有効期限が切れた場合に受け取るステータス コードは 21006 です。


購入の復元について

- (IBAction)retoreinApp:(id)sender
{
    [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
    [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

    self.restoringInAppStatusLabel.hidden = NO;

}

復元の詳細を取得した後、メソッドを呼び出します。

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue {

    UIAlertView *alert ;
    if(queue.transactions.count >0)
    {
        for (SKPaymentTransaction *transaction in queue.transactions)
        {
            NSString *temp = transaction.payment.productIdentifier;

          NSLog(@"Product Identifier string is %@",temp);

        }

        alert = [[UIAlertView alloc ] initWithTitle:@"Restore Transactions" message:@"All your previous transactions are restored successfully." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
    }
    else
    {
        alert = [[UIAlertView alloc ] initWithTitle:@"Restore Transactions" message:@"No transactions in your account to be restored." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];

    }
    [alert show];

}
于 2015-05-14T13:18:05.257 に答える