iOS - восстановление при покупке приложения, если само приложение уже было куплено - PullRequest
1 голос
/ 22 апреля 2019

Приложение iOS изначально было платным, а затем стало бесплатным с возможностью покупки внутри приложения.

Для пользователя, который уже приобрел приложение, код restore, приведенный ниже, действительно восстановит его? Или это восстанавливает только приложение специально для покупки в приложении?

Если это только для покупки в приложении, как я могу гарантировать, что пользователи, которые фактически заплатили за приложение, также 'восстановлены':

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{

    for (SKPaymentTransaction *transaction in transactions)
    {
        switch (transaction.transactionState)
        {
            case SKPaymentTransactionStatePurchased:
                NSLog(@"Purchased Case");
                [defaultQueue finishTransaction:transaction];
                break;
            case SKPaymentTransactionStateFailed:
                NSLog(@"Failed Case");
                [defaultQueue finishTransaction:transaction];
                break;
            case SKPaymentTransactionStateRestored:
                NSLog(@"Restored Case");
                [defaultQueue restoreCompletedTransactions];
                break;                
            default:
                break;
        }
    }

}

И я получаю купленный в приложении продукт, используя:

- (void) getProductInfo
{
    if ([SKPaymentQueue canMakePayments])
    {
        NSSet *productID = [NSSet setWithObject:@"myoneoffid"];
        SKProductsRequest *request = [[SKProductsRequest alloc]initWithProductIdentifiers:productID];
        request.delegate = self;
        [request start];
    }
}

Спасибо.

1 Ответ

2 голосов
/ 22 апреля 2019

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

Чтобы обработать случай с более ранними покупателями вашего приложения, вам необходимо выполнить проверку квитанции. Вы можете получить квитанцию ​​и проверить оригинальную версию покупки. Если эта версия старше любой версии, которую вы переключили на бесплатную при покупках в приложении, вы можете предоставить пользователю доступ к этим функциям, не заставляя их платить за что-либо.

См. Измените платное приложение на бесплатное, но узнайте, если пользователь ранее приобрел его для получения более подробной информации.

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