我正在使用带有 cocos2dx android 的 soomla 框架,我尝试使用 android.test.purchase 并且效果很好。但是当我检查真正的购买项目时,它根本不起作用。它只购买了一次,但它是非托管项目。
下面是一些代码:购买资产:
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());
}