Firebase is back at Google I/O on May 10! Register now

Converti gli utenti delle tue app Web mobili in utenti delle app native

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Cosa succede se ti sei preso la briga di creare un ottimo sito Web per dispositivi mobili 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 del Web mobile per scaricare la tua app potrebbe dare una spinta alla tua attività. Mentre spostarli dall'uno all'altro può essere difficile, Dynamic Links lo rende facile. Con pochissimo codice puoi aggiungere la possibilità per un utente di fare clic su un collegamento sul tuo Web mobile ed essere indirizzato alla pagina corrispondente nella tua app, anche se deve prima accedere all'App Store o al Google Play Store per installarlo!

Vantaggi chiave

  • Trasforma gli utenti del Web mobile in utenti di app native, rendendo la transizione il più confortevole possibile per loro.
  • Gli utenti possono avviare la tua app con gli stessi contenuti che stavano visualizzando sul tuo sito.
  • Pochissima integrazione necessaria.

Ecco come iniziare!

Prima di iniziare

Rendi i contenuti della tua app collegabili in profondità

La chiave per convertire gli utenti del Web mobile in utenti di app native è assicurarsi che l'utente veda lo stesso contenuto quando apre l'app che sta vedendo sul Web. Pertanto, prima di poter iniziare a indirizzare gli utenti del Web mobile alla tua app, quest'ultima deve essere in grado di ricevere link diretti ai contenuti.

Se hai implementato iOS Universal Links o Android App Links , probabilmente hai già svolto questo lavoro. In caso contrario, aggiungi una logica alla tua app che accetti un URL dal tuo sito Web e mostri all'utente il contenuto corrispondente all'interno della tua app.

Configura un nuovo progetto Firebase e installa l'SDK di Dynamic Links nella tua app. ( iOS , Android , C++ , Unity ). L'installazione dell'SDK di Dynamic Links consente a Firebase di trasmettere i dati relativi a Dynamic Link dopo che l'utente ha installato l'app. Senza l'SDK, non c'è modo di connettere un utente post-installazione con un clic pre-installazione.

Ora è il momento di impostare i link che sposteranno le persone dal tuo sito web alla tua app nativa. Non preoccuparti se i tuoi utenti non hanno ancora installato l'app; Dynamic Links può occuparsene per te.

Su ogni pagina del tuo sito web, genera dinamicamente un Dynamic Link . Poiché hai già reso i tuoi contenuti collegabili in modo diretto, il parametro link può essere semplicemente l'URL della pagina in cui si trova.

Ecco come potrebbe apparire un tale collegamento:

<a href="https://example.page.link/?link=https://www.example.com/content?item%3D1234&apn=com.example.android&ibi=com.example.ios">Open this page in our app!</a>

Quando gli utenti aprono questo collegamento sul proprio dispositivo, se l'app specificata dal parametro apn (su Android) o dal parametro ibi (su iOS) non è installata, gli utenti vengono indirizzati al Play Store o all'App Store per installare l'app. Quindi, l'app si apre e le viene passato l'URL specificato nel parametro link .

Apri il contenuto collegato nella tua app

Successivamente, devi ricevere il link passato alla tua app e aprire il contenuto collegato, il che è facile utilizzando l'SDK di Dynamic Links:

iOS

Su iOS, ricevi il collegamento dinamico implementando il metodo application:continueUserActivity:restorationHandler: :. Nel gestore del ripristino, puoi ottenere il collegamento dinamico chiamando handleUniversalLink:completion: . Se un collegamento dinamico è stato passato alla tua app, puoi ottenerlo dalla proprietà url di FIRDynamicLink . Per esempio:

Obiettivo-C

Nota: questo prodotto Firebase non è disponibile su target macOS, Mac Catalyst, tvOS o watchOS.
[[FIRDynamicLinks dynamicLinks]
    handleUniversalLink:userActivity.webpageURL
             completion:^(FIRDynamicLink * _Nullable dynamicLink,
                          NSError * _Nullable error) {
      NSString *link = dynamicLink.url;
    }];

Rapido

Nota: questo prodotto Firebase non è disponibile su target macOS, Mac Catalyst, tvOS o watchOS.
FIRDynamicLinks.dynamicLinks()?.handleUniversalLink(userActivity.webpageURL!) { (dynamiclink, error) in
    let link = dynamiclink.url
}

Inoltre, devi chiamare dynamicLinkFromCustomSchemeURL: nel application:openURL:options: per ricevere i collegamenti dinamici passati alla tua app come URL di schemi personalizzati. Per esempio:

Obiettivo-C

Nota: questo prodotto Firebase non è disponibile su target macOS, Mac Catalyst, tvOS o watchOS.
FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];
if (dynamicLink) {
  NSString *link = dynamicLink.url;
  // ...
  return YES;
}

Rapido

Nota: questo prodotto Firebase non è disponibile su target macOS, Mac Catalyst, tvOS o watchOS.
let dynamicLink = FIRDynamicLinks.dynamicLinks()?.dynamicLinkFromCustomSchemeURL(url)
if let dynamicLink = dynamicLink {
  let link = dynamiclink.url
  // ...
  return true
}

Ora che hai il valore del parametro link , mostra il contenuto collegato al tuo utente.

Androide

Su Android, utilizzi il metodo getDynamicLink() per ottenere i dati dal collegamento dinamico:

Kotlin+KTX

Firebase.dynamicLinks
        .getDynamicLink(intent)
        .addOnCompleteListener { task ->
            if (!task.isSuccessful) {
                // Handle error
                // ...
            }

            val invite = FirebaseAppInvite.getInvitation(task.result)
            if (invite != null) {
                // Handle invite
                // ...
            }
        }

Java

FirebaseDynamicLinks.getInstance()
        .getDynamicLink(getIntent())
        .addOnCompleteListener(new OnCompleteListener<PendingDynamicLinkData>() {
            @Override
            public void onComplete(@NonNull Task<PendingDynamicLinkData> task) {
                if (!task.isSuccessful()) {
                    // Handle error
                    // ...
                }

                FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(task.getResult());
                if (invite != null) {
                    // Handle invite
                    // ...
                }
            }
        });

Ora che hai il valore del parametro link , mostra il contenuto collegato al tuo utente.