Anzeige
Anzeige

So werden App-Indexierung und Deep-Linking richtig umgesetzt: Direkt in die App

Mit indexierten Apps ist es Nutzern möglich, direkt über die Google-Suchergebnisse auf Apps in den Stores (App-Packs) und bereits installierte Mobile-Apps (Deep-Links) zuzugreifen. Damit können Anbieter und Entwickler die User Experience ihrer Applikationen erheblich verbessern. Für die Verknüpfung zwischen iOS- oder Android-App und Website müssen Entwickler bei der Implementierung ein paar Dinge beachten.

5 Min.
Artikel merken
Anzeige
Anzeige

Nachdem sich der erste Teil in der vorigen Ausgabe (t3n 42) mit den Grundlagen der App-Indexierung beschäftigt hat, geht es in diesem zweiten Artikel zum Thema App-Indexierung um die technische Umsetzung. Um eine App-Indexierung korrekt zu implementieren, sind nämlich mehrere Schritte erforderlich:

  1. Deep-Links implementieren: Nicht jede App lässt sich von Beginn an indexieren. Entwickler müssen vielmehr die Deep-Links vorbereiten, die eine Website mit einer App verknüpfen, sodass Google die App-Inhalte erkennt.
  2. Integration im Quellcode: Erst wenn die Deep-Links auch auf der Website verankert sind, können Nutzer Apps aus den mobilen Google-Suchergebnissen ohne den Umweg über die mobile Website aufrufen.
  3. Privat-Index optimieren: Nach der Optimierung des Privat-Index können Android- und iOS-App-Anwender Inhalte auf App-Seiten suchen.

Deep-Links implementieren

Anzeige
Anzeige

App-Entwickler müssen bei der Programmierung einige Anpassungen vornehmen, damit Android- und iOS-Apps richtig mit Deep-Links umgehen können und die App-Indexierung funktioniert.

URL-Schemata wählen

Mittels URL-Schemata lassen sich die Unterseiten einer App per Deep-Link strukturiert und systematisch mit entsprechenden URLs verknüpfen. Dafür gibt es zwei verschiedene URL-Schemata:

Anzeige
Anzeige
http-URL-Schema
iOS: Apple unterstützt das http-URL-Schema nicht Android: http://example.com//deep-link (Beispiel)
Custom-URL-Schema
iOS: example.com//deep-link (Beispiel) Android: example.com//deep-link (Beispiel)

Seit der Einführung von iOS 9 unterstützt Apple das Custom-URL-Schema für neue iOS-Versionen nicht mehr. Das Unternehmen hat es durch Universal Links ersetzt.

Anzeige
Anzeige
Wenn eine App richtig indexiert ist, können Nutzer wählen, ob sie bestimmte Inhalte in einer App oder im Browser öffnen möchten, hier als Beispiel die Information von Wikipedia. Auf diese Weise können Entwickler die User Experience in Bezug auf ihre Inhalte und Angebote verbessern.
Wenn eine App richtig indexiert ist, können Nutzer wählen, ob sie bestimmte Inhalte in einer App oder im Browser öffnen möchten, hier als Beispiel die Information von Wikipedia. Auf diese Weise können Entwickler die User Experience in Bezug auf ihre Inhalte und Angebote verbessern.

URL-Schema in der App unterstützen

Da Android- und iOS-Apps auf verschiedenen Frameworks basieren, müssen Entwickler sicherstellen, dass das von ihnen gewählte App-Schema in der App hinterlegt ist:

iOS Android
Die Unterstützung von Custom-URLs über die Info.plist-Datei einrichten. Den Support des „gsd-{scheme}“-Schemas gewährleisten (siehe auch „Back Bar bereitstellen“) Intent-Filter des Android-Manifests (AndroidManifest.xml) einrichten. Er zeigt Android, welche App für welche Nutzerintention relevant ist, und ermöglicht so die Kommunikation mit anderen Apps.

CocoaPods (iOS) einrichten

Für die App-Indexierung unter iOS [1] müssen Programmierer auf das CocoaPods-Management-Tool ausweichen, das die Kommunikation zwischen iOS-Apps und dem Google SDK ermöglicht.

Anzeige
Anzeige
iOS Android
CocoaPods installieren und „GoogleAppIndexing“-Pods innerhalb des Podfiles einrichten. Keine Schritte erforderlich: Android-Apps kommunizieren direkt mit dem Google SDK.

Back Bar bereitstellen

Da iPhones und iPads keine Hardware-Tasten haben, haben sie auch keinen Zurück-Button, der für viele Interaktionen in einer App von Bedeutung ist. Daher ist ein Workaround erforderlich, der die Zurück-Navigation nach dem Klick auf einen Deep-Link aus den Google-Suchergebnissen ermöglicht.

Die Konfiguration in der Info.plist-Datei sowie die Implementierung eines Code-Snippets gewährleisten, dass die App mit Google kommunizieren kann.

Indexierungs-Management

Wie auch bei Websites können App-Entwickler gewisse App-Screens von der Indexierung ausschließen. Aktuell gibt es diese Funktionalität allerdings nur unter Android.

Anzeige
Anzeige
iOS Android
Separates Indexierungs-Management ist aktuell nicht möglich. noindex.xml-Datei mit den URLs der App-Screens erstellen, die von der Indexierung ausgeschlossen sein sollen. Die Datei im Resources-Verzeichnis hinterlegen (res/xml/noindex.xml).

Integration im Quellcode

Damit Google eine App korrekt indexieren kann, müssen App-Entwickler die Website mit der App im Website-Quellcode verknüpfen. Diese Deep-Links leitet man jeweils mit „android-app“ oder „ios-app“ ein. Um die korrekte Implementierung zu testen, bietet Google ein Test-Tool für Deep-Links [2]
[3].

iOS Android
ios-app://{itunes_id}/{scheme}/{host_path} androidapp://{package_name}/{scheme}/{host_
path}
{package-name} = iTunes-ID /
{scheme} = Definiertes URL-Schema /
{host_path} = App-Screen-Unterseite
{package-name} = Google Play Application-ID /
{scheme} = Definiertes URL-Schema /
{host_path} = App-Screen-Unterseite
Beispiel:
URL-Schema: example://hello-screen,
Deep-Link: ios-app://123456/example/hello-screen
Beispiel:
URL-Schema: http://example.com/hello-screen,
Deep-Link: androidapp://com.GooglePlayAppID.android/http/example.com/hello-screen
Beispiel:
URL-Schema: example://hello-screen,
Deep-Link: android-app://com.
GooglePlayAppID.android/example/hell
o-screen

Die Deep-URLs lassen sich auf drei unterschiedliche Arten im Quellcode einer Website implementieren:

1. rel="alternate" im HTML-<head>
<link rel="alternate" href="android-app://com.google.android.youtube/http/www.youtube.com/" />
<link rel="alternate" href="ios-app://544007664/vnd.youtube/www.youtube.com/" />

Listing 1

2. rel="alternate" über XML-Sitemap
<url>
  <loc>http://example.com/gizmos</loc>
  <xhtml:link rel="alternate" href="android-app://com.google.android.youtube/http/www.youtube.com/" />
  <xhtml:link rel="alternate" href="ios-app://544007664/vnd.youtube/www.youtube.com/" />
</url>

Listing 2

3. ViewAction-Markup-Auszeichnung nach schema.org
<Script Type="Application/Ld+Json">
{
  "@Context": "Http://Schema.Org", 
  "@Type": "WebPage", 
  "@Id": "Http://Example.Com/Gizmos", 
  "PotentialAction": {
    "@Type": "ViewAction", 
    "Target": "Android-App://Com.Example.Android/Http/Example.Com/Gizmos"
  }
}
</Script>

Listing 3

Den Private Index optimieren

Der Private Index ist ein benutzerdefinierter Index, den Google und Apple verwenden, um private Daten in einer mobilen App zu durchsuchen. App-Anwender können In-App-Inhalte damit per Google Now, Apples Spotlight oder Siri finden. Entwickler können damit die User Retention verbessern, was sich positiv auf das Ranking im App Store auswirken kann.

Anzeige
Anzeige
iOS Android
NSUserActivities als public-Variable definieren, um die App-Screens durch Apple zu indexieren und für den Private Index zu öffnen. Googles App-Indexing-API implementieren und Activity-Markups nutzen. Jede App-Seite, die der App-Nutzer besucht, landet dann im Private Index und lässt sich durchsuchen.
Ein optimierter Private Index zeigt App-Content im Suchverlauf und bei Google Now.
Ein optimierter Private Index zeigt App-Content im Suchverlauf und bei Google Now.

Mögliche Fehlerquellen

Google ist stets bemüht, Entwicklern bei Problemen zu helfen und Fehlern vorzubeugen. Die Google Search Console ist dabei die zentrale Anlaufstelle [4]. Crawling-Fehler der App geben Aufschluss über Art und Häufigkeit der Probleme:

  • App nicht gefunden: Google konnte die App nicht im Google Play Store finden.
  • URL nicht unterstützt: Die hinterlegte URL ist fehlerhaft, die App lässt sich nicht starten.
  • Nicht übereinstimmender Inhalt: Der Inhalt der App stimmt nicht mit dem Inhalt der Website überein. Dies kann entweder an einem fehlerhaft implementierten Deep Link liegen oder daran, dass sich der Inhalt der App zu stark von dem der Website unterscheidet.
  • Verstoß gegen Regeln bezüglich der Back Bar: Der Nutzer kann nicht zu den Suchergebnissen zurückkehren oder gelangt bei Klick auf die Back Bar auf eine andere Seite.
  • Aus Index entfernt: Die App-Seiten entsprechen nicht den Google-Standards. Nutzer finden auf der App-Seite nicht, wonach sie suchen. Google indexiert die App-Seite daher nicht.

Bing, Apple und Co.

Auch andere große Unternehmen legen ihren Fokus auf Mobile Web und Apps. So kündigte Bing im Mai 2015 an [5], in Zukunft die Verknüpfung zwischen Apps und Websites zu erlauben, um einerseits ein besseres mobiles Nutzererlebnis zu gewährleisten und andererseits ebenfalls App-Installationen durch eine bessere Darstellung in der Suche zu ermöglichen.

Facebook gibt Entwicklern bereits seit 2014 [6] die Möglichkeit, Websites mit einer App zu verknüpfen. Somit können Mobile-Nutzer eine installierte App direkt starten, ohne zuvor den Browser aufrufen und die mobile Website laden zu müssen.

Anzeige
Anzeige

Apple hat mit der Einführung von iOS 9 und der Vorstellung der neuen Such-API [7] den nächsten Schritt für ein besseres Sucherlebnis auf den iOS-Geräten getan. Mit der API und der neuen In-App-Suche können Entwickler App-Inhalte indexier- und durchsuchbar machen, sodass App-Nutzer über die Spotlight-Suche nach Inhalten in den installierten Apps suchen und sich den Umweg über eine Suchmaschine sparen können.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige