关闭应用内购买?

发布于 2024-11-09 05:31:52 字数 284 浏览 0 评论 0原文

我们目前有一个实时应用程序,在应用程序商店中提供情景内容。

我们正在重新制定定价,我们希望将其作为简单的整集剧集,而不是提供单独的剧集供购买。

我的问题是:如果我将旧标识符设置为未许可销售,之前购买该内容的用户是否仍可以访问该内容? (这意味着如果我查询他们是否购买了它,它会返回 true)

我对应用程序的应用内购买方面很陌生,并且我不完全确定它是如何工作的。

另外,如果我从 iTunesConnect 中删除标识符,会发生什么?甚至应该这样做吗?

预先感谢您的任何见解

We currently have a live app that features episodic content in the App store.

We're re-working our pricing, and instead of offering individual episodes for purchase, we want to have it as simply an entire pack of episodes.

My question is this: If I set my old identifiers to NOT cleared for sale, would a user who previously purchased that content still be allowed access to it? (Meaning if I query whether they've purchased it, will it return true)

I'm new to the in-app purchase side of apps, and I'm not entirely sure how that works.

Also, if I delete the identifier from iTunesConnect, what happens? Should this even be done?

Thanks in advance for any insight

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

北城半夏 2024-11-16 05:31:52

当使用[[SKPaymentQueue defaultQueue] RestoreCompletedTransactions];时,Apple将返回SKPaymentQueue中所有已完成的交易,这是一个交易集合。该交易将包含付款对象。 付款对象将包含productIdentifier。尽管您删除了该信息,但该信息仍然可用。因此,您可以兑现过去购买的不再购买的商品。

这是一些示例代码:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

#pragma mark SKPayment Observer Delegate methods
- (void) paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
    NSLog(@"received restored transactions: %i", queue.transactions.count);
    for (SKPaymentTransaction *transaction in queue.transactions)
    {
        NSLog(@"tran for product: %@ of state: %i", [[transaction payment] productIdentifier], [transaction transactionState]);
        switch ([transaction transactionState])
        {
            case SKPaymentTransactionStateRestored:
                NSLog(@"found restored transaction: %@ productIdentifier: %@", transaction.transactionIdentifier, transaction.payment.productIdentifier);
                [self yourRestoreProcessSelector:transaction];
                break;
            default:
                break;
        }
    }
}

When using [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];, Apple will return all completed transactions in a SKPaymentQueue which is a collection of transactions. The transaction will contain the the payment object. The payment object will contain the productIdentifier. This info is available despite your deletion. Thus you may honor past purchases that are no longer for purchase.

Here is some example code:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

#pragma mark SKPayment Observer Delegate methods
- (void) paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
    NSLog(@"received restored transactions: %i", queue.transactions.count);
    for (SKPaymentTransaction *transaction in queue.transactions)
    {
        NSLog(@"tran for product: %@ of state: %i", [[transaction payment] productIdentifier], [transaction transactionState]);
        switch ([transaction transactionState])
        {
            case SKPaymentTransactionStateRestored:
                NSLog(@"found restored transaction: %@ productIdentifier: %@", transaction.transactionIdentifier, transaction.payment.productIdentifier);
                [self yourRestoreProcessSelector:transaction];
                break;
            default:
                break;
        }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文