Android - перенаправление на сохранение, если приложение не установлено (запуск с веб-сайта)
У нас есть приложение для Android, которое запускается, когда пользователь перенаправляется на собственный протокол.
Мы хотим, чтобы пользователь перенаправлялся в магазин google/play для приложения, если он не установлен на их устройстве.
Для iOS мы используем что-то вроде этого: Возможно ли зарегистрировать URL-схему URL-адреса на основе http + для приложений iPhone, например YouTube и Maps?... однако это не работает на Android.
Это основной рабочий процесс:
- Пользователь нажимает ссылку на нашем сайте
- пользователь перенаправляется на
customProtocol://site.com?some=params
- Если приложение установлено, устройство знает, что делать, когда
customProtocol://доступен URL-адрес, и приложение запускает... однако
если приложение не установлено, андроид просто дает страницу недоступную
страница с ошибкой; решение выше для iOS не работает.
Любые мысли о том, как мы можем добиться этого на андроиде? Это невозможно для андроида?
Ответы
Ответ 1
Любые мысли о том, как мы можем добиться этого на андроиде?
Не с "пользовательским протоколом" (или, вернее, "пользовательской схемой" ). Шаблон на Android предназначен для использования URL-адреса, который вы контролируете.
Например, приложение сканера штрих-кода имеет следующее для основной активности сканирования:
<!-- Allow web apps to launch Barcode Scanner by linking to http://zxing.appspot.com/scan. -->
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http" android:host="zxing.appspot.com" android:path="/scan"/>
</intent-filter>
Затем любые ссылки на http://zxing.appspot.com/scan будут делать одну из двух вещей:
-
Если ссылка вызывается из браузера на устройстве Android и установлена программа сканирования штрих-кодов, пользователь может выбирать между отображением приложения или отображением веб-страницы, связанной со ссылкой
-
Если ссылка нажата в другом месте (Android-устройство без приложения, другого мобильного устройства, рабочего стола, ноутбука и т.д.), браузер отображает веб-страницу для этого URL-адреса, в которой вы можете делать все, что угодно хотите, включая опциональное перенаправление на Play Store
Ответ 2
Вы можете определить URL-адрес на стороне сервера, который просто перенаправляется на страницу приложения в Google Play, и использовать этот URL-адрес в фильтр намерений для быть захваченным вашим приложением:
- Если ваше приложение установлено, будет открыто действие, для которого вы определяете фильтр намерения.
- Если ваше приложение не установлено, фильтр намерений не будет найден, и браузер будет открыт, и пользователь будет перенаправлен в Google Play (при запросе, если они хотят открыть Play Store или продолжить работу в браузере).