2016-03-08 7 views
16

Ich möchte meine ios App mit URL-Schemata öffnen. Ich kann die App damit öffnen. Aber ich möchte, wenn App nicht installiert ist, dann App Store sollte geöffnet werden, wo Benutzer App herunterladen kann. Ist das möglich? Wie kann ich das machen?Wie öffne ich die ios app mit der URL?

EDIT Erklären Frage Schritt weise:

  1. Ich habe eine Mail in meinem Posteingang mit einer URL.
  2. Ich klicke auf URL dann ich. Wenn die App im Telefon installiert ist, wird die App gestartet. ii. Andernfalls wird der App Store geöffnet, um die App herunterzuladen.

Thank

+0

Überprüfen Sie die Antwort, wenn es helfen @ Vivek Sinha –

+1

gibt es bereits eine Antwort darauf finden Sie diese Antwort hier: http://stackoverflow.com/a/3808757/1447518 – Idan

+3

Mögliche Duplikat [Erkennen programmatisch ob eine App ist auf dem iPhone installiert] (http://stackoverflow.com/questions/3808691/detecting-programmatics-whether-an-app-is-installed-on-iphone) – dr0i

Antwort

5

ich behandeln es über meinen Server-Side-Code:

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");} 

Ich habe dies in meiner www.mysite.com/download Seite & Teilen Sie diese URL über Kampagnen. siehe

0

Wenn Ihre App in Gerät dann nicht installiert ist, können Sie App-Store mit folgenden Zeilen Code öffnen:

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

unten Code Versuchen:

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]]; 

} 

Nach iOS 5 können Sie auch https:// verwenden, um Umleitungen zu vermeiden.

Edit:

Überprüfen Sie die Link-App von URL zu öffnen, wenn installiert: Universal links öffnen App von URL.

+1

Ich habe nur eine URL in Postfach, mit dem ich App (falls installiert) oder App Store (wenn nicht) öffnen möchten –

+0

OP hat gebeten, URL vom Browser nicht von seiner APP zu öffnen –

2

Was Sie beschreiben, ist Latente Deep Linking genannt (Deep Linking bezeichnet einen Link zu Ihrer App zu öffnen, auch direkt zu einem bestimmten Teil des Inhalts und Deferred bedeutet, dass es funktioniert, auch wenn die App nicht zum ersten Mal installiert wird).

Leider gibt es bisher keinen nativen Weg, um dies auf iOS oder Android zu erreichen. URL-Schemas funktionieren nicht, weil sie immer fehlschlagen, wenn die App nicht installiert ist. Apples neue Universal Links in iOS 9 näher kommen, aber Sie müssten immer noch den Benutzer von Ihrer Website zum App Store Umleiten

Ein kostenloser Service wie Branch.io (vollständige Offenlegung: Sie sind so fantastisch, ich arbeite mit ihnen) kann das alles für dich erledigen. Hier ist die Seite docs Abdeckung genau, wie E-Mail-Links erstellen, wie Sie beschrieben: https://dev.branch.io/features/email-campaigns/overview/