Reciba enlaces dinámicos con C++

Para recibir los Firebase Dynamic Links que creó , debe incluir el SDK de Dynamic Links en su aplicación y crear un objeto firebase::dynamic_links::Listener que implemente la función virtual OnDynamicLinkReceived .

El SDK de C++ funciona tanto para Android como para iOS, y se requiere alguna configuración adicional para cada plataforma.

Antes de que empieces

Antes de poder utilizar Firebase Dynamic Links , debes:

  • Registre su proyecto C++ y configúrelo para usar Firebase.

    Si su proyecto de C++ ya usa Firebase, entonces ya está registrado y configurado para Firebase.

  • Agrega el SDK de Firebase C++ a tu proyecto de C++.

Tenga en cuenta que agregar Firebase a su proyecto de C++ implica tareas tanto en Firebase console como en su proyecto de C++ abierto (por ejemplo, descarga archivos de configuración de Firebase desde la consola y luego los mueve a su proyecto de C++).

Agregar esquemas de URL personalizados (solo para iOS)

La biblioteca cliente Firebase Dynamic Links C++ utiliza esquemas de URL personalizados en iOS para procesar enlaces. Debe agregar esquemas de URL personalizados a su aplicación para admitir la recepción de enlaces dinámicos.

  1. Para abrir la configuración de su proyecto, haga doble clic en el nombre del proyecto en la vista de árbol de la izquierda.

  2. Seleccione su aplicación en la sección OBJETIVOS , luego seleccione la pestaña Información y luego expanda la sección Tipos de URL .

  3. Haga clic en el botón + y luego agregue un esquema de URL para su ID de cliente invertido. Para encontrar este valor:

    1. Abra el archivo de configuración GoogleService-Info.plist , luego busque la clave REVERSED_CLIENT_ID .

    2. Copie el valor de esa clave y luego péguelo en el cuadro Esquemas de URL en la página de configuración.

    3. Deje los demás campos en blanco.

  4. Haga clic en el botón + y luego agregue un segundo esquema de URL. Este es el mismo que el ID del paquete de tu aplicación.

    Por ejemplo, si su ID de paquete es com.example.ios , escriba ese valor en el cuadro Esquemas de URL .

    Puede encontrar el ID del paquete de su aplicación en la pestaña General de la configuración del proyecto ( Identidad > Identificador del paquete ).

Recibir un enlace dinámico

Crear e inicializar la aplicación

Antes de poder verificar los vínculos dinámicos recibidos, deberá crear e inicializar un objeto firebase::App .

Incluya el archivo de encabezado para firebase::App :

#include "firebase/app.h"

La siguiente parte varía según su plataforma:

Androide

Cree firebase::App y pase el entorno JNI y una referencia jobject a la actividad Java como argumentos:

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

iOS

Crea la firebase::App :

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

Implementar Listener para buscar enlaces dinámicos

Para verificar un vínculo dinámico recibido, implemente y use la clase firebase::dynamic_links::Listener .

Incluya el archivo de encabezado para recibir enlaces dinámicos:

#include "firebase/dynamic_links.h"

Inicialice la biblioteca de Dynamic Links:

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

Cree un objeto que implemente firebase::dynamic_links::Listener y proporciónelo a la biblioteca de Dynamic Links con SetListener() o páselo como segundo argumento a Initialize .

Para recibir Dynamic Links, su clase Listener debe implementar la función virtual OnDynamicLinkReceived . Al anular el método, puede recibir un enlace profundo, si se recibió uno.

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