Recibe Dynamic Links con C++

Para recibir los vínculos de Firebase Dynamic Links que creaste, debes incluir el SDK de Dynamic Links en tu app y crear un objeto firebase::dynamic_links::Listener que implemente la función virtual OnDynamicLinkReceived.

El SDK de C++ funciona con Android y con iOS, y requiere configuración adicional en ambas plataformas.

Antes de comenzar

Android

  1. Si aún no conectas tu app al proyecto de Firebase, puedes hacerlo desde Firebase console.
  2. Agrega Firebase a tu proyecto de Android.
  3. Agrega la dependencia para Firebase Dynamic Links a tu archivo build.gradle de nivel de app:
    dependencies {
     implementation 'com.google.firebase:firebase-invites:16.0.0'
    }
  4. Vincula las bibliotecas estáticas libapp.a y libdynamic_links.a desde el SDK de C++.

iOS

  1. Si aún no conectas tu app al proyecto de Firebase, puedes hacerlo desde Firebase console.
  2. Agrega Firebase a tu proyecto de iOS.
  3. La biblioteca de cliente C++ de Firebase Dynamic Links usa esquemas de URL personalizados en iOS a fin de procesar vínculos. Debes agregar estos esquemas a tu app para admitir la recepción de Dynamic Links:
    1. Para abrir la configuración de tu proyecto y haz doble clic en el nombre del proyecto en la vista de árbol a la izquierda. Selecciona tu app en la sección OBJETIVOS, haz clic en la pestaña Información y expande la sección Tipos de URL.
    2. Haz clic en el botón + y agrega un esquema de URL para tu ID de cliente invertido. A fin de obtener este valor, abre el archivo de configuración GoogleService-Info.plist y busca la clave REVERSED_CLIENT_ID. Copia el valor de esa clave y pégalo en el recuadro Esquemas de URL en la página de configuración. Deja los demás campos en blanco.
    3. Haz clic en el botón + y agrega un segundo esquema de URL. Este es idéntico al ID del paquete de tu app. Por ejemplo, si tu ID del paquete es com.example.app, ingresa ese valor en el cuadro Esquemas de URL. Puedes encontrar el ID del paquete de tu app en la pestaña General de la configuración del proyecto (Identidad > Identificador de paquete).
  4. Incluye el siguiente pod en tu Podfile:
    pod 'Firebase/DynamicLinks'
  5. Ejecuta pod install.
  6. Agrega firebase.framework y firebase_dynamic_links.framework a tu proyecto de Xcode desde el SDK de C++.

Cómo recibir un Dynamic Link

Crea y también inicializa una app

Antes de que puedas verificar si se recibieron Dynamic Links, deberás crear y también inicializar un objeto firebase::App.

Incluye el archivo de encabezado para firebase::App:

#include "firebase/app.h"

La siguiente parte cambia según tu plataforma:

Android

Para crear firebase::App, pasa el entorno de JNI y una referencia jobject a la actividad de Java como argumentos:

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

iOS

Crea firebase::App:

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

Cómo implementar un agente de escucha para verificar si hay Dynamic Links

Para verificar si se recibió un Dynamic Link, implementa y usa la clase firebase::dynamic_links::Listener.

Incluye el archivo de encabezado para recibir Dynamic Links:

#include "firebase/dynamic_links.h"

Inicializa la biblioteca de Dynamic Links:

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

Crea un objeto que implemente firebase::dynamic_links::Listener y envíalo a la biblioteca de Dynamic Links con SetListener(), o bien pásalo como el segundo argumento que se inicializará.

Para recibir Dynamic Links, tu agente de escucha debe implementar la función virtual OnDynamicLinkReceived. Puedes anular el método para recibir un vínculo directo, si se envió 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());
  }
};

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.