2

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

  1. 产品 ID 应该是什么样的?

  2. 如何获取购买的硬币的总量,包括少数和袋子中的硬币?

    Amount = 10*handfuls_purchased + 100*bags_purchased;
    

我已经阅读了官方 MKStoreKit 博客上的教程,但我仍然无法弄清楚这一点。

Ps 我正在使用 MKStoreKit 3.1 并且由于 ARC 无法更新到最新版本(我的项目不支持它)

4

1 回答 1

5

您的 plist 的 consumables 键应如下所示。

<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 和 2lyfollowofcoins,MKStoreManager 为密钥 CoinsInMyApp 存储 120。

方法,

- (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/

于 2012-07-15T16:04:59.657 回答