В практике покупки приложений? - PullRequest
0 голосов
/ 20 марта 2012

Я успешно внедрил IAP. Однако мне интересно, как на самом деле осуществить проверку купленных предметов.

Перед покупкой: есть кнопка для покупки в представлении. эта кнопка всегда видна.

Сразу после покупки: Я просто скрываю кнопку покупки, включаю новый контент, и все в порядке.

Но я хотел бы знать, как установить флаг для пользователя, который уже приобрел товар, чтобы в следующий раз, когда он запускает приложение, кнопка покупки не была видна больше и новый контент уже доступен. Я думаю, что просто пользовательские ошибки ... но разве это не будет легко взломать? Как я могу проверить это?

Я что-то здесь упускаю? Спасибо.

1 Ответ

1 голос
/ 20 марта 2012

вы можете получить массив, содержащий все идентификаторы продукта, которые пользователь уже приобрел, как этот

- (void) checkPurchasedItems
{
   [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}//You Call This Function

//Then this delegate Function Will be fired
- (void) paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
  purchasedItemIDs = [[NSMutableArray alloc] init];

  NSLog(@"received restored transactions: %i", queue.transactions.count);
  for (SKPaymentTransaction *transaction in queue.transactions)
  {
      NSString *productID = transaction.payment.productIdentifier;
      [purchasedItemIDs addObject:productID];
  }
}

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

Конечно, это легко сделать, используя базу данных или NSUserDefault, но этот способ полезен в случае, если пользователь удаляет приложение и устанавливает его снова, или если он использует более одного устройства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...