Determine date (or version) that app was purchased from Google Play Store - equivalent of iOS appStoreReceiptURL

后端 未结 1 1047
日久生厌
日久生厌 2021-02-12 22:12

I\'d like to determine which version of my Android app a user originally purchased from the Google Play Store. I need this info to help support moving from a paid app model to

相关标签:
1条回答
  • 2021-02-12 22:46

    Getting Time and Date Install


    You can get the time and date of the first install of the app by using

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

    And the version with

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

    Unfortunately this date will reset whenever the app is uninstalled and reinstalled.

    If you go with

    PackageManager pm = context.getPackageManager();
    ApplicationInfo appInfo = pm.getApplicationInfo("app.package.name", 0);
    String appFile = appInfo.sourceDir;
    long installed = new File(appFile).lastModified();
    

    you will also find out the date when an application was installed, but the time returned will change every time the package is updated.


    Suggested Solution


    A solution could be an online database for your application, where you can store each user's ID using AccountPicker, their first-time-install with the methods described above and use them at login. You can also use the App Licensing Service.

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


    0 讨论(0)
提交回复
热议问题