2016-04-06 10 views
0

Ich habe eine smart app banner für meine Website implementiert, um Benutzer auf unsere Android- oder iOS-App umzuleiten. Durch das Parsen des User Agents konnte ich erfolgreich zu Android App oder Google Play Store umleiten (mit einem Intent-Filter): jetzt möchte ich das gleiche für iOS tun, die App öffnen, wenn sie installiert ist und iTunes woanders öffnen.iOS: App mit benutzerdefinierter URL öffnen, falls installiert, itunes sonst

ich es geschafft, die App zu öffnen, wenn es installiert ist, indem Sie eine benutzerdefinierte URL-Schema mit

<a href="myurlscheme://main"> 

Nun möchte Ich mag iTunes machen beginnen, wenn die App auf dem Gerät installiert ist. Wie kann ich das erreichen?

Sie

Antwort

1

Um ehrlich zu sein, das ist eine Art Schmerz zu implementieren auf eigene Faust danken Diese <meta"apple-itunes-app"content"app-id=myAppStoreID, affiliate-data=myAffiliateData, app-argument=myURL" . Nachdem Sie den iOS-User-Agenten erkannt haben, könnten Sie eine JavaScript-Umleitung auf dem Server so etwas wie dies umzusetzen:

setTimeout(function() { 
    window.location = "https://itunes.apple.com/path/to/your/app/"; 
}, 25); 

// If "yourapp://" is registered, the user will see a dialog 
// asking if want to open your app. If they agree, your app will 
// launch immediately and the timer won't fire. 
// If not installed, you'll get an ugly "Cannot Open Page" 
// dialogue and the App Store will launch when the timer expires. 

window.location = "yourapp://"; 

Offensichtlich ist dies keine ideale Lösung ist und es eine Menge unangenehmer Ränder Fälle hat, vor allem Der "Can not Open Page" Fehler, den Benutzer sehen, bevor sie in den App Store umgeleitet werden, wenn sie Ihre App nicht installiert haben. Bis vor kurzem war es möglich, dies mit einer nuancierteren Version auf benutzerfreundliche Weise zu umgehen Leider kann Apple intentionally broke that mit dem iOS 9.2 Update

Sie könnten auch enable Universal Links.Apple weiß, dass dies ein lästiges Problem ist und versucht zu helfen und Sie verwenden eine normale URL zu einer Seite auf Ihrer Website (die eine einfache Umleitung in den App Store ohne die benutzerdefinierte URL-Trigger, die den "Can not Open Page" Fehler verursacht), die von Ihrem Telefon abgefangen und direkt gesendet wird in Ihre App, falls installiert. Leider funktionieren Universal Links nur in iOS 9+ und funktionieren noch nicht, wenn sie in vielen Apps geöffnet sind.

Die beste Lösung ist eine Kombination der oben genannten Methoden: Universelle Links und Applinks überall dort, wo sie unterstützt werden, und intelligente JavaScript-Umleitungen als Fallback. Dies ist ziemlich viel zu handhaben, so dass die beste Option ein kostenloser Service wie Branch.io (vollständige Offenlegung: Ich arbeite mit dem Team) sein könnte, um alle technischen Aspekte zu kümmern.

+0

Danke Alex, das funktioniert einwandfrei (bis auf das kleine, nicht so nervige Popup "möchtest du diesen Link öffnen mit die App YOURAPP "). –

+1

Ich bin froh, geholfen zu haben! –

0

Versuchen

oder

<a href="xxx://www.xxx.com">Open APP</a> 
+0

Danke Lee. Der erste Vorschlag funktioniert, aber es ist ein Meta-Tag, das (ich könnte falsch liegen) funktioniert nur auf Safari, also ist es nicht das, was ich brauche. Das zweite funktioniert einfach nicht, es öffnet nur die App, wenn ich sie bereits installiert habe: -/ –

Verwandte Themen