2015-02-23 4 views
8

Я хочу создать рекламную ссылку для своего приложения, которое я могу распространять по электронной почте. Когда пользователь нажимает на ссылку с электронной почтой, веб-страницы делает это:Создать ссылку для мобильного приложения

  1. Определяет, какие ОС (IOS или Android)
  2. Если приложение установлено на устройстве - открывает приложение
  3. остальное - принимает пользователю 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> 

Пожалуйста, помогите с этим. Спасибо.

+0

Ссылки на приложения не решают проблему, так как Safari и Chrome не поддерживают ее. Кроме того, хотя есть некоторые решения JS, ни одна из них не идеальна, потому что у них все будут некоторые причуды. –

+0

У меня тоже такая же проблема, есть ли какие-либо возможные решения, чтобы сделать thiis без скриптов, любые примеры будут оценены –

+0

Javascript redirection, безусловно, имеет потенциальные причуды! Я работаю в компании (hokolinks.com), и мы сделали гораздо более сложный скрипт, и он по-прежнему терпит неудачу для некоторых сумасшедших телефонов Android. Как Google, так и Apple объявили о бесшовном решении (для этого не требуется JS), используя файл на сервере для легкой интеграции. Проверьте универсальные ссылки для iOS и App Link (да, с тем же именем) для Android. –

ответ

3
al:xx:xx:xx 

Что они дали вам это URI (см This SO post for the differences between URIs, URNs, and URLs. При установке приложение может зарегистрировать себя в ответ на определенный URL-схемы. Вот пример Spotify URI, который ссылается на песню.

spotify:track:0FutrWIUM5Mg3434asiwkp 

Если у вас на вашем устройстве установлен Spotify (рабочий стол включен), вы можете нажать this link и открыть приложение Spotify автоматически. Приложение отвечает за то, что оно зарегистрировалось как ответчик на этот тип URL. URI используется приложением для выполнения определенных действий (действий). В этом случае Spotify распознает URI как li nk к песне с определенным идентификатором дорожки и открывает соответствующий экран.

Ваше приложение может зарегистрироваться для ответа на определенную схему URL-адресов, и если пользователь закроет эту ссылку с установленным приложением, она откроется прямо в вашем приложении. Недостатком является то, что если приложение не установлено, ОС не поймет схему URL-адреса и не выдаст ошибку.

Решение, которое, как я думаю, вы ищете, будет простой ссылкой HTTP на страницу (скрипт), размещенную на вашем сайте. Вы можете передать в параметрах так же, как вы бы нормальный ссылка

http://www.myapp.org/?user=123&source=email. 

Вашей странице будет использовать какую-то на сторону сервера Javascript, что будет пытаться открыть URL-схему, задаваемое приложением - подобно тому, что вы выложили выше. Если это не удастся, оно затем перенаправит пользователя в соответствующее хранилище приложений на основе информации браузера в заголовке HTTP-пользователя HTTP. Возможно, вам понадобится другой Javascript для подавления предупреждений.

+0

Благодарим за отзыв. Я ищу более полное решение, поскольку документы приложений приложений ссылаются на ту же реализацию, которую вы представили. –

+0

Когда вы говорите полное решение, вы хотите, чтобы весь код, необходимый для этого, работал? Я не думаю, что ты найдешь это здесь. –

+0

Не совсем .. Я не ищу полный код, и я уверен, что здесь никто не получит. Я имею в виду то, что вы предложили, уже реализовано. т.е. схема IOS уже создана и открывает приложение, когда вы вводите URI непосредственно в браузере. Но я не могу сделать то же самое с веб-страницы как таковой. То, что я пытаюсь сказать, - это решение, которое вы опубликовали не полностью решить головоломку. –

1

Я работал над этим для Facebook и нашел следующее, которое было создано их системой, когда вы have them host the app links page for you.

<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-equiv мета-тег в нижней части, что делает редирект без JavaScript и поддерживается на всех основных браузерах.

4

Это возможно в iOS 9.Apple объявила об универсальных глубоких ссылках в этом году в WWDC 2015 году. Возможно, вы захотите посмотреть видео - Seamless Linking to Your App.

Он может теперь:

  1. Проверьте, установлено приложение и открыть содержимое в IOS приложение
  2. остальное терпит неудачу изящно и может открыть содержимое в сафари.

Одна из лучших функций iOS 9 после поиска API.

+0

Благодарим вас за сообщение ссылки, касающейся подхода Universal links. Но сейчас я хотел бы продолжить подход, предложенный @IntrepidPat. –

0

Возможно, вы захотите попробовать Yozio - они делают все, что вы просите, плюс немного больше. Я не аффилирован, просто ненадолго играл с ним.

Смежные вопросы