2011-03-06 40 views
11

içi satın alma için otomatik yenilenebilir abonelik süresini nasıl alınır. Yeni otomatik yenilenebilir abonelik türünü kullanmayı planlıyorum. Ancak, ben belirli bir abonelik için birden fazla süreler sunmak istiyorum, ama SKProductsResponse.products dizide döndürülen SKProduct gelen süresini alabilirsiniz nasıl göremez.iPhone - Bir iPhone uygulaması için App Alımları kurma bakıyorum

SKProduct nesne fiyatı, localizedTitle ve localizedDescription vardır. Birden sürelere sahip bir abonelik ailesini kurmak eğer süresini içeremez böylece Ancak, başlık/açıklama ailesi için bir kez ayarlanır ve belgeler açıkça başlık/açıklamasında süresini içermez söylüyorlar. Ancak, özel uygulama mağazamda görüntülenme süresini alabileceğim başka bir alan göremiyorum. Ya bir şeyi özlüyorum ya da 4.3'e kadar müsait olmayacak mı?

İşaretçiler büyük takdir!

cevap

10

Eğer app veya uygulamanızın arka sunucudan retrived ya yere bazı eşleme product_id => length olması gerekir.

+0

Evet bu benim bunu kadar sona erdi etkili bir olduğunu. –

10

Her bir süre için belirli bir productIdentifier öğesini kullanabilirsiniz (1 ay abonelik için productIdentifier öğesinin altındaki kodda "com.domainname.myapp.sub1month" şeklindedir ve 7 gün boyunca "com.domainname.myapp" şeklindedir. ve) "sub7day paymentQueue o arayın:

-(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; 
+0

temelde ne yaptım –

İlgili konular