iPhone - 如何检索应用内购买的自动续订订阅的持续时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iPhone - 如何检索应用内购买的自动续订订阅的持续时间相关的知识,希望对你有一定的参考价值。

我正在寻找为iPhone应用程序设置In App Purchases。我打算使用新的自动续订订阅类型。但是,我想为特定订阅提供多个持续时间,但无法查看如何从SKProductsResponse.products数组中返回的SKProduct中检索持续时间。

SKProduct对象具有price,localizedTitle和localizedDescription。但是,如果您设置具有多个持续时间的订阅系列,则为该系列设置一次标题/说明,以便您不能包括持续时间,并且文档明确表示不在标题/说明中包含持续时间。但是,看不到任何其他字段,我可以检索在我的自定义应用商店中显示的持续时间。我要么缺少某些东西,要么在4.3之前无法使用?

指针非常感谢!

答案

你需要在你的应用程序中的某个地方有一些映射qazxsw opi,或者从应用程序的后端检索。

另一答案

您可以为每个持续时间使用特定的productIdentifier(在productIdentifier下面的代码中,为期1个月的订阅是“com.domainname.myapp.sub1month”,在7天的持续时间内,它是“com.domainname.myapp.sub7day”)和在paymentQueue中搜索:

product_id => length
另一答案

ios 11.2将-(void) paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions{ for(SKPaymentTransaction *transaction in transactions){ switch (transaction.transactionState){ case SKPaymentTransactionStatePurchasing: break; case SKPaymentTransactionStatePurchased: if([transaction.payment.productIdentifier isEqualToString:@"com.domainname.myapp.sub1month"]{ newSubscriptionEndDate=[transaction.transactionDate timeIntervalSinceReferenceDate]+3600*24*31; } if([transaction.payment.productIdentifier isEqualToString:@"com.domainname.myapp.sub7day"] ){ newSubscriptionEndDate=[transaction.transactionDate timeIntervalSinceReferenceDate]+3600*24*7; } [[SKPaymentQueue defaultQueue] finishTransaction: transaction]; break; 属性带到subscriptionDuration。我不认为旧的iOS会有后备。

SKProduct

以上是关于iPhone - 如何检索应用内购买的自动续订订阅的持续时间的主要内容,如果未能解决你的问题,请参考以下文章

应用购买iphone中的自动续订验证

在应用内购买中取消自动续订订阅

用于自动续订订阅通知的应用内购买

iOS 应用内购买自动续订订阅管理

应用内购买,具有不同持续时间的多个自动续订订阅

使用自动续订订阅的应用是不是需要 Apple 应用内购买?