Receber Dynamic Links com C++

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.

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

Inicialize 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());
  }
};