Подтвердить что ты не робот

Определите дату (или версию), которую приложение было куплено в Google Play Store - эквивалент iOS appStoreReceiptURL

Я хотел бы определить, какую версию моего Android-приложения вы приобрели в магазине Google Play. Мне нужна эта информация, чтобы помочь перейти от платной модели приложения к модели freemium.

В iOS7 далее вы можете сделать это, используя [NSBundle appStoreReceiptURL], который возвращает URL-адрес квитанции App Store, которую можно проверить.

Есть ли эквивалент в API Google?

4b9b3361

Ответ 1


Установка времени и даты


Вы можете получить время и дату первой установки приложения, используя

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

И версия с

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

К сожалению, эта дата будет reset всякий раз, когда приложение будет удалено и переустановлено.

Если вы идете с

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

вы также узнаете дату, когда приложение было установлено, но возвращаемое время будет меняться каждый раз, когда пакет будет обновлен.


Предлагаемое решение


Решение может быть онлайн-базой для вашего приложения, где вы можете хранить каждый user ID с помощью AccountPicker, их first-time-install с описанными выше методами и использовать их в login. Вы также можете использовать Служба лицензирования приложений.

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