Como migrar do Firebase Invites para o Dynamic Links com compartilhamento personalizado

O Firebase Invites ofereceu um mecanismo para receber links dinâmicos do Firebase no seu aplicativo, bem como um recurso para compartilhar esse link por SMS ou e-mail. Desenvolvemos o Firebase Invites para ajudar você a expandir seus usuários de aplicativos por meio do boca a boca, mas ao longo do tempo aprendemos que você encontrou maneiras melhores de incentivar os usuários a compartilhar seus aplicativos favoritos com os amigos, além do que o Firebase Invites faz hoje.

Também vimos que, embora o uso do Firebase Invites tenha diminuído, muitas pessoas ainda usam o Firebase Dynamic Links como o ingrediente principal da solução de compartilhamento de usuário para usuário. Por isso, estamos aumentando nosso foco e nossos esforços para tornar o Firebase Dynamic Links a melhor maneira de criar recursos de compartilhamento de usuário para usuário no seu app. Como parte dessa mudança, descontinuamos o uso do recurso Firebase Invites e vamos descontinuar o suporte a partir de 24 de janeiro de 2020.

O que isso significa e como isso me afeta?

A partir de 24 de janeiro de 2020, os usuários não vão poder mais enviar ou receber convites do Firebase, e o serviço de back-end do Invites vai começar a retornar respostas de erro ao fazer chamadas para enviar e receber um link de convite. Os SDKs atuais incluem gerenciamento de erros para ajudar a garantir casos de falha simples para essas respostas do servidor, para que seus usuários continuem usando seu aplicativo sem travar. Mas recomendamos que você não use mais o Firebase Invites e mude para uma solução alternativa usando o Firebase Dynamic Links com uma solução de compartilhamento personalizada.

Veja como fazer isso.

Primeiro, crie um link dinâmico que seus usuários possam compartilhar com os amigos. A boa notícia é que você já está familiarizado com essa etapa, porque ela é semelhante à do Firebase Invites. Mas também é possível adicionar parâmetros específicos ao seu link dinâmico, como adicionar metadados sociais aos seus links, se os usuários compartilharem seu app em uma rede social para personalizar a aparência do URL compartilhado.

Criar uma solução de compartilhamento

Em seguida, crie sua solução de compartilhamento para que seus usuários possam compartilhar esse link com os amigos. O que você vai criar aqui varia dependendo de como você quer fornecer o recurso de compartilhamento que vai substituir o anterior no Firebase Invites. Mas, para a maioria dos apps para dispositivos móveis, é possível aproveitar os recursos já integrados à plataforma.

No Android, uma solução simples que abrange o compartilhamento de SMS e e-mail, bem como outros apps populares de redes sociais e de mensagens, é usar uma intent genérica com uma ação definida como Intent.ACTION_SEND. Isso proporciona uma maneira conveniente de compartilhar dados do seu app com qualquer outro app que o usuário tenha instalado e possa manipular uma intent de compartilhamento.

Algo semelhante ao exemplo a seguir pode funcionar aqui, e recomendamos que você use recursos de string constantes no seu próprio código:

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "Here's a new lesson for" +
        " learning more Miwok vocabulary:\n\n" + dynamicLink);
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Let's Learn Miwok!");
sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent,
        getResources().getText(R.string.send_to)));

Para ver um exemplo mais completo e mais detalhes, confira este guia de como enviar dados simples para outros aplicativos.

O snippet de código acima vai gerar algo parecido com o fluxo de convites mostrado nas telas abaixo:

Compartilhar no Android

Para desenvolvedores do iOS, é possível usar um UIActivityViewController, transmitindo o link criado como parte dos dados para o VC personalizado. Com esse método, um fluxo de compartilhamento semelhante às telas abaixo seria fornecido:

Compartilhar no iOS

Receber um link dinâmico no seu app

Por fim, a última etapa para integrar o compartilhamento de usuário para usuário no seu aplicativo é receber um link dinâmico no seu aplicativo.

No Android esse processo continua o mesmo, então não vai ser preciso mudar muita coisa. A única diferença é que, sem o Firebase Invites não há ID de convite e, portanto, a chamada precisa ser removida para extração do ID de convite via FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(data), caso seu app esteja fazendo essa chamada. Para ver mais detalhes sobre esta etapa, consulte o guia sobre Como receber links dinâmicos no seu app Android.

No iOS, isso exigiria alterar o objeto FIRReceivedInvite para o objeto FIRDynamicLink, que contêm dados semelhantes. Consulte o guia sobre Como receber links dinâmicos no seu app iOS para ver mais detalhes.

Para os desenvolvedores do Unity, existem várias bibliotecas e soluções equivalentes de código aberto, como as descritas acima, para migrar a funcionalidade de compartilhamento de usuário para usuário. Se precisar de ajuda para fornecer uma solução adequada, entre em contato com os recursos de suporte relacionados abaixo.

O Firebase Invites tem sido uma ótima ferramenta, e somos orgulhosos por termos o criado. Quando olhamos para o futuro, queremos melhorar ainda mais o Firebase Dynamic Links, para que você tenha mais flexibilidade e controle sobre como incentivar os usuários a convidar outras pessoas para seu app. Se tiver alguma dúvida sobre como configurar o Firebase Dynamic Links e as soluções de compartilhamento personalizadas, entre em contato pelo StackOverflow ou por um dos nossos fóruns de suporte adicionais.