确定从Google Play商店购买应用的日期(或版本) - 相当于iOS appStoreReceiptURL

时间:2013-11-04 09:20:47

标签: android ios google-play

我想确定用户最初从Google Play商店购买的Android应用版本。我需要这些信息来帮助支持从付费应用模式转变为免费增值模式。

在iOS7及更高版本中,您可以使用[NSBundle appStoreReceiptURL]执行此操作,该{{1}}会返回可以检查的App Store收据的网址。

Google API中是否有相同的内容?

1 个答案:

答案 0 :(得分:13)

获取时间和日期安装

您可以使用

获取首次安装该应用的时间和日期
var test1 = $('div#test1'),
    test2 = $('div#test2')
;
// first way
$('<div/>')
    .addClass('mainClass subClass')
    .attr('id', 'someId2')
    .attr('data-extra', 'extraInfo')
    .text('some text')
    .appendTo(test2)
;

// second way
$('<div/>', 
  {
      'class': 'mainClass subClass',
      'id': 'someId1',
      'data-extra': 'extraInfo',
      'text': 'some text'
  })
    .appendTo(test1)
;

版本
long installTime = context.getPackageManager()
                   .getPackageInfo("com.some.package.name", 0)
                   .firstInstallTime;

不幸的是,只要卸载并重新安装应用程序,此日期就会重置。

如果你选择

PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
version = pInfo.versionName;

您还可以找到安装应用程序的日期,但每次更新软件包时返回的时间都会更改。

建议的解决方案

解决方案可以是您的应用程序的在线数据库,您可以使用AccountPickerPackageManager pm = context.getPackageManager(); ApplicationInfo appInfo = pm.getApplicationInfo("app.package.name", 0); String appFile = appInfo.sourceDir; long installed = new File(appFile).lastModified(); 使用上述方法存储每个user's ID,并在登录时使用它们即可。您也可以使用App Licensing Service

http://developer.android.com/reference/android/content/pm/PackageInfo.html#firstInstallTime