Receber Dynamic Links com C++

Se você quiser ver os Firebase Dynamic Links que você criou, inclua o SDK do 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 poder 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.

  • Adicionar o SDK do Firebase para C++ ao seu projeto em C ++.

A adição do Firebase ao projeto em C++ envolve tarefas no Console do Firebase e no projeto em C++ aberto. Por exemplo, você faz o download dos arquivos de configuração do Firebase no console e os move para o projeto em C++.

Adicionar esquemas de URL personalizados (apenas para iOS)

A biblioteca de cliente em C++ do Firebase Dynamic Links usa esquemas personalizados de URL no iOS para processar os links. Adicione os esquemas de URL personalizados ao app para dar suporte ao recebimento dos Dynamic Links.

  1. Para abrir a configuração do projeto, clique duas vezes no nome dele, na visualização em árvore à esquerda.

  2. Selecione seu app na seção DESTINOS. Em seguida, selecione a guia Informações e expanda a seção Tipos de URL.

  3. 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:

    1. Abra o arquivo de configuração GoogleService-Info.plist e procure a chave REVERSED_CLIENT_ID.

    2. Copie e cole o valor da chave na caixa Esquemas de URL na página de configuração.

    3. Deixe os outros campos em branco.

  4. 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 link dinâmico

Criar e inicializar o app

Antes de verificar os Dynamic Links recebidos, crie e inicialize 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 o firebase::App:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));

Implementar o listener para verificar a existência de Dynamic Links

Para verificar se um Dynamic Links foi recebido, implemente e use a classe firebase::dynamic_links::Listener.

Inclua o arquivo de cabeçalho para receber Dynamic Links:

#include "firebase/dynamic_links.h"

Chame o comando Initialize na biblioteca do 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, a 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());
  }
};