2015-11-05 7 views
6

mam setup mój plik Aasa JSON, aby otworzyć aplikację, gdy ktoś odwiedza myDomain.com/ShowInTheApp/*iOS 9 Uniwersalny Linki nie uruchamiając aplikację z tej samej domeny

Działa od Notatki aplikacji, e-mail, Gmail App Gmail internecie na safari i w zasadzie wszelkie inne strony internetowe inne myDomain.com.

Kiedy myDomain.com/chooseAppORweb.html zawiera link do, Safari zawsze otwiera go na tej samej karcie, aplikacja nie zostanie uruchomiona. Mogę dotknąć i przytrzymać link, aby wyświetlić menu kontekstowe zawierające wpis "Otwórz w [Moja nazwa aplikacji]", który rzeczywiście uruchomi moją aplikację. Ale nie przez pojedyncze stukanie w link.

Kiedy wykonuję dokładnie te same czynności z innej domeny, zawsze uruchamiam aplikację bez problemów.

Czy ktoś pomyślnie uruchomił aplikację konsekwentnie z tej samej domeny przy użyciu UL?

Ponadto, jeśli istnieje dokument Apple, który wyjaśnia dowolne z tych zachowań, udostępnij ten link.

+4

Niestety, chociaż nie jest to udokumentowane, wydaje się, że jest to pożądane zachowanie. Gdy użytkownik znajduje się w Twojej witrynie, nie możesz podejmować prób zabrania jej do swojej aplikacji. –

+1

Należy również pamiętać, że użytkownicy, którzy są umieszczani w aplikacji za pośrednictwem łączy uniwersalnych, mogą wybrać opcję otwierania witryny - Twoja witryna będzie wyświetlana w prawym rogu paska stanu. Domyślam się, że zespół Apple nie chciał pozwolić programistom na ciągłe wprowadzanie użytkowników do aplikacji, jeśli użytkownicy próbują pozostać w mobilnej witrynie. Ma to sens, nawet jeśli ma niefortunne skutki uboczne, takie jak to, co opisujesz. –

+0

@ st.derrick Dziękujemy za potwierdzenie zachowania.Widziałem kilka postów datowanych na czerwiec, kiedy iOS9 był w fazie beta, że ​​niektórzy użytkownicy napotykają problemy, gdy strona docelowa Universal Link nie może być przeglądana w Safari, ponieważ kliknięcie dowolnego linku otworzy aplikację. Myślę, że link do Breadcrumb Domain na pasku stanu, który ustawiłby preferencje strony internetowej do otwierania zawsze w Safari, inteligentny baner odwracający tę preferencję i zachowanie wspomniane w pytaniu to wszystkie szybkie poprawki Apple w kwestiach, których nie dotyczyły. przewidzieć podczas projektowania Universal Links.I to wyjaśnia, dlaczego nie jest w dokumentach –

Odpowiedz

0

Jak wspomniano powyżej st.derrick, jest to zachowanie na miejscu dla linków Universal. Jeśli wcześniej zostałeś przekierowany do aplikacji z linku, ale potem zostaniesz przeniesiony na stronę internetową, gdy zostaniesz poproszony o długie naciśnięcie, funkcjonalność otwierania aplikacji zostanie przerwana. Możesz temu zaradzić, naciskając ponownie i wybierając opcję otwierania aplikacji. To nie jest idealne rozwiązanie, ale jest to jedyny sposób, w jaki widziałem, że został naprawiony. Mam nadzieję, że to pomoże!

4

Nie jestem pewien, kiedy Apple dodanych w tym do ich dokumentacji, ale to wyjaśnione na ich Support Universal Links strony, w pierwszej nuty:

W iOS 9 i później, uniwersalne łącza pozwala użytkownikom otwierać aplikacjach, gdy dotykają one linków do Twojej witryny w obrębie widoków WKWebView i UIWebView i Safari, a także linków, które powodują wywołanie openURL:, takich jak te, które występują w Poczcie, Wiadomościach i innych aplikacjach.

Gdy użytkownik przegląda witrynę w Safari i wybiera uniwersalny link do adresu URL w tej samej domenie co bieżąca strona internetowa, iOS szanuje najbardziej prawdopodobne intencje użytkownika i otwiera łącze w Safari. Jeśli użytkownik wybierze link uniwersalny do adresu URL w innej domenie, iOS otworzy link w aplikacji.

Dla użytkowników, którzy korzystają z wersji systemu iOS wcześniejszej niż 9.0, naciśnięcie uniwersalnego linku do witryny otwiera łącze w Safari.

(podkreślenie dodane)

Zasadniczo, gdy użytkownik osiągnie strony hostowane na domenie w Safari, wszelkie odnośniki następują one w domenie zostaną otwarte w Safari, nawet jeśli są one zdefiniowane jako uniwersalny Linki według Twojej aplikacji.

+0

Uważam, że założenie "najbardziej prawdopodobnego zamiaru użytkownika" jest po prostu głupie i uciążliwe. Programista definiuje określone ścieżki, które działają jako wyzwalacze dla łączy uniwersalnych. Deweloper umieszcza linki, które mają otworzyć aplikację. Kto szanuje dewelopera? Wiem, kto nie. – jox

Powiązane problemy