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

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

В моем приложении я рекомендую соответствующие приложения, но хочу только рекомендовать их, если они действительно могут быть установлены на устройстве (например, устройство в целевых странах соответствующих приложений, правильная версия ОС и т.д.). См. https://developer.android.com/google/play/filters.html

  • Есть ли какой-либо API, который позволяет мне запрашивать, может ли я предлагать данное приложение, ссылаясь на рынок://details? id = имя_пакета может быть установлено на локальном устройстве?
  • Если нет, я могу вручную сохранить требования других приложений в своем приложении. Но тогда, как я могу определить такие элементы, как страна, с которой связан игровой магазин пользователей?
4b9b3361

Ответ 1

К сожалению, нет API для сравнения приложения с определенными устройствами. Play Store это делает что-то внутренне.

Итак, второй подход - это путь. Наиболее распространенными фильтрами являются

  • Country (поскольку вы не можете получить "страну-магазин воспроизведения", используйте другие подходы...)

    String locale = context.getResources().getConfiguration().locale.getCountry(); 
    // or if you are sure there is a SIM-card
    TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
    String countryCode = tm.getSimCountryIso();
    // or use country of current network (i.e. from 3G)
    String countryCode = tm.getNetworkCountryIso()
    
  • версия для Android

    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.GINGERBREAD) {
        // only for gingerbread and newer versions
    }
    
  • Размер экрана

    Display display = getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    int width = size.x;
    int height = size.y;
    

Вы можете проверить другие вещи, такие как доступные датчики (которые вы могли бы сделать через getSensorList). Чтобы перечислить их все, вы создали бы очень длинный список и найти все API-интерфейсы для поиска этих вещей в основном легко, поэтому я не буду перечислять их всех.

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

Ответ 2

Есть ли какой-либо API, который позволяет мне запрашивать, если данное приложение я рекомендация путем ссылки на рынок://details? id = имя_пакета может быть установлен на локальном устройстве?

Да, вроде, но api/трюк, о котором я думаю, может вообще не соответствовать вашим требованиям.

Это экспериментальная функция Google, насколько я знаю ее только для веб-приложений (но не для Android-приложений, хотя, я полагаю, она может работать с веб-браузером Android, и ваше результирующее приложение может не выглядеть естественным), это требует вашего чтобы иметь учетную запись Google+ (а не только учетную запись gmail), и для ее использования вам необходимо вручную переустановить ее в Google.

Идея заключается в том, что как только вы входите в Google+ на свой (сторонний) веб-сайт третьей стороны, вы можете нажать кнопку установки, расположенную на стороннем веб-сайте, а на стороннем веб-сайте появится окно, в котором вы получите один -click install, чтобы подтвердить разрешения и выполнить удаленную установку для обновления по эфиру.

Как вы можете видеть из строки url на скриншоте ниже, всплывающее окно фактически происходит из домена Google Play, так что технически это просто простой трюк, который должен дать пользователю возможность устанавливать приложение, не выходя полностью Ваш сайт.

Кроме того, я хочу, чтобы вы заметили текущий блок выпадающего списка с именем вашего устройства в нем. Вы не можете увидеть его здесь, но в поле выбора содержатся все зарегистрированные устройства с вашей учетной записью Google+, и он отображает только черный шрифт для вашего устройства (ов), совместимых с фактическим приложением.

screenshot of beta tunin radio web site with Google plus and Google Play integration

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

В настоящее время этот api по-прежнему остается только веб-сайтом. Это возражение, которое сотрудники Google могут поднять, когда вы попросите их перечислить в белый список ваше приложение.

В настоящее время радиостанция TuneIn позволяет регистрировать устройства с вашей учетной записью Google+, но не показывает ничего из того, что я видел в презентации, на которой я присутствовал. В презентации, которую я видел, не было регистрации устройств, требуемых пользователем, все было сделано легко, как только Google+ был связан с учетной записью. Поэтому, глядя на радио tunein.com сам веб-сайт, возможно, не очень полезен для вас.

И, наконец, я считаю, что Google хмурится в других магазинах сторонних приложений, поэтому, прежде чем просить ваше дело в Google, чтобы попытаться включить себя в белый список этого апи. Обязательно внимательно следите за условиями и сервисами в Google Play Store и будьте готовы подумать о том, как Google в конечном итоге выиграет от того, чтобы позволить вам (и другим подобным вам) использовать эту функцию.

Вот слайд-колода на github (по какой-то причине отображение самой слайдовой панели больше не работает для меня). Вам нужно связаться с любым из этих сотрудников Google, чтобы получить от вас белый список для этого api. Их контактная информация /Google + информация находится в слайдовой колоде.

Пожалуйста, сообщите нам о прогрессе. Мне было бы очень интересно узнать, можете ли вы преодолеть любую из проблем, перечисленных выше.