Sådan åbner du en Android-app fra browseren

nov 29, 2021
admin

Opning af en installeret app fra en browser kaldes ofte “deep linking”, og med denne vejledning lærer du, hvordan du selv kan lave deep linking til din Android-app. Vi fokuserer udelukkende på, hvordan du udløser en appåbning fra en webside og ikke fra et klik på et link inde i andre apps. Hvis du vil have et mere detaljeret kig på alle de forskellige standarder for deep linking, der er nødvendige for fuldstændig dækning af Android, kan du se vores serie om Android deep linking: Del 1, del 2, del 3 og del 4.

Android er uden sammenligning en af de mest fragmenterede platforme, som udviklere nogensinde har skullet håndtere, på grund af Googles beslutning om at tvinge producenterne af enheder til at være ansvarlige for portering af styresystemet, hvilket kræver bagudkompatibilitet og understøttelse af et væld af enheder. I dette økosystem er det os app-udviklere, der må samle stumperne op. Deep linking på Android er desværre ikke anderledes – i løbet af årene har vi set et væld af tekniske krav, der skal bruges afhængigt af brugerens omstændigheder og kontekst.

Bemærk, at Branch vil implementere al denne kompleksitet for dig, hoste deep links og endda give dig robuste analyser bag klik, app-åbninger og begivenheder i nedadgående tragt. Du kan lege gratis rundt med Branch-links ved at tilmelde dig her. Vi anbefaler stærkt at bruge vores værktøjer i stedet for at forsøge at genopbygge dem fra bunden, da vi giver dem alle gratis væk.

Oversigt over ændringer

Der er to steder, hvor der skal foretages ændringer for at få succesfuldt åbnet din Android-app: dit websted og din Android-app. Du kan finde detaljerne for hver ændring i de tilsvarende afsnit nedenfor.

Optagelse af understøttelse af URI-skemaer i din app

Et URI-skema kan være en hvilken som helst streng uden specialtegn, f.eks. http, pinterest, fb eller myapp. Når du er registreret, hvis du tilføjer :// til slutningen (f.eks. pinterest://) og klikker på dette link, åbnes Pinterest-appen. Hvis Pinterest-appen ikke er installeret, vises en fejlmeddelelse “Page Not Found”.

Det er nemt at konfigurere din app til et URI-skema. Til at begynde med skal du vælge en aktivitet i din app, som du gerne vil åbne, når URI-ordningen udløses, og registrere et intenstfilter for den. Tilføj følgende kode inden for <activity />-tagget i dit manifest, der svarer til den aktivitet, du vil åbne.

<intent-filter><data android:scheme="your_uri_scheme" /><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /></intent-filter>

Du kan ændre your_uri_scheme til det URI-skema, du ønsker. Ideelt set ønsker du, at dette skal være unikt. Hvis det overlapper med en anden app’s URI-skema, vil brugeren se en Android-vælger, når han eller hun klikker på linket. Du ser dette ofte, når du har flere browsere installeret, da de alle registrerer sig for http-URI’en.

Næst skal du bekræfte, at din app blev åbnet fra URI-skemaet. For at håndtere det dybe link i appen skal du blot hente intent-datastrengen i den aktivitet, der blev åbnet via et klik. Nedenfor er et eksempel:

Uri data = this.getIntent().getData();if (data != null && data.isHierarchical()) {String uri = this.getIntent().getDataString();Log.i("MyApp", "Deep link clicked " + uri);}

Herfra skal du foretage strengparsering for at læse de værdier, der er vedhæftet URI-skemaet, som vil være meget specifikke for din brugssituation og implementering.

Tilføjelse af Javascript til dit websted for at åbne din app

Nu, hvor din Android-app er klar til at blive udløst fra et URI-skema, er den næste del enkel. Du skal blot tilføje noget Javascript til dit websted, som automatisk vil udløse din app-åbning. Funktionen nedenfor, triggerAppOpen, vil forsøge at åbne din app’s URI-skema, når du erstatter your_uri_scheme med det, du har tilføjet i manifestet ovenfor.

var fallbackToStore = function() { window.location.replace('market://details?id=com.myapp.package');};var openApp = function() { window.location.replace('your_uri_scheme://');};var triggerAppOpen = function() { openApp(); setTimeout(fallbackToStore, 250);};

Du kunne kalde triggerAppOpen i window.onload, hvis du ville gøre det ved indlæsning af siden, eller du kunne gøre det til onclick på et link et sted på dit websted. Begge dele virker, og du får de ønskede resultater.

Android er utroligt kompliceret, og der er edge cases overalt. Du vil tro, at alt går godt, indtil du får den ene bruger, der klager over, at hans links ikke virker på Facebook, mens han kører Android 4.4.4.4. Det er derfor, du bør bruge et værktøj som Branch – for at spare dig for dette mareridt og sikre, at dine links virker overalt. Husk at anmode om en Branch-demo, hvis du er interesseret i at få mere at vide.

Branch leverer den førende platform for linking og attribution på tværs af platforme og tilbyder løsninger, der forener brugeroplevelse og måling på tværs af enheder og kanaler. Branch driver mobile links og måling på tværs af platforme til mere end 3 milliarder månedlige brugere over hele verden, og er blevet valgt af over 75.000 apps siden 2014 – herunder Adobe, BuzzFeed, Yelp og mange flere. Få mere at vide om Branch, eller kontakt salg i dag.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.