Создать Deep Link для мобильного приложения
Я хочу создать рекламную ссылку для своего приложения, которую я могу распространять по электронной почте. Когда пользователь нажимает на ссылку из электронного письма, веб-страница делает это:
- Определяет, какая ОС (iOS или Android)
- Если приложение установлено на устройстве - открывает приложение
- Иначе - переводит пользователя в AppStore (или) PlayStore (или) по пользовательскому URL.
Я пытался использовать AppLinks (applinks.org) - но я не могу заставить его работать. Как браузер понимает теги "al:xx:xxx.."? Это работает только для Facebook/ Twitter?
<html>
<head>
<meta property="al:ios:url" content="applinks://docs" />
<meta property="al:ios:app_store_id" content="12345" />
<meta property="al:ios:app_name" content="App Links" />
<meta property="al:android:url" content="applinks://docs" />
<meta property="al:android:app_name" content="App Links" />
<meta property="al:android:package" content="org.applinks" />
<meta property="al:web:url" content="http://applinks.org/documentation" />
</head>
Я также попробовал JavaScript из другого поста, но если приложение не установлено, браузер выдает ошибку:
<script>
window.onload = function() {
window.location = 'http://www.launchMyApp';
setTimeout("window.location = 'http://play.google.com/someApp';", 1000);
}
</script>
Пожалуйста, помогите с этим. Благодарю.
4 ответа
Теперь это возможно в iOS 9. В этом году на WWDC 2015 компания Apple объявила о расширенных ссылках Universal. Возможно, вы захотите посмотреть видео - " Бесшовная связь с вашим приложением".
Теперь он может:
- Проверьте, установлено ли приложение, и откройте содержимое в приложении iOS.
- Остальное не удается изящно и может открыть контент в сафари.
Одна из лучших функций iOS 9 после API поиска.
al:xx:xx:xx
То, что они дали вам, является URI (См. Этот пост SO для различий между URI, URNs и URL-адресами. Когда ваше приложение установлено, оно может зарегистрироваться для ответа на определенную URL-схему. Вот пример Spotify URI, который ссылается на песня.
spotify:track:0FutrWIUM5Mg3434asiwkp
Если на вашем устройстве установлен Spotify (включая рабочий стол), вы можете щелкнуть эту ссылку, и приложение Spotify должно автоматически открыться. Приложение отвечает, потому что оно зарегистрировало себя как ответчик на этот тип URL. Остальная часть URI используется приложением для выполнения определенных действий. В этом случае Spotify распознает URI как ссылку на песню с определенным идентификатором дорожки и открывает соответствующий экран.
Ваше приложение может зарегистрироваться для ответа на определенную URL-схему, и если пользователь нажмет на эту ссылку с установленным приложением, оно откроется непосредственно для вашего приложения. Недостатком является то, что если приложение не установлено, ОС не поймет URL-схему и выдаст ошибку.
Я думаю, что решение, которое вы ищете, - это простая HTTP-ссылка на страницу (скрипт), размещенную на вашем сайте. Вы можете передать параметры так же, как и обычную ссылку
http://www.myapp.org/?user=123&source=email.
На вашей странице будет использоваться серверный Javascript, который будет пытаться открыть URL-схему, указанную вашим приложением - аналогично тому, что вы опубликовали выше. Если это не удается, он перенаправляет пользователя в соответствующий магазин приложений на основе информации браузера в заголовке агента пользователя HTTP. Вам может понадобиться другой Javascript для подавления предупреждений.
Я работал над этим для Facebook и обнаружил, что их система генерирует следующее, когда вы размещаете страницу ссылок на приложения для вас.
<html>
<head><title>App Link</title>
<meta property="fb:app_id" content="XXXXXXXXXXXXXXX"/>
<meta property="al:ios:url" content="example://test"/>
<meta property="al:ios:app_name" content="Example App"/>
<meta property="al:ios:app_store_id" content="XXXXXXXXX"/>
<meta property="al:android:package" content="com.example.client"/>
<meta property="al:android:app_name" content="Example App"/>
<meta property="al:android:url" content="example://test"/>
<meta property="al:web:should_fallback" content="false"/>
<meta http-equiv="refresh" content="0;url=http://play.google.com/store/apps/details?id=com.example.client"/>
</head>
<body>Redirecting...</body>
</html>
Вы можете увидеть метатег http-эквивалент внизу, который выполняет перенаправление без JavaScript и поддерживается во всех основных браузерах.
Возможно, вы захотите попробовать Yozio - они сделают все, что вы просите, и немного больше. Я не аффилирован, просто коротко поиграл с этим.