Hoe een Android app te openen vanuit de browser

nov 29, 2021
admin

Het openen van een geïnstalleerde app vanuit een browser wordt vaak aangeduid als “deep linking”, en met deze gids leert u hoe u zelf kunt deeplinken naar uw Android app. We zullen ons uitsluitend richten op hoe je een app kunt laten openen vanaf een websitepagina, in plaats van door te klikken op een link in andere apps. Voor een meer gedetailleerde kijk op alle van de verschillende deep linking normen die nodig zijn voor een volledige Android dekking, zie onze Android deep linking serie: Deel 1, Deel 2, Deel 3, en Deel 4.

Android is, veruit, een van de meest gefragmenteerde platforms die ontwikkelaars ooit hebben moeten beheren, als gevolg van Google’s beslissing om fabrikanten van apparaten te dwingen verantwoordelijk te zijn voor het porten van het OS, dat achterwaartse compatibiliteit en ondersteuning van een veelheid van apparaten vereist. In dit ecosysteem moeten wij, de app-ontwikkelaars, de brokken lijmen. Deep linking op Android is helaas niet anders – in de loop der jaren hebben we een overvloed aan technische vereisten gezien die moeten worden gebruikt afhankelijk van de omstandigheden en context van de gebruiker.

Merk op dat Branch al deze complexiteit voor je implementeert, de deep links host en je zelfs robuuste analyses geeft achter klikken, app-openingen en down funnel-events. Je kunt gratis met Branch-links spelen door je hier aan te melden. We raden je ten zeerste aan onze tools te gebruiken in plaats van te proberen ze vanaf nul opnieuw op te bouwen, omdat we ze allemaal gratis weggeven.

Overzicht van wijzigingen

Er zijn twee plaatsen waar wijzigingen moeten worden aangebracht om uw Android app met succes te openen: uw website en uw Android app. U vindt de details van elke wijziging in de overeenkomstige secties hieronder.

Het toevoegen van ondersteuning voor URI-schema’s aan uw app

Een URI-schema kan elke string zijn zonder speciale tekens, zoals http, pinterest, fb of myapp. Eenmaal geregistreerd, als je :// toevoegt aan het einde (bijv. pinterest://) en op deze link klikt, zal de Pinterest app worden geopend. Als de Pinterest app niet is geïnstalleerd, krijg je een ‘Page Not Found’ error.

Het is eenvoudig om je app te configureren voor een URI schema. Om te beginnen moet u een activiteit binnen uw app kiezen die u wilt openen wanneer het URI-schema wordt getriggerd, en er een intentiefilter voor registreren. Voeg de volgende code toe aan de <activity /> tag in je manifest die overeenkomt met de activiteit die je wilt openen.

<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>

Je kunt je_uri_scheme veranderen in het URI-schema dat je wilt. Idealiter wil je dat dit uniek is. Als het overlapt met het URI schema van een andere app, zal de gebruiker een Android kiezer te zien krijgen als hij op de link klikt. Je ziet dit vaak als je meerdere browsers hebt geïnstalleerd, omdat ze zich allemaal registreren voor de http URI.

Volgende, zul je willen bevestigen dat je app is geopend vanuit het URI schema. Om de deep link in de app af te handelen, moet je gewoon de intent data string pakken in de Activiteit die werd geopend via de klik. Hieronder is een voorbeeld:

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

Van hier, moet je string parsing doen om de waarden te lezen die zijn toegevoegd aan het URI-schema dat zal zeer specifiek zijn voor uw use case en implementatie.

Voeg Javascript toe aan uw website om uw app te openen

Nu dat uw Android-app klaar is om te worden geactiveerd vanuit een URI-schema, het volgende deel is eenvoudig. U hoeft alleen maar wat Javascript toe te voegen aan uw website die uw app automatisch zal openen. De functie hieronder, triggerAppOpen, zal proberen om uw app URI-schema te openen zodra je vervangt your_uri_scheme met degene die u hebt toegevoegd in het manifest hierboven.

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);};

U kunt triggerAppOpen roepen in window.onload als je wilde om het te doen op de pagina te laden, of je zou kunnen maken het de onclick van een link ergens op uw site. Het werkt allebei en je krijgt de beoogde resultaten.

Android is ongelooflijk ingewikkeld, en er zijn overal randgevallen. Je denkt dat alles goed gaat totdat je die ene gebruiker krijgt die klaagt dat zijn links niet werken op Facebook terwijl hij Android 4.4.4 draait. Dat is waarom u een tool als Branch zou moeten gebruiken-om u deze nachtmerrie te besparen en ervoor te zorgen dat uw links overal werken. Zorg ervoor dat u een Branch demo aanvraagt als u geïnteresseerd bent in meer informatie.

Branch biedt het toonaangevende cross-platform linking en attributie platform, met oplossingen die gebruikerservaring en metingen over apparaten en kanalen verenigen. Branch maakt mobiele links en cross-platform metingen mogelijk voor meer dan 3 miljard maandelijkse gebruikers over de hele wereld, en is sinds 2014 geselecteerd door meer dan 75.000 apps – waaronder Adobe, BuzzFeed, Yelp, en nog veel meer. Meer informatie over Branch of neem vandaag nog contact op met sales.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.