2016-03-16 19 views
10

Mam linki uniwersalne działa poprawnie, po zainstalowaniu aplikacji widzę, jak link otwiera aplikację, a gdy nie jest zainstalowany, otwiera adres URL w safari.iOS Universal Link App Store przekierowanie

Właściwie to chciałbym przekierować i przejść do sklepu z aplikacjami, aby użytkownicy mogli bezpośrednio pobrać aplikację. Zamierzam dołączyć przekierowanie do pliku html, ponieważ wiem, że uniwersalne linki nie obsługują przekierowań na poziomie konfiguracji serwera http (tak, myślę, że dotyczy to tylko pliku manifestu, apple-apps-site-association)

Ktoś może potwierdzić, czy jest to właściwy sposób, czy jedyny sposób na zrobienie tego? Nie podoba mi się pomysł, aby najpierw uruchomić safari, załadować mój html (tylko z przekierowaniem), a następnie przejść do sklepu. Wygląda na to, że nie ma prostszego sposobu na zrobienie tego.

Odpowiedz

12

Masz rację: przekierowania po stronie serwera nie są dozwolone w przypadku pliku apple-app-site-association. Wierzę jednak, że po otwarciu przez użytkownika uniwersalnego linku i (zakładając, że aplikacja jest zainstalowana , a nie) znajduje się na adresie URL, wszystkie opcje znajdują się na stole (po stronie serwera lub w inny sposób).

Jeśli strona na drugim końcu adresu URL linków uniwersalnych zawiera natychmiastowe przekierowanie JS do strony App Store w aplikacji, powinna działać poprawnie. Coś takiego:

window.location = 'itms-apps://itunes.apple.com/us/app/imdb-movies-tv/id342792525' 

Ale tak, nie ważne jak to zrobisz, Safari nadal się otworzy. Będzie migać tak szybko, że użytkownik prawdopodobnie nawet tego nie zauważy. Oto zapis w czasie rzeczywistym, po prostu z aplikacji demo Branch.io precyzyjne linki serwisu robi dokładnie ten proces:

enter image description here

+1

jest jakiś szczególny powód, dla wymagających 'setTimeout()' tutaj? Wygląda na to, że nie wpłynie to na działanie przekierowania. –

+0

Masz rację ... nie tutaj. Ponownie wykorzystałem część innego przykładu i nie uprościłem go wystarczająco –

3

stąd:. https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html

„Kiedy wspierać uniwersalne łącza, iOS 9 użytkownicy mogą wykorzystać link do swojej strony i uzyskać bezproblemowo przekierowany do zainstalowanej aplikacji bez przechodzenia przez Safari Jeśli aplikacja nie jest zainstalowana, naciśnięcie linku do twojej strony otwiera twoją stronę w Safari. "

Nie robisz tego źle, tak po prostu działają.