2016-03-08 17 views
16

Desidero aprire la mia app ios utilizzando schemi URL. Sono in grado di aprire un'app usando questo. Ma voglio se l'app non è installata, quindi l'app store dovrebbe essere aperto dove l'utente può scaricare l'app. È possibile? Come lo posso fare?Come si apre l'app ios usando l'url?

EDIT spiega passo domanda saggio:

  1. ho una e-mail nella mia casella di posta con un URL.
  2. Faccio clic sull'URL quindi su i. Se l'app è installata nel telefono, verrà avviata l'app. ii. In caso contrario, verrà aperto l'app store per scaricare l'app.

Grazie

+0

Controllare la risposta vedere se aiutare @ Vivek Sinha –

+1

c'è già una risposta a questa, consulta la risposta qui: http://stackoverflow.com/a/3808757/1447518 – Idan

+3

Eventuali duplicati di [Rilevamento di programmazione se un'app è installata su iPhone] (http://stackoverflow.com/questions/3808691/detecting-programmatically-whether-an-app-is-installed-on-iphone) – dr0i

risposta

5

ho gestito tramite il mio codice lato server:

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

Ho messo questo nella mia pagina www.mysite.com/download & condividi questo URL tramite campagne.

0

se la vostra applicazione non è installato nel dispositivo, quindi, è possibile aprire App Store usando sotto le righe di codice:

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

Prova sottostante Codice:

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

} 

Dopo iOS 5 puoi anche utilizzare https:// per evitare i reindirizzamenti.

Edit:

Controllare il collegamento per aprire app dalla url se installato: Universal links per aprire app dalla URL.

+1

Ho solo un url nella casella di posta, utilizzando il quale voglio aprire l'app (se installato) o l'app store (se non lo è) –

+0

OP ha chiesto di aprire l'URL dal browser non dalla sua APP –

2

Quello che stai descrivendo si chiama Deferred Deep Linking (Deep Linking si riferisce all'utilizzo di un collegamento per aprire la tua app, anche direttamente a uno specifico contenuto, e Deferred significa che funziona anche se l'app non è installata prima).

Sfortunatamente non esiste un modo nativo per eseguire questa operazione su iOS o Android. Gli schemi URL non funzionano, perché sono sempre in errore se l'app non è installata. di nuova Universal Links Apple in iOS 9 avvicinarsi, ma avresti devono ancora gestire reindirizzare l'utente dal tuo sito web per l'App Store

un servizio gratuito come Branch.io (Full Disclosure: sono così impressionanti io lavoro con loro) in grado di gestire tutto questo per te però. Ecco la pagina di documentazione che copre esattamente come creare collegamenti e-mail, come hai descritto: https://dev.branch.io/features/email-campaigns/overview/