2016-03-08 6 views
16

Я хочу открыть приложение ios с помощью схем URL. Я могу открыть приложение, используя это. Но я хочу, чтобы приложение не было установлено, тогда магазин приложений должен быть открыт, где пользователь может загрузить приложение. Возможно ли это? Как я могу это сделать?Как открыть приложение ios с помощью URL?

EDIT Объясняя шаг вопрос мудр:

  1. У меня есть почта в почтовом ящике с URL.
  2. Я нажимаю на URL-адрес, затем i. Если приложение установлено в телефоне, приложение запустится. ii. В противном случае магазин приложений будет открыт для загрузки приложения.

Спасибо

+0

Проверьте ответ ли это помочь @ Вивек Синха –

+1

уже есть ответ на этот вопрос, пожалуйста, см этот ответ здесь: http://stackoverflow.com/a/3808757/1447518 – Idan

+3

Возможные дубликатом [Детектирование программно ли приложение установлено на iPhone] (http://stackoverflow.com/questions/3808691/detecting-programmatically-whether-an-app-is-installed-on-iphone) – dr0i

ответ

5

Я справился с помощью моей сервера коды на стороне:

if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) { 
location.replace("com.myapp://"); 
setTimeout(function() { 
       if (!document.webkitHidden) { 
        location.replace("https://itunes.apple.com/app/xxxxxxxx"); 
       } 
      }, 25);} 
else if ((navigator.userAgent.match(/android/i)) || (navigator.userAgent.match(/Android/i))) { 
location.replace("https://play.google.com/store/apps/details?id=packagename&hl=en");} 
else { 
location.replace("http://www.example.com");} 

Я положил это в моей www.mysite.com/download странице & делиться этим URL-адресом с помощью кампаний.

0

Если приложение не установлено в устройстве, то вы можете открыть магазин приложений, используя ниже строк кода:

NSString *iTunesUrlofApp = @"itms://itunes.apple.com/us/app/apple-store/..."; 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesUrlofApp]]; 

Попробуйте ниже код:

if([[UIApplication sharedApplication] canOpenURL:url]){ 
    // Means your app is installed, and it can be open 
    [[UIApplication sharedApplication] openURL:url]; 
} 
else{ 
    //Your app is not installed so, Open app store with your apps iTunes Url 
    NSString *iTunesUrlofApp = @"itms://itunes.apple.com/us/app/apple-store/..."; 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesUrlofApp]]; 

} 

После iOS 5 вы также можете использовать https://, чтобы избежать перенаправления.

Edit:

Проверьте ссылку, чтобы открыть приложение из URL, если он установлен: Universal links, чтобы открыть приложение из URL.

+1

У меня есть только URL-адрес в почтовом ящике, с помощью которого я хочу открыть приложение (если оно установлено) или в магазине приложений (если нет) –

+0

ОП попросил открыть URL-адрес из браузера не из своего приложения –

2

Что вы описываете, называется «Отложенная глубокая привязка» (Deep Linking) относится к использованию ссылки для открытия вашего приложения, даже непосредственно к определенной части контента, а Deferred означает, что оно работает, даже если приложение не установлено первым).

К сожалению, для этого не существует собственного способа выполнить это на iOS или Android. Схемы URL не работают, потому что они всегда сбой, если приложение не установлено. Новый Universal Links от Apple в iOS 9 подойдет ближе, но вам все равно придется обрабатывать перенаправление пользователя со своего веб-сайта на App Store

Бесплатное обслуживание, например Branch.io (полное раскрытие: они такие замечательные, что я работаю с ними) может справиться с этим все это для вас. Вот страница документов покрытие точно, как создавать ссылки по электронной почте, как вы описали: https://dev.branch.io/features/email-campaigns/overview/

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