我应该如何使用MKStoreKit实现两种消耗品?如果我有两种消耗品,例如“少量硬币”( 10个硬币)和“装有硬币的袋子”( 100个硬币)。我有两个问题:

  • 产品ID的外观如何?
  • 如何获取已购买硬币的总量,包括从少数几个硬币和袋中购买的硬币?
    Amount = 10*handfuls_purchased + 100*bags_purchased;
    

  • 我已经在MKStoreKit官方博客上阅读了教程,但是我仍然无法弄清楚。

    P.s.我正在使用MKStoreKit 3.1,由于ARC,我无法更新到最新版本(我的项目不支持它)

    最佳答案

    您的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个bagofcoin和2个handfulofcoins,则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:您可以在非ARC项目中使用MKStoreKit最新版本,方法是使用-fobjc-arc标志进行编译。

    我在这里写了这个http://blog.mugunthkumar.com/articles/migrating-your-code-to-objective-c-arc/

    关于ios - 使用MKStoreKit实现两种消耗品,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11431420/

    10-09 21:04