我用这种方法

soomla::CCStoreInventory::sharedStoreInventory()->giveItem(REMOVE_ADS_ITEM_ID, 1);


给玩家一个remove-ads物品。之后,播放器再次删除并重新安装应用程序,然后单击Restore Purchase button,但没有任何remove-ads项被还原。

我很困惑,给定的项目无法恢复,或者我错过了什么?请帮忙。

最佳答案

还原功能通过查找用户拥有的IAP(在App Store / Google Play /等上)来工作,并在本地提供每个非消耗品,以便Soomla知道。

由于您只是直接在本地提供该项目,因此restore items不知道该项目已被授予(因为您正在擦除表示该项目的数据)。它仍然只在官方商店。

您可以做的是将用户拥有的项目同步到云,然后使用UID从云中还原。如果要完全控制,这是最好的选择,但这涉及到您自己的服务器,并且提出了一种纯粹从设备信息中生成UID的方法,而不是一刀切。然后,当您可以验证同一用户在服务器上拥有该项目时,便会在本地提供这些项目。


但是,有一种更简单的方法。 Soomla具有官方实现,可以为您完成所有这些操作:Grow Sync

更新(2016年5月):Soomla现在将关闭Grow Sync,Highway等,因此您将不再依赖这些服务。

关于c++ - 无法恢复作为礼物赠送的终生虚拟物品,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33302623/

10-09 06:37