iPhone - 如何在应用程序内购买检索自动再生订阅持续时间
我在寻找一个iPhone应用程序设置在应用内购买。 我打算使用新的自动更新订阅类型。不过,我想提供特定订阅多个时长,但不能看我怎么可以检索从在SKProductsResponse.products数组中返回的SKProduct的持续时间。iPhone - 如何在应用程序内购买检索自动再生订阅持续时间
的SKProduct对象有价格,localizedTitle和localizedDescription。不过,如果你设置订阅家庭与多个时长标题/描述中的家庭设置一次,所以你可以不包括持续时间和文档明确地说,不包括在标题/描述的持续时间。但是,无法看到任何其他字段,我可以检索在我的自定义应用商店中显示的持续时间。要么我错过了一些东西,要么直到4.3才能上市?
指针不胜感激!
你需要有一定的映射product_id => length
的地方,无论是在你的应用程序或应用的后端retrived。
对于每个持续时间,您可以使用特定的productIdentifier(在productIdentifier下面的代码中,为1个月的订阅为“com.domainname.myapp.sub1month”,持续7天的持续时间为“com.domainname.myapp”。 sub7day“)和搜索,在paymentQueue:
-(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;
基本上我做了什么 – 2011-03-31 04:07:47
iOS的11.2带来了subscriptionDuration
属性SKProduct
。不过,我认为旧iOS不会有后备。
https://developer.apple.com/documentation/storekit/skproduct/2936884-subscriptionperiod
是的,这是我最终做的。 – 2011-03-31 04:07:23