我知道Google Play有一个优秀的应用内购买系统。然而,我的想法是,一般公众将鸽子洞游戏与应用内购买策略列入"禁忌"清单。
此外,我是一名单人应用程序开发人员(和我们大多数人一样),不想设置服务器和管理签名验证任务。
有可能将游戏的附加包作为单独的APK出售吗?
如果是,这叫什么?有没有一个例子可以说明如何做到这一点?
你怎么能让APK不出现在应用抽屉里?我不想把用户的应用抽屉弄得乱七八糟。
这样做的"最佳实践"策略是什么?
我是否必须创建某种"附加"管理器?
我想出的策略是,在启动应用程序时,我会让它查看可能的附加组件列表。如果该附加组件是从Google Play购买的,那么这些资产将包含在应用程序中并可用。
当我创建更多的加载项包时,我会更新主应用程序,以便它有一个更新的加载项列表来查找。我知道这会延迟应用程序的启动,但我预计在这个应用程序的整个生命周期中不会有超过100个附加包。
我很想听听你对此的想法、讨论和建议!
谢谢!
您的主游戏应用程序可以使用PackageManager:查找已安装的扩展
PackageManager pm = activity.getPackageManager();
try {
pm.getPackageInfo(EXT_PACKAGE_NAME, 0);
extExists = true
} catch(NameNotFoundException e) {
log.info("Extension not present.");
}
除此之外,您还应该验证扩展的包签名。否则,有人可以创建一个名为扩展包的应用程序,并在你的游戏中解锁该功能。
PackageInfo pi = pm.getPackageInfo(EXT_PACKAGE_NAME, PackageManager.GET_SIGNATURES);
// There will be practically only 1 signature unless you compile the APK with
// multiple signatures
Signature s = pi.signatures[0];
extExists = s.hashCode() == EXT_HASHCODE;
这个SO问题回答了如何从抽屉中隐藏扩展应用程序图标。
您还需要定期检查您的扩展是否仍然存在。想象一下,有人购买了一个扩展,运行你的游戏一次,解锁扩展,然后要求退款。
我的2美分关于遵循这种方法:我想相当多的客户会把这些扩展与你的游戏混淆。大多数人都不会阅读应用程序的描述文本。因此,你需要明确表示他们即将购买延期。
此外,你会让你的客户很难把一切都安排好。想象一下,一位客户购买了你的主游戏和20个扩展。当她切换设备或进行工厂重置时,PITA将再次下载所有这些扩展。应用内购买让这里的生活更轻松。
最后但并非最不重要的是,你不能拥有应用程序内的消耗品。你不能重复购买同一个分机。