我想确定用户最初从 Google Play 商店购买的我的 Android 应用的哪个版本。我需要此信息来帮助支持从付费应用模型转变为免费增值模型。
从 iOS7 开始,您可以使用 [NSBundle appStoreReceiptURL]
来执行此操作,它返回可检查的 App Store 收据的 URL。
Google API 中是否有等效项?
最佳答案
获取时间和日期安装
您可以通过使用
获取第一次安装应用的时间和日期long installTime = context.getPackageManager()
.getPackageInfo("com.some.package.name", 0)
.firstInstallTime;
版本与
PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
version = pInfo.versionName;
很遗憾,只要卸载并重新安装该应用程序,该日期就会重置。
如果你去
PackageManager pm = context.getPackageManager();
ApplicationInfo appInfo = pm.getApplicationInfo("app.package.name", 0);
String appFile = appInfo.sourceDir;
long installed = new File(appFile).lastModified();
您还会发现应用程序的安装日期,但是每次更新包时返回的时间都会改变。
建议的解决方案
解决方案可以是您的应用程序的在线数据库,您可以在其中使用 AccountPicker 存储每个 用户 ID
,他们的 first-time-install
使用上述方法并在 login 时使用它们。您也可以使用 App Licensing Service .
http://developer.android.com/reference/android/content/pm/PackageInfo.html#firstInstallTime
关于android - 确定从 Google Play 商店购买应用的日期(或版本) - 相当于 iOS appStoreReceiptURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19764667/