Głębokie linki. Otwórz aplikację. Zgrabnie się wycofaj.
Manifesty Universal Links i App Links obsługiwane z Twojej niestandardowej domeny. iOS otwiera Twoją aplikację po dotknięciu; Android robi to samo. Powrót do przeglądarki na desktopie.
- Universal Links (iOS) i App Links (Android) serwowane z Twojej domeny
- Odroczone deep linki - kontekst przeżywa instalację aplikacji
- Inteligentne wykrywanie platformy ze zgrabnymi fallbackami
- Bez SDK - działa ze standardowymi mechanizmami systemu operacyjnego
Universal Links i App Links
Pliki manifest, automatycznie serwowane z Twojej domeny
iOS Universal Links wymagają pliku apple-app-site-association . Android App Links wymagają assetlinks.json. Elido generuje i serwuje oba z Twojej niestandardowej domeny automatycznie - bez osobnego hostingu, bez ręcznego zarządzania plikami.
- iOS Universal LinksBundle ID + Team ID → AASA serwowane na /.well-known/ automatycznie
- Android App LinksNazwa pakietu + odcisk SHA-256 → assetlinks.json, wymuszony HTTPS
- Fallback smart-linkAplikacja niezainstalowana → App Store / Play Store przez routing oparty na regułach
- Passthrough UTMParametry UTM zachowane w URL sklepu - atrybucja się nie psuje
- Bez SDK w Twojej aplikacjiTylko przechwytywanie na poziomie OS; intent-filter i continueUserActivity
{ "applinks": { "apps": [], "details": [ { "appID": "TEAMID.com.yours.app", "paths": [ "/product/*", "/referral/*", "/invite/*" ] } ] } }
[{ "relation": [ "delegate_permission/ common.handle_all_urls" ], "target": { "namespace": "android_app", "package_name": "com.yourcompany.app", "sha256_cert_fingerprints": [ "AB:12:CD:34:EF:56:..." ] } }]
Serwowane z Twojej niestandardowej domeny automatycznie. Skonfiguruj bundle ID + Team ID (iOS) lub nazwę pakietu + odcisk SHA-256 (Android) w ustawieniach domeny - Elido generuje i hostuje oba pliki.
Odroczone deep linki
Kontekst, który przeżywa instalację
Gdy aplikacja nie jest zainstalowana, użytkownik idzie do sklepu, instaluje i otwiera aplikację. Odroczone deep-linkowanie przekazuje oryginalny kontekst deep-linka przez tę podróż, aby aplikacja mogła sprowadzić użytkownika dokładnie na właściwy ekran po pierwszym uruchomieniu.
- 01
Klika link
Użytkownik dotyka krótkiego linku Elido - z e-maila, mediów społecznościowych, QR.
go.yourcompany.com/p/12345 - 02
Brak aplikacji → Sklep
Aplikacja niezainstalowana. OS wykrywa to z weryfikacji AASA / assetlinks. Przechodzi do App Store lub Play Store.
iOS → App Store · Android → Play Store - 03
Instaluje aplikację
Użytkownik instaluje ze sklepu. Install referrer niesie kontekst kliknięcia jako parametr query.
click_id + UTM zachowane w URL referrer'a - 04
Otwiera aplikację
Aplikacja otwiera się po raz pierwszy. MMP czyta install referrer; mapuje click_id na zdarzenie instalacji.
Appsflyer / Adjust / Branch to wychwytuje - 05
Ląduje na dokładnej stronie
Aplikacja kieruje do oryginalnie linkowanego ekranu - product/12345 - tak, jakby użytkownik już miał aplikację.
product/12345 - kontekst zachowany przez instalację
Parametr click_id i parametry UTM z oryginalnego krótkiego linku są przekazywane jako parametry query do URL sklepu. Mobile Measurement Platforms (MMP) wychwytujące install referrer - Appsflyer, Adjust, Branch - mogą dopasować instalację do oryginalnego kliknięcia. Pełne odroczone deep-linkowanie (przekazywanie kontekstu in-app przez instalację) wymaga SDK MMP w Twojej aplikacji; Elido pokrywa warstwę linków.
Inteligentne wykrywanie platformy
Jeden link. Trzy ścieżki przekierowania.
Edge czyta User-Agent i sygnały platformy w warstwie przekierowania - zanim uruchomi się jakikolwiek JS. iPhone dostaje Universal Links, Android dostaje App Links, desktop dostaje Twój web-fallback. Bez opóźnienia przekierowania JavaScript; bez wykrywania platformy po stronie klienta.
- Parsing UA na edge, sub-milisekundowy
- iOS → przechwytywanie Universal Link przez OS
- Android → przechwytywanie App Link przez intent-filter
- Desktop → URL web, bez objazdu przez sklep
- Przeglądarki in-app wykrywane i przekierowywane do przeglądarki systemowej
- Komponuje się z regułami smart-link - geo + urządzenie + deep-link
Co możesz zrobić
- Apple App Site Association
- Android Asset Links
- Zasady inteligentnych linków dla powrotu do sklepu
- Testowane z adb i xcrun
Jak naprawdę działają głębokie linki - i gdzie się psują
Universal Links i App Links to mechanizmy na poziomie systemu operacyjnego. Konfiguracja jest prosta; przypadki brzegowe nie. To zestawienie obejmuje pełny obraz.
apple-app-site-association serwowane automatycznie z Twojej własnej domeny
Universal Links wymagają pliku apple-app-site-association (AASA) pod adresem /.well-known/apple-app-site-association w Twojej własnej domenie. iOS pobiera ten plik podczas instalacji aplikacji; mapuje on domenę na bundle ID i team ID aplikacji. Jeśli mapowanie jest poprawne, kliknięcie linku HTTPS w Twojej domenie w dowolnej aplikacji iOS (Safari, Mail, Twitter, Instagram) otwiera aplikację bezpośrednio zamiast przeglądarki. Elido automatycznie generuje i serwuje plik AASA ze znanej ścieżki Twojej własnej domeny, w oparciu o bundle ID i team ID skonfigurowane w ustawieniach domeny. Nie musisz hostować pliku oddzielnie. iOS buforuje plik AASA i pobiera go okresowo; jeśli zmienisz konfigurację bundle ID w ustawieniach domeny Elido, nowy plik AASA jest aktywny w kilka sekund, ale urządzenia iOS pobiorą go przy następnym odświeżeniu pamięci podręcznej (zwykle 24-48 godzin lub przy ponownej instalacji aplikacji). Testowane pod kątem walidatora Apple AASA przy każdym wydaniu Elido.
assetlinks.json serwowany automatycznie - odcisk palca SHA-256 z Twojego klucza podpisu
Android App Links wymagają pliku Digital Asset Links pod adresem /.well-known/assetlinks.json w Twojej domenie. Plik ten mapuje domenę na nazwę pakietu aplikacji i odcisk palca SHA-256 Twojego certyfikatu podpisywania. Android weryfikuje ten plik podczas instalacji aplikacji i ponownie w regularnych odstępach czasu. Elido automatycznie serwuje go z Twojej własnej domeny, w oparciu o nazwę pakietu i odcisk SHA-256, które skonfigurujesz. Weryfikacja Androida wymaga HTTPS (wymuszanego przez TLS Elido w domenie własnej), a plik musi odpowiedzieć w ciągu kilku sekund (co również jest obsługiwane). Jeden z powszechnych błędów: różne klucze podpisywania dla wersji debug i release mają różne odciski SHA-256. Skonfiguruj oba odciski w ustawieniach domeny Elido, jeśli testujesz wersję debug; wersje produkcyjne wymagają tylko odcisku wersji release. Testowane za pomocą adb shell pm get-app-links przy każdym wydaniu.
Aplikacja zainstalowana → deep link. Aplikacja nie zainstalowana → sklep. Desktop → web. UTM zachowane przez cały czas.
Łańcuch fallback jest ustawiany na poziomie linku lub domeny w ustawieniach Elido. Dla krótkiego linku z konfiguracją deep-link: jeśli system operacyjny przechwyci kliknięcie (aplikacja zainstalowana, domena zweryfikowana), aplikacja się otwiera. Jeśli nie (aplikacja nie zainstalowana), link otwiera się w przeglądarce; miejscem docelowym w przeglądarce powinien być link do App Store / Play Store lub fallback webowy. Reguły smart-link obsługują to bezproblemowo: skonfiguruj regułę dla iOS → URL App Store, regułę dla Android → URL Play Store i fallback do docelowej strony webowej. Parametry UTM z oryginalnego krótkiego linku są zachowywane w adresach URL fallback, dzięki czemu atrybucja nie zostaje przerwana, gdy użytkownik trafi do sklepu. Odroczone deep-linking (przekazywanie konkretnej ścieżki deep-link przez instalację, tak aby aplikacja otworzyła się na właściwym ekranie po instalacji) wymaga SDK w aplikacji - Elido tego nie zapewnia. W przypadku odroczonego deep-linkingu nadal potrzebujesz Appsflyer, Adjust lub Firebase App Distribution.
Retargeting po instalacji: click_id przekazywany do celu w celu atrybucji
Przy przekierowaniu przez deep-link, Elido przekazuje click_id jako parametr zapytania do adresu URL fallback. Jeśli użytkownik wyląduje w App Store i zainstaluje aplikację, click_id znajduje się w adresie URL polecającym, ale nie jest automatycznie propagowany do aplikacji po instalacji - wymaga to SKAdNetwork na iOS lub SDK do odroczonego deep-linkingu na Androidzie. Co robi Elido: przekazuje click_id i parametry UTM do adresu URL sklepu, aby platforma atrybucji mobilnej (MMP), która rejestruje odsyłacz instalacji, mogła je pobrać. Działa to z Appsflyer i Adjust, jeśli przekażesz click_id w parametrze kampanii adresu URL sklepu. Jeśli nie korzystasz z MMP, click_id w adresie URL sklepu zostaje skutecznie utracony po instalacji.
Migracja z Firebase Dynamic Links (wycofanie w 2025)
Firebase Dynamic Links zostało wycofane przez Google w 2025 roku. Elido może obsłużyć główny schemat: pojedynczy krótki link HTTPS, który otwiera właściwy ekran w zainstalowanej aplikacji, przechodzi do sklepu lub do wersji webowej na desktopie. Skonfiguruj AASA i assetlinks.json w ustawieniach domeny Elido (zastępuje to hosting tych plików przez Firebase), zaktualizuj swoje linki do udostępniania, aby wskazywały na krótkie linki Elido zamiast adresów URL page.link, i skonfiguruj łańcuch fallback za pomocą reguł smart-link. Czego Elido nie replikuje: odroczonego deep-linkingu Firebase (kontekst deep-link po instalacji przez SDK Firebase) oraz linków do dystrybucji aplikacji Firebase. Jeśli Twoja aplikacja mocno polega na odroczonym deep-linkingu, będziesz potrzebować Appsflyer, Adjust lub Branch obok Elido dla warstwy atrybucji. Dla aplikacji, które potrzebują tylko 'otwórz właściwy ekran, jeśli zainstalowano, w przeciwnym razie idź do sklepu', Elido w pełni zastępuje Firebase Dynamic Links.
Zespoły mobilne korzystające z głębokich linków Elido
Nazwy są obecnie symboliczne - prawdziwe nazwy klientów pojawią się tutaj po opublikowaniu studiów przypadku.
“Przenieśliśmy się z Firebase Dynamic Links w tygodniu, w którym ogłoszono ich wycofanie. Konfiguracja AASA i assetlinks.json w Elido zajęła pół dnia. Łańcuch fallback smart-link zastąpił logikę SDK Firebase, którą mieliśmy w aplikacji do rutowania do sklepu.”
“Analityka kliknięć na poziomie linku w deep-linkach pokazała nam, że 35% naszych linków do udostępniania było klikanych na desktopie - nie mieliśmy skonfigurowanego fallbacku webowego. Dodanie fallbacku zajęło 10 minut; współczynnik konwersji linków wzrósł, ponieważ użytkownicy klikający z desktopu mogli teraz dokończyć działanie.”
“Używamy krótkich linków Elido z konfiguracją deep-link w programach poleceń. Przekazywanie UTM do adresu URL App Store oznacza, że nasze MMP poprawnie rejestruje odsyłacz instalacji - atrybucja działa bez niestandardowych prac nad SDK z naszej strony.”
Deep linki Elido vs Branch.io vs Adjust vs Firebase Dynamic Links (wycofane)
Branch i Adjust to pełne platformy atrybucji mobilnej - potężniejsze w przypadku odroczonego deep-linkingu i atrybucji MMP. Elido to właściwe narzędzie, gdy głębokie linki są częścią szerszej konfiguracji skracania linków, a nie głównym produktem.
| Feature | Elido | Branch.io | Adjust |
|---|---|---|---|
| Universal Links (iOS) | Automatycznie obsługiwane AASA z Twojej domeny | W pełni zarządzane w skali | Nie - tylko MMP, nie host deep-linków |
| App Links (Android) | Automatycznie obsługiwane assetlinks.json z Twojej domeny | W pełni zarządzane | Nie |
| Wymagane SDK w aplikacji | Nie - przechwytywanie na poziomie systemu | Tak - Branch SDK | Tak - Adjust SDK |
| Odroczone deep-linking | Nie - wymaga SDK w aplikacji | Tak - główna funkcja | Tak - z SDK Adjust |
| Atrybucja mobilna (MMP) | Przekazywanie Click ID; integracja MMP ręczna | Natywne MMP - integracje z Appsflyer, Kochava | Pełna platforma MMP |
| Przekazywanie UTM do sklepu | Tak - poprzez parametr zapytania w URL fallback | Tak, z kontekstem atrybucji | Tak |
| Analityka kliknięć w linki | Magazyn analityczny - lokalizacja, urządzenie, per-link | Zaawansowana analityka atrybucji mobilnej | Dane o atrybucji instalacji i zdarzeń |
| Zamiennik Firebase Dynamic Links | Tak dla podstawowych wzorców; brak odroczonych deep-linków | Pełny zamiennik, w tym odroczone linki | Częściowy - tylko strona MMP |
Pytania o głębokie linki
Czy potrzebuję SDK Branch lub jakiegokolwiek innego SDK w mojej aplikacji, aby używać głębokich linków Elido?
Nie. Głębokie linki Elido wykorzystują iOS Universal Links i Android App Links - mechanizmy na poziomie systemu operacyjnego. Twoja aplikacja musi jedynie obsługiwać przychodzące adresy URL w standardowy sposób dla iOS (scene:openURLContexts lub application:continueUserActivity) lub Androida (intent-filter w manifeście). Nie instaluje się żadnego SDK firm trzecich; system obsługuje przechwytywanie w oparciu o pliki AASA i assetlinks.json, które Elido serwuje z Twojej domeny.
Jak wygląda proces konfiguracji AASA?
W ustawieniach domeny Elido → Deep links: wprowadź bundle ID swojej aplikacji na iOS (np. com.twojafirma.app) oraz Apple Team ID (10-znakowy ciąg znaków z konta Apple Developer). Elido generuje plik JSON AASA i serwuje go pod adresem /.well-known/apple-app-site-association w Twojej własnej domenie. Przed przesłaniem aplikacji do TestFlight lub App Store sprawdź dostępność pliku za pomocą curl. iOS pobiera plik AASA podczas instalacji aplikacji na urządzeniach z systemem iOS 9+.
Czy mogę mieć wiele aplikacji w jednej domenie?
Tak - plik AASA obsługuje wiele wpisów aplikacji. Skonfiguruj bundle ID i Team ID każdej aplikacji w ustawieniach domeny; Elido wygeneruje połączony plik AASA ze wszystkimi wymienionymi aplikacjami. Android assetlinks.json również obsługuje wiele kombinacji nazwy pakietu i odcisku palca. Typowy przypadek użycia: główna aplikacja i App Clip lub główna aplikacja i rozszerzenie widżetu.
Wycofanie Firebase Dynamic Links - jaka jest ścieżka migracji?
Zastąp krótkie adresy URL page.link krótkimi linkami Elido (Twoja domena własna lub domena współdzielona Elido). Skonfiguruj AASA i assetlinks.json w ustawieniach domeny Elido. Skonfiguruj łańcuch fallback za pomocą reguł smart-link (reguła iOS → App Store, reguła Android → Play Store, fallback → web). Zaktualizuj generowanie linków do udostępniania w swojej aplikacji, aby wywoływało API create_link Elido zamiast Firebase. Co nie podlega migracji: jeśli Twoja aplikacja polega na odroczonym deep-linkingu Firebase (przekazywanie intencji po instalacji), będziesz potrzebować Branch lub Adjust do obsługi tego elementu.
Jak przetestować Universal Links przed opublikowaniem w App Store?
Użyj xcrun simctl openurl booted 'https://go.twojafirma.com/test-slug' z zainstalowaną aplikacją na symulatorze. Na fizycznym urządzeniu z wersją debug długo naciśnij link w Safari i sprawdź, czy pojawia się opcja 'Otwórz w aplikacji'. Apple udostępnia również narzędzie App Association File Validator na stronie developer.apple.com - wklej adres URL swojego AASA, a narzędzie sprawdzi dostępność, Content-Type i poprawność JSON. AASA Elido przechodzi wszystkie trzy testy.
Co to jest odroczone deep-linking i dlaczego Elido tego nie robi?
Odroczone deep-linking (deferred deep-linking) przekazuje kontekst (np. 'użytkownik przeglądał produkt o ID 123') od kliknięcia w link przez proces instalacji aż do pierwszego uruchomienia aplikacji. Wymaga to SDK do fingerprintingu lub atrybucji w aplikacji (Branch, Appsflyer, Adjust), które dopasowuje instalację do kliknięcia podczas procesu instalacji. Elido nie instaluje kodu SDK w Twojej aplikacji; jedynie serwujemy pliki AASA i assetlinks.json. Bez SDK nie ma mechanizmu przekazywania kontekstu przez instalację. Dla podstawowego przypadku 'otwórz właściwy ekran, jeśli zainstalowano', Elido jest wystarczające. Do przekazywania intencji przez instalację potrzebujesz MMP.
Czy mogę używać głębokich linków w domenie współdzielonej Elido (s.elido.me)?
Nie. Universal Links i App Links wymagają Twojej własnej domeny - nie możesz zgłosić *.elido.me jako domeny Universal Link dla swojej aplikacji. Głębokie linki wymagają domeny własnej w planie Pro lub Business. Domenę własną konfigurujesz w swoim AASA i assetlinks.json, a Elido serwuje te pliki z tej właśnie domeny.
Jak obsłużyć przypadek, gdy przeglądarka użytkownika blokuje przechwycenie przez aplikację?
Niektóre przeglądarki (zwłaszcza Chrome na Androidzie w wersjach starszych niż 6.0 oraz niektóre przeglądarki wewnątrz aplikacji, jak na Instagramie) blokują przechwytywanie App Links lub Universal Links. Wtedy użytkownik widzi URL fallback. W przypadku przeglądarek wewnątrz aplikacji: przekieruj najpierw do przeglądarki systemowej za pomocą adresu URL intent (Android) lub monitu dla użytkownika. W przypadku przeglądarek Instagrama / TikToka standardowym podejściem jest wyświetlenie monitu 'dotknij, aby otworzyć w przeglądarce'. Elido nie wstrzykuje tego monitu automatycznie - URL fallback jest Twoim celem docelowym i to Ty kontrolujesz, co się tam dzieje.
Czytaj dalej
Konfiguracja domen własnych - wymagana dla deep-linków; AASA i assetlinks.json serwowane z Twojej nazwy hosta.
iOS → App Store, Android → Play Store, desktop → web - łańcuch fallback przy użyciu reguł smart-link.
Jak zespoły produktowe wykorzystują głębokie linki wraz z wariantami A/B i regułami smart-link.
Integracje MMP - Appsflyer, Adjust i Branch dla odroczonego deep-linkingu obok Elido.
Gotowy, aby wypróbować?
Zacznij od planu darmowego, uaktualnij, gdy będziesz potrzebować niestandardowej domeny.