Para recibir el Firebase Dynamic Links que creaste, debes incluir el SDK de Dynamic Links en tu app y crear un objeto firebase::dynamic_links::Listener
que implementa la función virtual OnDynamicLinkReceived
.
El SDK de C++ funciona con iOS y Android; requiere configuración adicional en ambas plataformas.
Antes de comenzar
Antes de poder usar Firebase Dynamic Links, tendrás que hacer lo siguiente:
Registra tu proyecto de C++ y configúralo para que use Firebase.
Si tu proyecto de C++ ya usa Firebase, significa que ya está registrado y configurado para esa plataforma.
Agrega el SDK de Firebase C++ a tu proyecto de C++.
Ten en cuenta que agregar Firebase a un proyecto de C++ implica realizar tareas en Firebase console y en el proyecto abierto de C++ (por ejemplo, descargar archivos de configuración de Firebase desde la consola y transferirlos al proyecto de C++).
Agrega esquemas de URL personalizados (solo para iOS)
La biblioteca cliente de C++ Firebase Dynamic Links usa esquemas de URL personalizados en iOS para procesar vínculos. Debes agregar esquemas de URL personalizados a tu app para admitir la recepción de Dynamic Links.
Para abrir la configuración de tu proyecto, haz doble clic en el nombre del proyecto en la vista de árbol a la izquierda.
Selecciona tu app en la sección OBJETIVOS. Luego, haz clic en la pestaña Información y expande la sección Tipos de URL.
Haz clic en el botón + y, luego, agrega un esquema de URL para tu ID de cliente invertido. Sigue estos pasos a fin de obtener este valor:
Abre el archivo de configuración
y luego busca la claveGoogleService-Info.plist REVERSED_CLIENT_ID
.Copia el valor de esa clave y pégalo en el cuadro Esquemas de URL de la página de configuración.
Deja los demás campos en blanco.
Haz clic en el botón + y agrega un segundo esquema de URL. Este es el mismo que el ID del paquete de tu app.
Por ejemplo, si el ID del paquete es
com.example.ios
, ingresa ese valor en el recuadro 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).
Recibe un Dynamic Link
Crea e 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"));
Implementa un objeto 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 Dynamic Links:
::firebase::dynamic_links::Initialize(app, null);
Crea un objeto que implemente firebase::dynamic_links::Listener
y suminístralo a la biblioteca de Dynamic Links con SetListener()
o pásalo como el segundo argumento a Inicializar.
Para recibir Dynamic Links, la clase de tu objeto de escucha debe implementar la función virtual OnDynamicLinkReceived
. Puedes anular el método para recibir un vínculo directo, 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()); } };