Intereting Posts
Странная ошибка с момента обновления до Android 4.2.2 – Произошла активность IntentReceiver Как я могу заставить сайт масштабироваться для исправления для мобильных устройств (Iphone android ..) GetQuantityString возвращает неверную строку с 0 значением Меню ВОПРОСЫ с некоторыми устройствами Android 4.x Могут ли приложения Android запрашивать дополнительные разрешения во время выполнения? Изменить ListView choiceMode из singleChoice в multipleChoiceModal Тестирование, что активность называется setResult Aapt не найден по правильному пути Как изменить сочетания клавиш автозаполнения Control + Space в Eclipse для Android Как передать значения массива в и из Android RenderScript с помощью Allocations Espresso NoMatchingViewException при использовании withId Как оптимизировать рендеринг в Android-браузере Использование Proguard для Android в Eclipse получило ошибку Реализация текстового редактора в Android? Facebook SDK для Android бросает исключение ClassNotFound

Список установленных приложений из Google Play против учетной записи Google

Ниже приведены мои проблемы: –

  1. Возможно ли получить список приложений, которые пользователь установил, против своей учетной записи google через Google Play, программно с помощью любого api ?. Обратите внимание, что я не спрашиваю о списке приложений, установленных на устройстве, но те, которые в какой-то момент были установлены.

Мне нужно решение выше, поскольку я думаю о сценарии в моем приложении, которое:

  • Я хочу бесплатно отдать свое приложение пользователю в течение первых трех месяцев, через три месяца, если пользователь удалит приложение, а затем снова установит его. Я хочу обнаружить через любой api (из Google Play), что пользователь установил приложение Второй раз (и не должен получать бесплатное использование). Please note that I don't want to use any web service to store the account id & device id of the user at my side.

Solutions Collecting From Web of "Список установленных приложений из Google Play против учетной записи Google"

Для варианта 2 вы можете создать файл на SD-карте. Это останется там, когда пользователь удалит / установит. Но пользователь всегда может удалить ваш специальный файл. Если вы не делаете что-то на своей стороне, вы никогда не уверены, что пользователь уже использовал ваше приложение раньше.


Чтобы быть абсолютно уверенным, храните его в Интернете: вам понадобится очень простая база данных, в которой содержится список device_id, который установил ваше приложение. Еще больше веб-страницы, которая заполняет эту базу данных. В вашем приложении вы загружаете / открываете эту веб-страницу, которую веб-страница заполнит БД.

App> WebClient (или другой), который открывает http://www.example.com/registerDevice.php?device_id= . Сайт php заполняет db.

Вам нужно будет проверить базу данных, если текущее устройство уже установило это приложение для работы / не работает. Вы можете сделать это через один и тот же php и проверить ответ. Например, вы можете вернуть «ok» или «не нормально» или что-то еще.

Самый простой способ – получить учетную запись пользователя при первом запуске приложения и отправить эту деталь вам. Как это можно сделать, хорошо документировано здесь: Как получить основной адрес электронной почты устройства Android

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

EDIT: для не-веб-решения просто добавьте таймер в начало вашего приложения:

 schedule(TimerTask task, Date when) 

Задача должна заключаться в том, чтобы добавить токен ПОСЛЕ того периода времени, который вы хотите предоставить, в память телефона с данными учетной записи пользователя для проверки подлинности (см. Первое решение по получению данных учетной записи)

Наконец, как и выше, добавьте обратную запись в память телефона для этого конкретного файла, чтобы узнать, использовал ли пользователь приложение раньше.

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

Попробуйте эту конкретную реализацию устройства:

 PackageManager packageManager = getContext().getPackageManager(); List<ApplicationInfo> applications = packageManager.getInstalledApplications( PackageManger.GET_UNINSTALLED_PACKAGES); // retrieves some information about all applications (even uninstalled ones) // which have data directories 

Конечно, этот метод не будет работать, если пользователь заменит устройство. Но вам не нужно использовать какой-либо веб-сервис.

Вы можете использовать это, сохранив базу данных идентификатора хэшированного устройства и идентификатора пользователя google на стороннем сервере. Также см. http://android-developers.blogspot.de/2011/03/identifying-app-installations.html.