Come aprire un’app Android dal browser

Nov 29, 2021
admin

Aprire un’app installata da un browser è spesso definito “deep linking”, e con questa guida imparerai a fare un deep linking nella tua app Android. Ci concentreremo esclusivamente su come attivare l’apertura di un’app da una pagina web, piuttosto che dal click di un link all’interno di altre app. Per uno sguardo più dettagliato a tutti i diversi standard di deep linking necessari per una copertura completa di Android, consulta la nostra serie Android deep linking: Parte 1, Parte 2, Parte 3, e Parte 4.

Android è, di gran lunga, una delle piattaforme più frammentate che gli sviluppatori abbiano mai dovuto gestire, a causa della decisione di Google di costringere i produttori di dispositivi ad essere responsabili del porting del sistema operativo, che richiede compatibilità all’indietro e supporto di una moltitudine di dispositivi. In questo ecosistema, noi, gli sviluppatori di app, siamo lasciati a raccogliere i pezzi. Il deep linking su Android purtroppo non è diverso: nel corso degli anni, abbiamo visto una pletora di requisiti tecnici che devono essere utilizzati a seconda delle circostanze e del contesto dell’utente.

Nota che Branch implementerà tutta questa complessità per te, ospiterà i deep link e ti darà anche una solida analisi dietro i clic, le aperture delle app e gli eventi down funnel. Puoi giocare gratuitamente con i link di Branch iscrivendoti qui. Consigliamo vivamente di usare i nostri strumenti invece di provare a ricostruirli da zero, dato che li diamo tutti gratis.

Panoramica delle modifiche

Ci sono due posti dove è necessario apportare modifiche per aprire con successo la tua app Android: il tuo sito web e la tua app Android. Puoi trovare i dettagli di ogni cambiamento nelle sezioni corrispondenti qui sotto.

Aggiungimento del supporto per gli schemi URI alla tua app

Uno schema URI può essere qualsiasi stringa senza caratteri speciali, come http, pinterest, fb o myapp. Una volta registrato, se aggiungi :// alla fine (ad esempio pinterest://) e clicchi su questo link, si aprirà l’app Pinterest. Se l’app Pinterest non è installata, vedrai un errore ‘Page Not Found’.

È semplice configurare la tua app per uno schema URI. Per iniziare, devi scegliere un’attività all’interno della tua app che vorresti aprire quando lo schema URI viene attivato, e registrare un filtro intenzionale per essa. Aggiungi il seguente codice all’interno del tag <activity /> del tuo manifest che corrisponde all’attività che vuoi aprire.

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

Puoi cambiare il tuo_uri_schema con lo schema URI che desideri. Idealmente, vuoi che sia unico. Se si sovrappone allo schema URI di un’altra app, l’utente vedrà un selezionatore Android quando clicca sul link. Lo vedi spesso quando hai più browser installati, poiché tutti si registrano per l’URI http.

In seguito, vorrai confermare che la tua app è stata aperta dallo schema URI. Per gestire il deep link nell’app, hai semplicemente bisogno di afferrare la stringa di dati dell’intento nell’attività che è stata aperta tramite il clic. Di seguito un esempio:

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

Da qui, dovrai fare il parsing delle stringhe per leggere i valori aggiunti allo schema URI che saranno molto specifici per il tuo caso d’uso e l’implementazione.

Aggiungere Javascript al tuo sito web per aprire la tua app

Ora che la tua app Android è pronta per essere attivata da uno schema URI, la parte successiva è semplice. Hai solo bisogno di aggiungere un po’ di Javascript al tuo sito web che attiverà automaticamente l’apertura della tua app. La funzione qui sotto, triggerAppOpen, tenterà di aprire lo schema URI della tua app una volta che avrai sostituito your_uri_scheme con quello che hai aggiunto nel manifest di cui sopra.

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

Potresti chiamare triggerAppOpen in window.onload se vuoi farlo al caricamento della pagina, o potresti renderlo l’onclick di un link da qualche parte sul tuo sito. Entrambe le cose funzionano e otterrai i risultati desiderati.

Android è incredibilmente complicato, e ci sono casi limite ovunque. Penserete che tutto stia andando bene fino a quando non avrete quell’utente che si lamenta che i suoi link non funzionano su Facebook con Android 4.4.4. Ecco perché dovreste usare uno strumento come Branch: per risparmiarvi questo incubo e garantire che i vostri link funzionino ovunque. Assicurati di richiedere una demo di Branch se sei interessato a saperne di più.

Branch fornisce la principale piattaforma di collegamento e attribuzione multipiattaforma, offrendo soluzioni che unificano l’esperienza dell’utente e la misurazione attraverso dispositivi e canali. Branch alimenta i collegamenti mobili e la misurazione multipiattaforma per più di 3 miliardi di utenti mensili in tutto il mondo, ed è stato scelto da oltre 75.000 applicazioni dal 2014 – tra cui Adobe, BuzzFeed, Yelp, e molti altri. Scopri di più su Branch o contatta le vendite oggi stesso.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.