我用这个方法
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 等,因此您不能再依赖这些服务。