2012-07-11 27 views
2

如何使用MKStoreKit實施兩種消耗品?如果我有兩個消耗品,例如「少數硬幣」(10個硬幣)和「硬幣袋」(100個硬幣)。我有兩個問題:使用MKStoreKit實施兩種消耗品

  1. 產品ID應該如何顯示?

  2. 如何獲得購買硬幣的總金額,包括少數產品和包裝的總金額?

    Amount = 10*handfuls_purchased + 100*bags_purchased; 
    

我讀過官方博客MKStoreKit教程,但我仍然只是不能想出解決辦法。

P.s.我正在使用MKStoreKit 3.1並且由於ARC而無法更新到更新版本(我的項目不支持它)

回答

5

您的plist的耗材密鑰應該看起來像這樣。

<key>Consumables</key> 
    <dict> 
     <key>com.yourcompany.yourapp.handfulofcoins</key> 
     <dict> 
      <key>Count</key> 
      <integer>10</integer> 
      <key>Name</key> 
      <string>CoinsInMyApp</string> 
     </dict> 
<key>com.yourcompany.yourapp.bagofcoins</key> 
     <dict> 
      <key>Count</key> 
      <integer>100</integer> 
      <key>Name</key> 
      <string>CoinsInMyApp</string> 
     </dict> 
    </dict> 

我匹配字符串「CoinsInMyApp」來計算購買的硬幣數量無論哪個耗材它們從何而來。在上面的例子中,如果用戶購買1個bagofcoins和2個少數幣,MKStoreManager存儲120個關鍵字CoinsInMyApp。

方法,

- (BOOL) canConsumeProduct:(NSString*) productIdentifier 
- (BOOL) canConsumeProduct:(NSString*) productIdentifier quantity:(int) quantity 

會告訴你,如果你有足夠的產品。

當玩家使用硬幣,你應該讓MKStoreKit知道通過調用

- (BOOL) consumeProduct:(NSString*) productIdentifier quantity:(int) quantity 

你可以通過調用

[[MKStoreManager numberForKey:@"CoinsInMyApp"] intValue]; 

PS獲得的硬幣數量:您可以使用MKStoreKit最新版本通過使用-fobjc-arc標誌編譯它的非ARC項目。

我在這裏寫了這裏http://blog.mugunthkumar.com/articles/migrating-your-code-to-objective-c-arc/

+0

非常感謝!還有一個問題,如果你允許的話:當我們第一次發佈遊戲時,我會給用戶3個硬幣:\t if([MKStoreManager objectForKey:GoldenCoinsID] == nil)[MKStoreManager setObject:[NSNumber numberWithInt:3] forKey :GoldenCoinsID];' – 2012-07-16 03:32:55

+0

我是對還是錯? – 2012-07-16 03:34:01

+0

這應該可以正常工作。 – Mugunth 2012-07-17 09:46:33