私はandroid.test.purchaseで試したcocos2dxアンドロイドでsoomlaフレームワークを使用していますが、うまくいきました。しかし、実際の購入品で確認すると、まったく機能しません。そして一度だけ購入しましたが未管理品です。
コードの一部を次に示します。 アセットの購入:
CCVirtualGood *shieldAdded = CCSingleUseVG::create(
__String::create("3 Shields"),
__String::create("Increase 3 Shields"),
__String::create("shields_increase"),
CCPurchaseWithMarket::createWithMarketItem(CCMarketItem::create(
__String::create(SHIELDS_PURCHASEID),
CCDouble::create(0.99))
)
);
イベントハンドラ:
これは、成功したときにコールバックする関数です。
if(purchasable->getItemId()->compare("shields_increase")==0)
{
int shieldNumber=UserDefault::getInstance()->getIntegerForKey(shieldSaverNumber, 0);
shieldNumber+=3;
UserDefault::getInstance()->setIntegerForKey(shieldSaverNumber, shieldNumber);
}
ストアシーン:
これは購入のための呼び出し方法です:
soomla::CCSoomlaStore::getInstance()->startIabServiceInBg();
soomla::CCError *err;
soomla::CCStoreInventory::sharedStoreInventory()->buyItem("shields_increase", &err);
if (err != NULL) {
log("error %s",err->getInfo());
}