Deferred Deep Link ist ein Mechanismus, der den Zielkontext einer Überleitung bewahrt, selbst wenn die App noch nicht auf dem Gerät des Benutzers installiert ist. Laut Branch Resources verarbeitet das System nach der Installation der App automatisch den gespeicherten Kontext und leitet den Benutzer zum Zielbildschirm weiter. Deferred Deep Link löst das Hauptproblem eines normalen Deep Links – die Unmöglichkeit, mit nicht installierten Apps zu arbeiten.
Wichtigste Punkte
Deferred Deep Link ist eine Art von Deep Link, der in zwei Phasen funktioniert: Zuerst klickt der Benutzer auf den Link, bevor die App installiert ist, und dann stellt das System nach Abschluss der Installation den Kontext wieder her. Ein normaler Deep Link öffnet die App nur, wenn sie bereits installiert ist, während Deferred alle Übergabeparameter speichert und sie beim ersten Start übergibt.
Die Technologie ist mit dem Wachstum des mobilen Marketings besonders gefragt geworden, wo Werbekampagnen oft auf Benutzer abzielen, die die App noch nicht installiert haben. Ohne Deferred Deep Link würde jeder solche Übergang einfach mit dem Herunterladen der App ohne jeglichen Kontext enden – der Benutzer würde auf dem Hauptbildschirm statt auf dem Zielbildschirm landen.
Ein normaler Deep Link öffnet Zielinhalte in einer bereits installierten App. Wenn die App nicht installiert ist, zeigt der Browser einen Fehler an. Deferred Deep Link funktioniert über einen Zwischenserver, der den Benutzer in den Store weiterleitet und nach der Installation die App über die gespeicherten Parameter informiert. Somit erfordert ein Deferred Link keine Vorinstallation der App und bietet eine durchgängige Benutzerreise von der Werbung zum Inhalt.
Die Verarbeitung eines Deferred Deep Links besteht aus drei Phasen. In der ersten Phase klickt der Benutzer auf den Link – der Server ermittelt, ob die App installiert ist. Wenn nicht, generiert er eine eindeutige Sitzungskennung, speichert die Übergabeparameter und leitet den Benutzer mit dieser Kennung an den App Store oder Google Play weiter.
In der zweiten Phase installiert der Benutzer die App aus dem Store. Nach der Installation und dem ersten Start kontaktiert das Plattform-SDK den Server, übermittelt die Gerätekennung und erhält die gespeicherten Übergabeparameter. In der dritten Phase verarbeitet die App die empfangenen Daten und leitet den Benutzer automatisch zum Zielbildschirm weiter.
Zum Speichern von Parametern zwischen dem Klick auf den Link und der Installation werden verschiedene Mechanismen verwendet. Auf iOS ist dies die iCloud Keychain oder die Zwischenablage, auf Android die Install Referrer API. Firebase Dynamic Links verwendet eine Kombination aus localStorage des Browsers und dem Store-Referral-Link zur Übermittlung der Sitzungskennung. Branch.io verwendet sein eigenes Protokoll mit Datensicherung in mehreren Speichern.
Auf iOS wird Deferred Deep Link durch eine Kombination von Universal Links und Shared Web Credentials implementiert. Wenn ein Benutzer auf einen Universal Link zur Website der App klickt, speichert Safari die Übergabeparameter in der iCloud Keychain, die mit der Domain der App verbunden ist. Nach der Installation der App aus dem App Store überprüft iOS das Vorhandensein gespeicherter Daten und übergibt sie beim ersten Start an die App.
Apple stellt keine integrierte API für Deferred Deep Links bereit – die Implementierung liegt vollständig bei Drittanbieter-SDKs. Firebase Dynamic Links verwendet einen passiven Deferred-Mechanismus, bei dem Daten in Browser-Cookies gespeichert und über eine Weiterleitung zu einer speziellen URL beim ersten Start der App wiederhergestellt werden.
Ab iOS 14 hat Apple die Datenschutzbestimmungen verschärft, was die Mechanismen für Deferred Deep Links beeinträchtigt hat. Die Zwischenablage kann nicht mehr zum Lesen von Daten ohne ausdrückliche Zustimmung des Benutzers verwendet werden. Auch die iCloud Keychain hat Datenvolumenbeschränkungen – nicht mehr als 4 KB pro Schreibvorgang. Dies macht Serverlösungen mit einer eindeutigen Sitzungskennung zur bevorzugten Methode für die Kontextübergabe.
Android bietet flexiblere Optionen für Deferred Deep Links über die Install Referrer API. Wenn ein Benutzer auf einen Link zu Google Play klickt, erfasst der Store den Referrer – einen String mit Übergabeparametern. Nach der Installation empfängt die App diesen String über die Install Referrer API und extrahiert daraus den Zielkontext. Dies ist der zuverlässigste Deferred-Deep-Link-Mechanismus auf Android.
Für Apps, die nicht über Google Play vertrieben werden, unterstützt Android einen Referral-BroadcastReceiver. Der Entwickler kann nach der Installation einen benutzerdefinierten Intent mit Parametern senden, und die App empfängt ihn über einen im Manifest registrierten BroadcastReceiver. Allerdings ist dieser Mechanismus weniger zuverlässig, da er von der Implementierung des Installers abhängt.
Die Install Referrer API liefert Informationen über die Installationsquelle, einschließlich Referrer-URL, Klickzeit und Installationszeit. Die maximale Länge des Referrer-Strings beträgt 8 KB, was für die Übermittlung aller erforderlichen Deep-Link-Parameter ausreicht. Die API ist auf Geräten mit Google Play Store Version 8.3.73 und höher verfügbar und wird auf Android 5.0 (API 21) unterstützt.
Firebase Dynamic Links ist das beliebteste kostenlose Tool zur Implementierung von Deferred Deep Links auf beiden Plattformen. Firebase verarbeitet automatisch alle Phasen des Deferred-Übergangs: Weiterleitung zum Store bei fehlender App, Speicherung von Parametern auf dem Firebase-Server und deren Übergabe an das SDK beim ersten Start der App.
Zur Implementierung integrieren Sie einfach das Firebase SDK in das Projekt und erstellen über die Firebase Console einen Dynamic Link mit Angabe des Deep Links und der Kampagnenparameter. Das Firebase SDK wird automatisch beim Start der App aufgerufen und prüft über die Methode getDynamicLink() auf eingehende Dynamic Links.
Beispiel für die Verarbeitung eines verzögerten Firebase Dynamic Links in einer Activity in Kotlin. Der Code funktioniert sowohl für den Kaltstart als auch für den Warmstart beim Starten der App.
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
checkDeferredLink()
}
private fun checkDeferredLink() {
FirebaseDynamicLinks.getInstance()
.getDynamicLink(intent)
.addOnSuccessListener link ->
val deferredLink = link?.link.toString()
if (deferredLink.isNotEmpty()) {
navigateToContent(deferredLink)
}
}
}
}
Die Methode getDynamicLink() gibt eine PendingTask mit einem DynamicLink-Objekt zurück. Wenn die App nach dem Klick auf den Link installiert wurde, empfängt der Listener Daten mit Parametern. Wenn die App vor dem Übergang bereits installiert war, gibt die Methode dieselben Daten wie bei einem normalen Deep Link zurück. Das Flag minimumAppVersion in den Link-Parametern ermöglicht die Festlegung der Mindest-App-Version für die Verarbeitung.
Deferred Deep Link bietet erhebliche Vorteile für Marketingkampagnen: Der Benutzer erhält Zielinhalte nach der Installation ohne zusätzliche Schritte, was die Konversion und Bindung erhöht. Für Empfehlungsprogramme ermöglichen Deferred Links eine eindeutige Verknüpfung der Einladung mit der Installation und den Aktionen neuer Benutzer.
Allerdings hat die Technologie auch Einschränkungen. Deferred Deep Link funktioniert nicht in Browsern, die Drittanbieter-Cookies blockieren, und auf iOS ab Version 14 ist eine zusätzliche Konfiguration für die iCloud Keychain erforderlich. Darüber hinaus können zwischen dem Klick auf den Link und der Installation mehrere Tage vergehen, und nicht alle SDKs garantieren die Datenspeicherung für einen solchen Zeitraum.
Deferred Deep Link ist obligatorisch für Werbekampagnen, die auf neue Benutzer abzielen, E-Mail-Newsletter mit Einladungen und Empfehlungsprogramme. Für bereits installierte Benutzer reicht ein normaler Deep Link aus. Wenn die App keine Marketingkampagnen oder Empfehlungsmechanismen verwendet, ist Deferred Deep Link nicht erforderlich – Universal Links und App Links reichen aus.
Berücksichtigen Sie bei der Wahl der Implementierung die Kosten: Firebase Dynamic Links ist kostenlos, bietet aber nur begrenzte Analysen. Branch.io und AppsFlyer bieten erweiterte Attribution, erfordern jedoch ein Abonnement. Für kleine Projekte ist Firebase die optimale Lösung, für Unternehmen mit Dutzenden von Werbekanälen sind kommerzielle MMPs die Wahl.
Häufig gestellte Fragen
Ein normaler Deep Link erfordert eine installierte App und öffnet diese direkt. Deferred Deep Link funktioniert auch, wenn die App nicht installiert ist – er leitet zum Store weiter und stellt nach der Installation den Übergangskontext wieder her und öffnet den Zielbildschirm.
Die Speicherdauer hängt von der Plattform ab. Firebase Dynamic Links speichert Parameter bis zu 30 Tagen. Branch.io bewahrt Daten bis zu 90 Tagen auf. Auf Android speichert die Install Referrer API den Referrer-String bis zum ersten Auslesen durch die App, jedoch nicht länger als 90 Tage.
Auf dem Desktop macht Deferred Deep Link keinen Sinn, da die App nicht über einen Store auf einem Computer installiert werden kann. Beim Klick auf einen Link vom Desktop aus sieht der Benutzer eine Fallback-URL – eine Webversion des Inhalts oder eine Seite mit einem QR-Code zur Installation auf einem mobilen Gerät.
Chrome, Safari und Samsung Internet unterstützen Deferred Deep Links über Cookie- und localStorage-Mechanismen. Firefox hat aufgrund seiner strengen Drittanbieter-Cookie-Blockierungsrichtlinie eingeschränkte Unterstützung. Für eine maximale Abdeckung wird die Verwendung des Firebase- oder Branch.io-SDK empfohlen.
Technisch gesehen kann eine eigenständige Lösung über einen Zwischenserver und Empfehlungsmechanismen implementiert werden. Dies erfordert jedoch die Entwicklung und Wartung einer Serverinfrastruktur, die Handhabung von Cookies, die Integration mit jedem Store und die Lösung von Problemen auf verschiedenen Plattformen. Fertige Firebase- und Branch.io-SDKs beschleunigen die Entwicklung um ein Vielfaches.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch