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

Как узнать, что приложение установлено из игры Google или боковой загрузки?

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

4b9b3361

Ответ 1

Класс PackageManager предоставляет метод getInstallerPackageName, который укажет вам имя пакета для любого установленного вами пакета. Боковые приложения не будут содержать значения.

EDIT. Обратите внимание @mttmllns ниже в отношении магазина приложений Amazon.

Ответ 3

Я использую этот код для проверки, если сборка была загружена из магазина или загружена:

public static boolean isStoreVersion(Context context) {
    boolean result = false;

    try {
        String installer = context.getPackageManager()
                                    .getInstallerPackageName(context.getPackageName());
        result = !TextUtils.isEmpty(installer);
    } catch (Throwable e) {          
    }

    return result;
}

Ответ 4

Я нашел возможным указать InstallerPackageName, установив APK с помощью команды: pm install -i INSTALLERPACKAGENAME. Есть ли способ определения установленного вручную InstallerPackageName?

Ответ 5

Если вы смотрите на выявление и ограничение загруженного приложения. Google придумала решение для выявления проблемы.

Вы можете следовать как ниже

Проект build.gradle:

buildscript {
 dependencies {
  classpath 'com.android.tools.build:bundletool:0.9.0'
 }
}

Модуль приложения build.gradle:

implementation 'com.google.android.play:core:1.6.1'

Класс, расширяющий приложение:

public void onCreate() {
if (MissingSplitsManagerFactory.create(this).disableAppIfMissingRequiredSplits()) {
    // Skip app initialization.
    return;
}
super.onCreate();
.....

}

Благодаря этой интеграции Google автоматически определит, есть ли пропавшие разделенные файлы, и покажет всплывающее окно с сообщением " Установка не удалась ", а также перенаправит на экран загрузки Play store, где пользователь сможет правильно установить приложение через магазин Google Play.

Проверьте эту ссылку для получения дополнительной информации.

Надеюсь это поможет.