Receba links dinâmicos com C++

Para receber os Firebase Dynamic Links que você criou , você deve incluir o SDK do Dynamic Links em seu aplicativo e criar um objeto firebase::dynamic_links::Listener que implemente a função virtual OnDynamicLinkReceived .

O SDK C++ funciona tanto para Android quanto para iOS, com algumas configurações adicionais necessárias para cada plataforma.

Antes de você começar

Antes de usar o Firebase Dynamic Links , você precisa:

  • Registre seu projeto C++ e configure-o para usar o Firebase.

    Se o seu projeto C++ já usa o Firebase, ele já está registrado e configurado para o Firebase.

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

Observe que adicionar o Firebase ao seu projeto C++ envolve tarefas no console do Firebase e no seu projeto C++ aberto (por exemplo, você baixa os arquivos de configuração do Firebase do console e os move para o seu projeto C++).

Adicione esquemas de URL personalizados (apenas para iOS)

A biblioteca cliente C++ do Firebase Dynamic Links usa esquemas de URL personalizados no iOS para processar links. Você deve adicionar esquemas de URL personalizados ao seu aplicativo para oferecer suporte ao recebimento de links dinâmicos.

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

  2. Selecione seu aplicativo na seção TARGETS , selecione a guia Informações e expanda a seção Tipos de URL .

  3. Clique no botão + e adicione um esquema de URL para seu ID de cliente invertido. Para encontrar esse valor:

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

    2. Copie o valor dessa chave e cole-o 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. Este é igual ao ID do pacote do seu aplicativo.

    Por exemplo, se o ID do seu pacote for com.example.ios , digite esse valor na caixa Esquemas de URL .

    Você pode encontrar o ID do pacote do seu aplicativo na guia Geral da configuração do projeto ( Identidade > Identificador de Pacote ).

Recebendo um link dinâmico

Crie e inicialize o aplicativo

Antes de verificar os Dynamic Links recebidos, você precisará criar e inicializar um objeto firebase::App .

Inclua o arquivo de cabeçalho para firebase::App :

#include "firebase/app.h"

A próxima parte varia dependendo da sua plataforma:

Android

Crie o firebase::App , passando o ambiente JNI e uma referência jobject para a atividade Java como argumentos:

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 Listener para verificar links dinâmicos

Para verificar um link dinâmico recebido, implemente e use a classe firebase::dynamic_links::Listener .

Incluir o arquivo de cabeçalho para recebimento de Dynamic Links:

#include "firebase/dynamic_links.h"

Inicialize a biblioteca Dynamic Links:

::firebase::dynamic_links::Initialize(app, null);

Crie um objeto que implemente firebase::dynamic_links::Listener e forneça-o à biblioteca Dynamic Links com SetListener() ou passe-o como o segundo argumento para Initialize .

Para receber Dynamic Links, sua classe Listener deve implementar a função virtual OnDynamicLinkReceived . Ao substituir o método, você poderá receber um link direto, se algum tiver sido recebido.

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