Страницы

Поиск по вопросам

среда, 26 февраля 2020 г.

Как проверить, было ли куплено приложение из Play Маркет, или было установлено другим способом

#java #android #google_play


Есть платное приложение, которое доступно только из Google Play. 

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

И еще один вопрос: Приложение обращается к API к своему серверу, для получения всего
контента внутри приложения. Есть ли такая возможность, помимо определения покупки приложения
из гугла, возможность передать вместе с запросом к API какой то "идентификатор" который
бы подтверждал, что приложение "не скомпрометировано".
    


Ответы

Ответ 1



Информацию о пакете приложения, которое установило ваше приложение можно получить так: PackageManager pkgManager = context.getPackageManager(); String installerPackageName = pkgManager.getInstallerPackageName(context.getPackageName()); if(installerPackageName.startsWith("com.amazon")) { // Amazon } else if (installerPackageName.equals("com.android.vending")) { // Google Play } Но как и любую другую информацию эту можно подменить. Есть приложения, которые пересобирают и переподписывают приложения и подменяют PlayMarket. Защитить приложение точно невозможно. Можно лишь немного усложнить жизнь взломщикам.

Комментариев нет:

Отправить комментарий