2013-02-20 4 views
1

Я работаю над восстановлением покупок, поэтому у меня есть некоторые сомненияВосстановление покупок в прошивкой

1) Как показать Кнопка восстановления

Я показал его в левом верхнем углу, и по щелчку этого я вызова эта функция

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

    } 

но что, если пользователь не приобрел anyItem или то, что если пользователь приобрел товар, но не удалены и переустановить приложение, ли мне еще нужно показать restoreButton, и если да, то по щелчку из чего должно быть его поведение.

2) Теперь, если я сделал покупку элемента и удалить приложение и переустановить приложение, и нажмите на кнопку восстановления, он вызывает эту функцию

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions 
{ 
    for (SKPaymentTransaction *transaction in transactions) 
    { 
     switch (transaction.transactionState) 
     { 
      case SKPaymentTransactionStatePurchased: 
       [self completeTransaction:transaction]; 
       break; 
      case SKPaymentTransactionStateFailed: 
       [self failedTransaction:transaction]; 
       break; 
      **case SKPaymentTransactionStateRestored: 
       [self restoreTransaction:transaction];** 
      default: 
       break; 
     } 
    } 
} 

Но теперь предположим, что я не только anyitem и просто нажмите кнопку «Восстановить», он спрашивает меня о моем яблочном идентификаторе, после ввода идентификатора Apple ничего не происходит, он не вызывает указанную выше функцию, я хочу знать, почему это происходит.

Кроме того, я хочу показать пользователю сообщение, что нет элементов для восстановления, поэтому как я могу это сделать.

Я искал для этого, и их это одна функции делегата, который будет вызываться, если нет сделок с retore

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

} 

То, что я сделал то, что здесь я проверил, если нет элементов для восстановления , Я покажу как никакие элементы для восстановления, независимо от того, прав я в этом подходе.

С уважением Ранджит

ответ

0

Напрямую от Store Kit Header File

// Asynchronous. Will add completed transactions for the current user back to the queue to be re-completed. User will be asked to authenticate. Observers will receive 0 or more -paymentQueue:updatedTransactions:, followed by either -paymentQueueRestoreCompletedTransactionsFinished: on success or -paymentQueue:restoreCompletedTransactionsFailedWithError: on failure. In the case of partial success, some transactions may still be delivered.

- (void)restoreCompletedTransactions __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0); 
+0

Не ясно, что вы хотите сказать, – Ranjit

Смежные вопросы