Tutto quello che devi sapere su Mobile Deep Link

Pubblicato: 2017-02-14

Sommario

Quando si tratta di deep link, non molte persone sanno di cosa si tratta. È l'eroe sconosciuto del mondo della tecnologia. Eppure le persone lo usano tutti i giorni senza rendersi conto della sua esistenza, o forse non sanno che ha un nome. In questo post, otterrai alcune idee di base su cos'è il deep link e su come viene applicato sui dispositivi mobili.

Cos'è il deep link?

Il deep linking è una metodologia per avviare un'applicazione mobile nativa tramite un collegamento.

Deep link fa esattamente quello che dice: porta gli utenti in profondità all'interno di un sito Web/applicazione con un collegamento. Su desktop, il deep linking è l'uso di un collegamento ipertestuale che collega a un contenuto specifico all'interno di un sito Web (ad esempio, "http://example.com/path/page"), anziché alla home page del sito Web (ad esempio, "http:/ /esempio.com/"). Sui dispositivi mobili, il deep linking utilizza un URI ( Uniform Resource Identifier ) ​​che si collega a una posizione specifica all'interno di un'app mobile invece di avviare semplicemente l'app. In questa serie, ci concentriamo solo sul deep linking mobile.

Quindi stai navigando in Internet sul tuo telefonino. Cerchi "Facebook" su Google e il primo risultato punta alla home page di Facebook. Tocchi quel link e invece di essere reindirizzato alla home page di Facebook, si apre l'app Facebook sul tuo cellulare. Fondamentalmente è così che funziona il deep linking mobile.

collegamento diretto mobile

L'abilitazione del collegamento diretto per un'applicazione mobile ti consentirà di richiamare collegamenti diretti che aprono un'app e avviano schermate specifiche e definite all'interno dell'app, come la home page, le pagine dei prodotti e il carrello degli acquisti, proprio come faresti su un sito Web.
Il deeplinking è particolarmente utile per le iniziative promozionali perché consente a te e a qualsiasi terza parte di aprire l'app quando si fa clic su un collegamento, anziché indirizzare a un sito Web o all'elenco della tua app sull'App Store iOS o su Google Play.

3 tipi di deep link

1. Collegamenti profondi tradizionali

legame profondo tradizionale

I collegamenti diretti tradizionali possono indirizzare gli utenti al contenuto dell'app purché l'app sia già installata quando il collegamento viene aperto. Ciò significa che i collegamenti diretti tradizionali non funzionano se l'utente non dispone dell'app e mostreranno un errore o una pagina di fallback.

2. Collegamenti profondi differiti

collegamento profondo differito

I collegamenti diretti posticipati possono indirizzare gli utenti al contenuto anche se l'app non è installata quando il collegamento viene aperto. Il collegamento reindirizzerà prima all'App Store o al Play Store per scaricare l'app, quindi porterà l'utente al contenuto "differito" specifico subito dopo il primo avvio.

3. Collegamenti profondi contestuali

I deep link contestuali hanno tutte le funzionalità dei deep link differiti e molto altro ancora. I deep link contestuali memorizzano informazioni su dove un utente vuole andare, dove è stato cliccato il link, chi ha originariamente condiviso il link e una quantità quasi illimitata di dati personalizzati.

I collegamenti contestuali aggiungono valore sia per gli sviluppatori di app che per gli utenti. Gli sviluppatori di app possono creare potenti funzionalità oltre al semplice collegamento di contenuti, inclusi i saluti personalizzati (in cui vedi la raccomandazione del tuo amico nell'app se condividono un elemento con te) e i programmi di riferimento. Gli utenti delle app ne traggono vantaggio perché le app possono fornire esperienze migliori e informazioni più pertinenti.

Schema URI

Gli schemi URI personalizzati erano la forma originale di deep linking per le app mobili. Sono come creare un "internet privato" per la tua app, con collegamenti che assomigliano a myapp://path/to/content . Il vantaggio degli schemi URI personalizzati è che sono facili da configurare e la maggior parte delle app ne ha già uno. Lo svantaggio è che il dispositivo di un utente conosce questa "Internet privata" solo se l'app corrispondente è già installata e non esiste un'opzione di fallback graziosa per impostazione predefinita.

L'approccio alternativo al collegamento profondo con gli schemi URI prevede l'utilizzo di un collegamento http:// tradizionale per avviare un browser Web. Questo collegamento contiene un reindirizzamento JavaScript a uno schema URI personalizzato, che viene eseguito dal browser Web per avviare l'app. Se il tentativo di reindirizzamento non riesce perché l'app non è installata, JavaScript porta l'utente all'App Store o al Play Store.

Questo è ancora l'approccio principale al deep linking su Android, ma Apple ha iniziato a bloccare questo approccio su iOS nel 2015 con il rilascio di Universal Links .

Collegamenti universali di Apple iOS

Apple ha introdotto Universal Links in iOS 9 come soluzione alla mancanza di funzionalità di fallback aggraziate nei deep link di schemi URI personalizzati. I collegamenti universali sono collegamenti Web standard (http://mydomain.com) che puntano sia a una pagina Web che a un contenuto all'interno di un'app. Quando viene aperto un collegamento universale, iOS verifica se un dispositivo installato è registrato per quel dominio. In tal caso, l'app viene avviata immediatamente senza mai caricare la pagina web. In caso contrario, l'URL web (che può essere un semplice reindirizzamento all'App Store) viene caricato in Safari.

Uno studio sulle migliaia di app sulla piattaforma Branch ha rilevato che Universal Links ha aumentato del 40% la conversione in apertura.

Collegamenti Android

Google ha creato App Links come l'equivalente Android di iOS Universal Links e funzionano in modo molto simile: un collegamento Web standard che punta sia a una pagina Web che a un contenuto all'interno di un'app. Ciò si traduce in un'esperienza utente più fluida, ma poiché gli schemi URI personalizzati sono ancora completamente supportati da ogni versione di Android, i collegamenti alle app hanno registrato un'adozione molto bassa.

Link alle app di Facebook

Facebook ha creato App Links nel 2014 come standard aperto per risolvere i limiti dei deep link dello schema URI. I collegamenti alle app hanno due componenti principali:

  1. Un insieme di meta tag da aggiungere alla destinazione della pagina Web di un collegamento http:// standard. Questi tag specificano la posizione dello schema URI personalizzato del contenuto corrispondente all'interno dell'app nativa e il comportamento che dovrebbe verificarsi se l'app non è installata.
  2. Un motore di routing da utilizzare all'interno di app che supportano l'apertura di collegamenti. Questo motore controlla l'URL di destinazione per i tag Link app prima di aprirlo, quindi avvia l'app corrispondente o esegue il comportamento di fallback specificato.

http://applinks.org/documentation/

Lo standard App Links ha un difetto critico: richiede il lavoro sia delle app di origine che di destinazione. Mentre il componente dei meta tag ha visto un'ampia adozione, le uniche implementazioni principali del motore di routing erano nelle app principali di Facebook e Messenger.

Facebook ora preferisce mantenere gli utenti all'interno della sua piattaforma e ha rimosso il motore di instradamento dei collegamenti alle app da qualsiasi luogo ad eccezione dell'app Android principale. Poiché Facebook blocca anche i collegamenti universali iOS, questo non lascia un modo affidabile per aprire app di terze parti da Facebook o Messenger su iOS. Branch ha implementato una soluzione per aggirare queste limitazioni.

Struttura del collegamento profondo

Un deeplink funziona in modo molto simile a un tradizionale collegamento ipertestuale su una pagina web. È composto da elementi separati che costituiscono ciò che viene denominato Uniform Resource Identifier (URI). L'URI contiene tutte le informazioni che, quando richiamate, avviano un'applicazione mobile con una schermata specifica.

Quando si pensa alla struttura del deeplink, la best practice consiste nell'implementare un URL con un nome di schema univoco e parametri di routing (percorso e stringhe di query) che rappresentino azioni personalizzate da intraprendere nell'app. A meno che tu non abbia esigenze molto specifiche, ti consigliamo di utilizzare una semplice struttura di URL come mostrato nell'esempio seguente:

 mobiledeeplinkingprojectdemo://percorso?stringa_query

Dove mobiledeeplinkingprojectdemo è il nome dello schema e il percorso e la stringa di query sono i parametri di routing utilizzati per indirizzare ulteriormente l'utente a una particolare esperienza nell'app.

Per il nome dello schema:

  • Quando si sceglie il nome di uno schema, è essenziale scegliere un nome univoco per il proprio marchio per evitare schemi in conflitto tra diverse applicazioni
  • Attualmente non esiste un'autorità centrale per gestire i conflitti con i nomi degli schemi
  • La migliore pratica è fare in modo che il nome dello schema faccia riferimento al tuo marchio (ad es. mobiledeeplinkingprojectdemo). Un altro modello suggerito per i nomi degli schemi è quello di utilizzare la notazione inversa dei nomi di dominio (ad es. org.mobiledeeplinking), ma questo non è ampiamente seguito

Per i parametri di instradamento (percorso e stringa di query):

  • I parametri di instradamento sono facoltativi, ma sono altamente consigliati. I parametri di instradamento forniscono un ulteriore controllo per instradare l'utente a schermate specifiche dell'applicazione o per passare parametri aggiuntivi
  • La stringa di query è facoltativa e potrebbe essere utilizzata se è necessario passare parametri specifici, come un ID prodotto
  • Terze parti possono aggiungere ulteriori metadati ai parametri di routing, quindi è importante che la tua app sia in grado di gestire questo caso d'uso (le librerie iOS e Android discusse nella Parte 2 ne tengono conto)
  • Se l'app mobile ha un sito web corrispondente, si consiglia che la sintassi dei parametri di routing per l'app mobile corrisponda alla struttura dell'URL sul sito web

Ecco alcuni esempi di deeplink per app popolari su iOS:

Sviluppatore Deeplink – es Scopo
Twitter twitter://timeline Apre l'app Twitter e si collega alla sequenza temporale dell'utente
Facebook fb://profilo Apre l'app Facebook e si collega al profilo dell'utente
Guaire guaire:// Apre l'app di Yelp (nota: questo esempio non include alcun parametro di routing)

Implementazione del collegamento profondo

Indipendentemente dal fatto che tu scelga di utilizzare la libreria MobileDeepLinking, l'implementazione del deeplinking richiede di:

  • Seleziona lo schema URI che utilizzerai e dichiaralo nel manifest dell'app (discusso più dettagliatamente di seguito). Come discusso nella parte 1, il nome dello schema deve essere univoco per la tua app , altrimenti potrebbero verificarsi conflitti con altre app
  • Definisci le azioni che desideri avviare utilizzando un deeplink. Assicurati che queste azioni siano conformi alla sintassi dell'URI che hai scelto. Come menzionato nella Parte 1, l'uso della sintassi dell'URL è altamente raccomandato (es schemename://path?query_string )

Al termine, puoi iniziare a implementare il codice che gestirà le sezioni del percorso e della stringa di query dell'URL per avviare l'azione prevista.

Si consiglia di utilizzare le librerie MobileDeepLinking, ma se si desidera implementare direttamente il deeplinking mobile, il processo di alto livello è il seguente:

iOS

Le app iOS sono entità autonome. C'è solo un punto di ingresso nell'app: AppDelegate. Quando viene avviato un collegamento diretto alla tua app, chiamerà AppDelegate con i metadati del collegamento diretto.

È importante mantenere uno stato coerente nell'app fornendo l'esperienza desiderata. Un deeplink può essere attivato in qualsiasi momento in qualsiasi stato dell'app ed è tua responsabilità mantenere l'app in uno stato stabile.

Ad esempio, ciò può significare consentire all'utente di tornare alla schermata principale della tua app. A tal fine, devi eseguire il push dei controller di visualizzazione appropriati per inviare l'utente alla parte desiderata dell'app mantenendo comunque la gerarchia di visualizzazione corretta.

Quando l'app viene aperta, puoi recuperare l'URL che è stato utilizzato per avviarla ed elaborarla in base alle tue esigenze.

Puoi trovare la documentazione di riferimento su AppDelegate qui.

Androide

Le app Android sono composte da un insieme di attività. Ognuna di queste attività può essere chiamata da altre app se configurate come tali. A seconda di come sono strutturati l'app e i deeplink, puoi scegliere di utilizzare uno o più endpoint centrali.

È importante mantenere uno stato coerente nell'app fornendo l'esperienza desiderata. Un'attività Android verrà avviata in cima al contesto corrente ed è tua responsabilità garantire che venga mantenuta la gerarchia di visualizzazione appropriata. Inoltre, è importante avere i dati necessari pronti per l'attività quando viene caricata per l'utente.

Quando l'app viene aperta, puoi recuperare l'URL che è stato utilizzato per avviarla ed elaborarla in base alle tue esigenze.

Puoi trovare la documentazione di riferimento sul deeplinking Android qui.

Casi d'uso

1. Conversione di utenti web in utenti di app

Che cosa succede se ti sei preso la briga di creare un ottimo sito Web mobile oltre a una bellissima app nativa, ma noti che il tuo tasso di conversione è migliore nell'app nativa che sul Web. In questo caso, convertire gli utenti Web mobili per scaricare la tua app potrebbe dare una spinta alla tua attività. Mentre spostarli dall'uno all'altro può essere difficile, il deep linking lo rende facile. Con il collegamento diretto mobile, puoi trasferire senza problemi gli utenti dal tuo sito web mobile al contenuto equivalente all'interno della tua app. E poiché i collegamenti sopravvivono al processo di installazione dell'app, anche i nuovi utenti possono riprendere da dove avevano interrotto sul tuo sito mobile senza perdere un colpo.

collegamento profondo mobile

2. Campagne social, e-mail e SMS

Invia offerte promozionali utilizzando link che funzionano su qualsiasi piattaforma. Gli utenti attuali e futuri possono riscattare le tue offerte indipendentemente dal fatto che utilizzino iOS, Android o un browser Web e che abbiano già installato o meno la tua app.

collegamento diretto mobile

3. Condivisione da utente a utente

Uno dei modi più efficaci per convincere i nuovi utenti a installare la tua app è consentire ai tuoi utenti di condividere i contenuti della tua app con i loro amici. Con il collegamento diretto mobile, puoi creare un'esperienza di condivisione da utente a utente eccezionale: gli utenti che ricevono consigli sui contenuti dai loro amici possono fare clic su un collegamento ed essere indirizzati direttamente al contenuto condiviso nella tua app, anche se devono andare al App Store o Google Play Store per installare prima la tua app.

legame profondo

4. Promozione dell'app nel mondo reale

Usa codici QR o codici a barre che codificano un deep link nei tuoi display fisici per promuovere la tua app in occasione di eventi e sedi. Gli utenti possono utilizzare la fotocamera del telefono cellulare per scansionare codici QR/codici a barre ed essere reindirizzati al contenuto mirato nell'app, oppure, se non l'hanno fatto, gli viene chiesto di installare prima l'app.

collegamento profondo

I 4 casi d'uso sopra riportati sono solo alcuni esempi di come il deep link può aiutare la tua azienda, dal punto di vista di un marketer. Ci sono sicuramente molti altri modi in cui puoi utilizzare il deep linking mobile nella tua app per aumentare le vendite e il coinvolgimento.

Conclusione

I deep link sono semplicemente un modo per identificare, indirizzare e trasportare gli utenti a contenuti specifici nelle app. Sebbene convenienti (e necessari), non sono così rivoluzionari o eccitanti. Il valore futuro dei deep link risiede nel modo in cui li usiamo: cosa c'è su di essi e le nuove esperienze di consumo che consentiranno.

Ciò includerà nuovi modi per scoprire i collegamenti diretti per le app che hai, la scoperta di nuove app tramite contenuti e servizi pertinenti collegabili in profondità e il trasferimento di più informazioni attraverso i collegamenti stessi. Proprio come un collegamento ipertestuale, non è il meccanismo che cambierà il mondo, ma il modo in cui li usiamo per connettere il web insieme.