gpt4 book ai didi

android - 在 Android 应用程序中是否可能出现类似试用的行为

转载 作者:行者123 更新时间:2023-11-29 00:42:06 25 4
gpt4 key购买 nike

我是 Android 开发的新手(我知道非常基础的东西),并且有可能很快我将负责将 WP7 应用程序移植到 Android(幸运的是,我可以使用 MonoDroid...)。

现在该应用程序具有试用功能 ( see here ),这对于 WP7 意味着我可以检查用户是否购买了它(因此我可以在应用程序中启用其他功能)或下载免费版。我不希望试用期过期,我希望我的应用程序的“免费版”仅限于某些功能。

Android 有类似的东西吗?(可以在 MonoDroid 上完成吗?)

我查看了 Google 许可服务,但看不出它对我有何帮助。

最佳答案

我会选择两个应用程序解决方案。一个“真正的”应用程序,其中包含所有功能。第二个“关键”应用程序,它只检查许可。

第一个应用程序将检查是否安装了 key 应用程序。如果检查是肯定的,则显示完整内容,启用所有功能。如果缺少关键应用程序,则该应用程序的行为类似于免费版本。

检查签署两个应用程序的私钥是否相同也很重要。如果没有这项检查,有人可能会创建他们自己的 key 应用程序并解锁您的功能。为此,请考虑我从这个博客中摘录的这个 fragment :http://www.yoki.org/2010/07/31/creating-a-freepaid-app-pair-for-the-android-market/

protected boolean isProInstalled(Context context) {
// the packagename of the 'key' app
String proPackage = "org.yoki.android.pkgname";

// get the package manager
final PackageManager pm = context.getPackageManager();
// get a list of installed packages
List<PackageInfo> list =
pm.getInstalledPackages(PackageManager.GET_DISABLED_COMPONENTS);

// let's iterate through the list
Iterator<PackageInfo> i = list.iterator();
while(i.hasNext()) {
PackageInfo p = i.next();
// check if proPackage is in the list AND whether that package is signed
// with the same signature as THIS package
if((p.packageName.equals(proPackage)) &&
(pm.checkSignatures(context.getPackageName(), p.packageName) == PackageManager.SIGNATURE_MATCH))
return true;
}
return false;
}

这种方法在灵 active 方面几乎没有优势:

  • 单独的付费区域。您可以将功能集分配给不同的关键应用程序。例如。 app key1 解锁额外的游戏关卡 a1、a2、a3,app key2 解锁关卡 b1、b2
  • 时间许可 - 而不是仅检查关键应用程序是否存在。您可以查询它以检查许可证是否仍然有效。这样您就可以获得时间许可。

关于android - 在 Android 应用程序中是否可能出现类似试用的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8725501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com