Converter usuários do app da Web para dispositivos móveis em usuários do app nativo

E se você tiver se dedicado a criar um ótimo site para dispositivos móveis e um belo app nativo, mas perceber que sua taxa de conversão é melhor no app nativo do que na Web? Neste caso, a conversão de usuários da Web em usuários do app pode dar um impulso à sua empresa. Movê-los de um para o outro pode ser um desafio, mas o Dynamic Links torna esse processo mais fácil. Com pouco código, você pode adicionar um recurso que permite que o usuário clique em um link na sua Web para dispositivos móveis e seja levado para a página correspondente no seu app, mesmo que eles tenham que ir até a App Store ou Google Play Store para instalá-lo primeiro.

Principais vantagens

  • Converta usuários da Web para dispositivos móveis em usuários do app nativo da maneira mais confortável possível para eles.
  • Os usuários podem iniciar seu app com o mesmo conteúdo que estavam vendo no seu site.
  • Pouca integração necessária.

Veja como começar.

Antes de começar

Use mais links diretos para o conteúdo do seu app

O segredo para a conversão de usuários da Web para dispositivos móveis em usuários do app nativo é garantir que o usuário veja o mesmo conteúdo que vê na Web quando abre o app. Assim, antes de começar a enviar seus usuários da Web para dispositivos móveis ao seu app, ele precisa conseguir receber links diretos do conteúdo.

Se você implementou os links universais do iOS ou os links de apps Android, então provavelmente já concluiu essa etapa. Caso não tenha feito, adicione lógica ao seu app para que ele receba um URL do seu site e exiba o conteúdo correspondente no app.

Configure um novo projeto do Firebase e instale o SDK do Dynamic Links no seu app. (iOS, Android, C++ e Unity). A instalação do SDK do Dynamic Links permite que o Firebase transmita dados sobre o link dinâmico depois que o usuário instala o app. Sem o SDK, não há como conectar um usuário pós-instalação a um clique pré-instalação.

Agora é hora de configurar os links que redirecionarão as pessoas do seu site para o aplicativo nativo. Não se preocupe se os usuários ainda não instalaram o app. O Dynamic Links cuida disso para você.

Em cada página do seu site, gere um link dinamicamente. Como seu conteúdo já tem links diretos, o parâmetro link pode ser o URL da página em que ele está.

Veja abaixo um exemplo de um link desse tipo:

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

Se o app especificado pelos parâmetros apn (no Android) ou ibi (no iOS) não estiver instalado, quando os usuários abrirem esse link no dispositivo, eles serão direcionados para a Play Store ou a App Store a fim de instalar o aplicativo. Depois, o app é aberto, e o URL especificado no parâmetro link é transmitido a ele.

Abrir o conteúdo vinculado no seu app

Em seguida, você precisa receber o link transmitido ao seu app e abrir o conteúdo vinculado. O SDK do Dynamic Links facilita esse processo:

iOS

No iOS, você recebe o link dinâmico ao implementar o método application:continueUserActivity:restorationHandler:. No gerenciador de restauração, acesse o link dinâmico chamando handleUniversalLink:completion:. Se um link dinâmico tiver sido transmitido ao seu app, você poderá encontrá-lo na propriedade url do FIRDynamicLink. Exemplo:

Objective-C

Observação: este produto do Firebase não está disponível para destinos macOS, Mac Catalyst, tvOS ou watchOS.
[[FIRDynamicLinks dynamicLinks]
    handleUniversalLink:userActivity.webpageURL
             completion:^(FIRDynamicLink * _Nullable dynamicLink,
                          NSError * _Nullable error) {
      NSString *link = dynamicLink.url;
    }];

Swift

Observação: este produto do Firebase não está disponível para destinos macOS, Mac Catalyst, tvOS ou watchOS.
FIRDynamicLinks.dynamicLinks()?.handleUniversalLink(userActivity.webpageURL!) { (dynamiclink, error) in
    let link = dynamiclink.url
}

Além disso, é preciso chamar dynamicLinkFromCustomSchemeURL: no método application:openURL:options: para receber os links dinâmicos transmitidos ao seu app como URLs de esquema personalizado. Por exemplo:

Objective-C

Observação: este produto do Firebase não está disponível para destinos macOS, Mac Catalyst, tvOS ou watchOS.
FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];
if (dynamicLink) {
  NSString *link = dynamicLink.url;
  // ...
  return YES;
}

Swift

Observação: este produto do Firebase não está disponível para destinos macOS, Mac Catalyst, tvOS ou watchOS.
let dynamicLink = FIRDynamicLinks.dynamicLinks()?.dynamicLinkFromCustomSchemeURL(url)
if let dynamicLink = dynamicLink {
  let link = dynamiclink.url
  // ...
  return true
}

Agora que você tem o valor do parâmetro link, mostre o conteúdo vinculado ao seu usuário.

Android

No Android, use o método getDynamicLink() para receber dados do link dinâmico:

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

Agora que você tem o valor do parâmetro link, mostre o conteúdo vinculado ao seu usuário.