我知道Google Play拥有出色的应用内购买系统。但是,我的想法是,普通公众将使用应用程序内购买策略的游戏变成了一个“禁忌”列表。
此外,我是一个单独的应用程序开发人员(像我们大多数人一样),并且不想设置服务器和管理签名验证任务。
是否可以将游戏的附加包作为单独的APK出售?
如果是这样,这叫做什么,是否有一个如何做到这一点的例子?
你如何让APK不显示在app抽屉里?我不想让他们的app抽屉混乱。
这样做的“最佳做法”策略是什么?
我是否必须创建某种“附加”管理器?
我提出的策略是,在启动应用程序时,我会查看可能的附加组件列表。如果已从Google Play购买该加载项,则这些资源将包含在应用中并可在该应用中使用。
当我创建更多附加包时,我将更新主应用程序,以便它具有要查找的附加组件的更新列表。我知道这可以延迟应用程序的启动,但我预计在这个应用程序的整个生命周期中都不会有超过100个附加包。
我很想听听你的想法,讨论和提示!
谢谢!
答案 0 :(得分:0)
您的主游戏应用可以使用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;
This SO question解答如何隐藏抽屉中的扩展应用图标。
您还需要定期检查您的扩展程序是否仍然存在。想象一下有人购买了一个分机,运行你的游戏一次并解锁了分机,然后要求延期退款。
关于这种方法的2美分:我想很多客户会将这些扩展与您的游戏混淆。大多数人无论如何都不会阅读应用程序描述文本。因此,您需要明确表示他们即将购买扩展程序。
此外,您将使您的客户很难保持一切到位。想象一下,客户购买了您的主游戏和20个扩展程序。当她切换设备或恢复出厂设置时,PITA将再次下载所有这些扩展。在应用程序购买中,这里的生活更轻松。
最后但并非最不重要的是,您不能拥有耗材的应用内商品。您不能重复购买相同的扩展程序。