Wie implementiere ich Android App Links mit Wildcard-Domains?

8

Android hat eine Anleitung zum Implementieren von App-Links. Das heißt, wenn meine App erklärt, dass es bestimmte Weblinks handhabt, und ich versuche, diesen Link in jeder anderen App zu öffnen, das System fängt das ab und bringt den Nutzer direkt zu meiner App, anstatt zum Browser, damit ich relevante Inhalte direkt in meiner App zeigen kann. Sehr praktisch.

Was mir im Leitfaden fehlt, sind zwei Dinge:

  1. So implementieren Sie App-Links mit Platzhalterdomänen. Ich möchte, dass meine App Links zu * .example.com verarbeitet, also alle Links zu subdomains von example.com (test.example.com, something.example.com usw.);

  2. So implementieren Sie App-Links nur für bestimmte Pfade auf meiner Website. Ich möchte zum Beispiel test.example.com/etwas, aber nicht test.example.com/other abfangen. Der erste sollte zu meiner App kommen, der andere zu meinem Browser;

Der entsprechende iOS-Leitfaden zeigt, dass iOS beides unterstützt Szenarien (obwohl der Wildcard-Teil aus den Dokumenten unklar war und ich mit Apple Support klären musste, dass Sie die Zuordnungsdatei in der Stammdomäne und nicht in einer Subdomäne platzieren müssen).

Können Android-App-Links Platzhalterdomänen und nur eine Teilmenge von Pfaden verwalten?

    
Jaanus 21.09.2016, 12:43
quelle

2 Antworten

9
  1. Leider scheint es, dass Android keine Platzhalterdomänen verwalten kann .

Wenn Sie sich den API-Leitfaden zum Tag data ansehen ( Ссылка ), sehen Sie, dass sie erwähnen, dass Wildcard für pathPattern und mimeType verfügbar ist, aber nicht für Host.

Die Sache ist, dass, wie von CommonsWare in einem anderen Beitrag zu diesem Thema ( Ссылка ) erklärt,

  

Die Domains werden zum Zeitpunkt der Installation überprüft und es gibt keine Möglichkeit, neue Domains hinzuzufügen, es sei denn, Sie senden eine neue Version der App mit einem neuen Manifest.

Sie müssen also alle verfügbaren Subdomains manuell auflisten und die App aktualisieren, sobald eine neue Subdomain gestartet wird.

So deklarieren Sie mehrere Subdomains:

%Vor%
  1. Ja, Sie können nur eine Teilmenge von Pfaden verwalten

Es ist die gleiche Idee, listen Sie einfach die Pfade auf, die Sie verwenden möchten, indem Sie das Pfad -Attribut verwenden (siehe auch Daten Tag API Guide oben).

Wenn Sie Abfragezeichenfolgen oder Pfadparameter verwenden, verwenden Sie vorzugsweise pathPrefix .

Falls erforderlich, können Sie hier Platzhalter verwenden, indem Sie stattdessen Pfadmuster wählen.

  

Der Pfadteil eines URI, der mit einem / beginnen muss. Das Pfadattribut gibt einen vollständigen Pfad an, der mit dem vollständigen Pfad in einem Intent-Objekt verglichen wird. Das pathPrefix-Attribut gibt einen Teilpfad an, der nur mit dem Anfangsteil des Pfads im Intent-Objekt verglichen wird. Das pathPattern-Attribut gibt einen vollständigen Pfad an, der mit dem vollständigen Pfad im Intent-Objekt verglichen wird. Es kann jedoch die folgenden Platzhalter enthalten:   Ein Sternchen ('') entspricht einer Folge von 0 bis vielen Vorkommen des unmittelbar vorhergehenden Zeichens.   Ein Punkt gefolgt von einem Stern (". ") entspricht einer beliebigen Folge von 0 bis vielen Zeichen.

Hier ein paar Beispiele:

%Vor%     
APE 25.09.2016, 23:38
quelle
3

Android kann die Wildcard-Domain als solche nicht behandeln (gemäß ihrer Dokumentation ab heute), aber dies wird Ihre Frage nach dem Einschluss und Ausschluss bestimmter / Pfade beantworten.

Um Deep Linking für URLs wie -

zu implementieren %Vor%

Ihr XML sollte ungefähr so ​​aussehen -

%Vor%

Nun, da Sie dies erreichen konnten, beschränken Sie hier den Zugriff auf Teile Ihres App-Contents -

%Vor%

Und der Manifeste Teil -

%Vor%

Weitere Einzelheiten und Erläuterungen zu diesem Beispiel finden Sie unter -

Android Deep Linking

Ich hoffe, es hilft, Happy Coding

    
bozzmob 25.09.2016 15:54
quelle

Tags und Links