Migrando de convites do Firebase para links dinâmicos com compartilhamento personalizado

O Firebase Invitations forneceu um mecanismo para receber links dinâmicos do Firebase em seu aplicativo, bem como um recurso para compartilhar esse link por SMS ou e-mail. Desenvolvemos o Firebase Invitations para ajudar você a aumentar o número de usuários do seu aplicativo por meio do boca a boca, mas, com o 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 Invitations faz hoje.

Também vimos que, embora o uso do Firebase Invitations tenha diminuído, muitos de vocês ainda usavam o Firebase Dynamic Links como ingrediente principal de sua solução de compartilhamento entre usuários. Portanto, estamos fortalecendo nosso foco e aumentando nossos esforços para tornar o Firebase Dynamic Links a melhor maneira de criar recursos de compartilhamento entre usuários em seu aplicativo. Como parte dessa mudança, suspendemos o uso do recurso Firebase Invitations e descontinuaremos 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, seus usuários não poderão mais enviar ou receber convites do Firebase, e o serviço de back-end de convites começará a retornar respostas de erro ao fazer chamadas para enviar e receber um link de convite. Os SDKs atuais incluem tratamento de erros para ajudar a garantir casos de falha normais para essas respostas do servidor, para que seus usuários possam continuar usando seu aplicativo sem travar, mas recomendamos que você não use mais o Firebase Invitations e mude para uma solução alternativa usando o Firebase Links dinâmicos 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ê provavelmente já está familiarizado com esta etapa porque é semelhante à forma como você configura o Firebase Invitations. Mas você também pode adicionar parâmetros específicos ao seu link dinâmico, como adicionar metadados sociais aos seus links se os usuários compartilharem seu aplicativo por meio de uma rede social para personalizar a aparência do URL que é compartilhado.

Crie uma solução de compartilhamento

Em seguida, crie sua solução de compartilhamento para que seus usuários possam compartilhar esse link com seus amigos. O que você deseja construir aqui irá variar dependendo de como você deseja fornecer o recurso de compartilhamento que substituirá o anterior no Firebase Invitations, mas para a maioria dos aplicativos móveis você pode aproveitar as vantagens dos recursos já integrados à plataforma.

Para Android, uma solução simples que abrange o compartilhamento de SMS e e-mail, bem como outras redes sociais populares e aplicativos de mensagens, é usar uma intenção genérica com uma ação definida como Intent.ACTION_SEND . Isso fornece uma maneira conveniente de compartilhar dados do seu aplicativo com qualquer aplicativo que o usuário tenha instalado e que possa lidar com uma intenção de compartilhamento.

Algo semelhante ao exemplo a seguir deve funcionar aqui (recomendando que você use recursos de string constantes em 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 um exemplo mais completo e mais detalhes, confira este guia para enviar dados simples para outros aplicativos .

O trecho de código acima irá gerar algo como o fluxo de convite mostrado nas telas abaixo:

Compartilhando no Android

Para desenvolvedores iOS, você pode usar UIActivityViewController , passando o link criado como parte dos dados para o VC personalizado. Este método forneceria um fluxo de compartilhamento semelhante às telas abaixo:

Compartilhando no iOS

Receba um link dinâmico em seu aplicativo

Por fim, a última etapa para fornecer compartilhamento de usuário para usuário para seu aplicativo após o encerramento é receber um link dinâmico em seu aplicativo.

Para Android, esse processo permanece o mesmo, então você não precisará mudar muito aqui. A única diferença é que sem o Firebase Invitations, não haverá mais um ID de convite e, portanto, você precisará remover a chamada para extrair o ID do convite por meio de FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(data) , se seu aplicativo estiver fazendo essa chamada . Para obter mais detalhes sobre esta peça, consulte o guia sobre como receber links dinâmicos em seu aplicativo Android .

Para iOS, isso exigiria a mudança do objeto FIRReceivedInvite para o objeto FIRDynamicLink , ambos contendo dados semelhantes. Consulte o guia sobre como receber links dinâmicos em seu aplicativo iOS para obter mais detalhes.

Para desenvolvedores do Unity, há diversas bibliotecas de código aberto e soluções equivalentes às descritas acima para migrar sua funcionalidade de compartilhamento entre usuários. Se precisar de ajuda para fornecer uma solução adequada, entre em contato com os recursos de suporte vinculados mais abaixo.

O Firebase Invitations tem sido uma ótima ferramenta que temos orgulho de ter criado. À medida que olhamos para o futuro, estamos entusiasmados em redobrar os esforços para tornar o Firebase Dynamic Links ainda melhor, para que você tenha mais flexibilidade e controle sobre como incentivar os usuários a convidar outras pessoas para seu aplicativo. Se você tiver alguma dúvida sobre como configurar seus links dinâmicos do Firebase e soluções de compartilhamento personalizadas, entre em contato pelo StackOverflow ou por qualquer um de nossos fóruns de suporte adicionais .