Para receber o Firebase Dynamic Links que você criou,
inclua o SDK Dynamic Links no app e crie um objeto
firebase::dynamic_links::Listener
que implemente a função virtual
OnDynamicLinkReceived
.
O SDK do C++ funciona no Android e iOS, mas algumas configurações adicionais são necessárias para cada plataforma.
Antes de começar
Antes de usar o Firebase Dynamic Links, você precisa:
Registrar seu projeto em C++ e configurá-lo para usar o Firebase.
Se o projeto em C++ já usa o Firebase, então ele já está registrado e configurado para o Firebase.
Adicione o SDK do Firebase para C++ ao seu projeto em C++.
Adicionar o Firebase ao projeto em C++ envolve tarefas no console do Firebase e no projeto em C++ aberto (por exemplo, fazer o download dos arquivos de configuração do Firebase pelo console e movê-los para o projeto em C++).
Adicionar esquemas de URL personalizados (apenas para iOS)
A biblioteca de cliente C++ Firebase Dynamic Links usa esquemas de URL personalizados no iOS para processar links. Adicione esquemas de URL personalizados ao app para dar suporte ao recebimento de Dynamic Links.
Para abrir a configuração do projeto, clique duas vezes no nome dele, na visualização em árvore à esquerda.
Selecione seu app na seção DESTINOS. Em seguida, selecione a guia Informações e expanda a seção Tipos de URL.
Clique no botão + e adicione um esquema de URL ao seu ID do cliente inverso. Para encontrar esse valor, siga as etapas a seguir:
Abra o arquivo de configuração
e procure a chaveGoogleService-Info.plist REVERSED_CLIENT_ID
.Copie e cole o valor da chave na caixa Esquemas de URL na página de configuração.
Deixe os outros campos em branco.
Clique no botão + e adicione um segundo esquema de URL, que é igual ao ID do pacote do seu app.
Por exemplo, se o ID do pacote for
com.example.ios
, digite esse valor na caixa Esquemas de URL .É possível encontrar esse ID do seu app na guia Geral das configurações do seu projeto (Identidade > Identificador do pacote).
Receber um Dynamic Link
Criar e inicializar o app
Antes de verificar os Dynamic Links recebidos, você precisa criar e inicializar
um objeto firebase::App
.
Inclua o arquivo de cabeçalho de firebase::App
:
#include "firebase/app.h"
A próxima etapa varia de acordo com a plataforma:
Android
Para criar o firebase::App
, transmita como argumentos o ambiente JNI e uma referência jobject
à atividade Java:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS
Crie a firebase::App
:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Implementar o listener para verificar Dynamic Links
Para verificar se um Dynamic Link foi recebido, implemente e use a
classe
firebase::dynamic_links::Listener
.
Inclua o arquivo de cabeçalho para Dynamic Links recebidos:
#include "firebase/dynamic_links.h"
Inicializar a biblioteca Dynamic Links:
::firebase::dynamic_links::Initialize(app, null);
Crie um objeto que implemente o firebase::dynamic_links::Listener
e o forneça à biblioteca do Dynamic Links com
SetListener()
ou o transmita como o segundo argumento de
Initialize.
Para receber Dynamic Links, sua classe Listener precisa implementar a função virtual OnDynamicLinkReceived
. Ao modificar o método, é possível receber um link direto.
class Listener : public firebase::dynamic_links::Listener { public: // Called on the client when a dynamic link arrives. void OnDynamicLinkReceived( const firebase::dynamic_links::DynamicLink* dynamic_link) override { printf("Received link: %s", dynamic_link->url.c_str()); } };