SDK de Cordova: integración básica

Documento

Requisitos previos

Completa estos pasos previos antes de instalar el SDK de Singular Cordova para garantizar un proceso de integración fluido.

Requisitos previos obligatorios:

  • Completar los pasos de planificación: Sigue la guía de Integración de un SDK de Singular: Planificación y requisitos previos. Estos pasos son obligatorios para cualquier integración del SDK de Singular.
  • Aplicación Cordova funcional: Asegúrate de tener un proyecto Cordova operativo con las herramientas de compilación necesarias configuradas para iOS y/o Android.
  • Credenciales del SDK: Recupera tu clave y secreto del SDK de Singular en la plataforma de Singular, en Herramientas para desarrolladores > Integración del SDK > Claves del SDK.

Importante: NO utilices la clave de la API de informes de Singular. Utiliza únicamente las credenciales específicas del SDK que se encuentran en la página de integración del SDK. El uso de credenciales incorrectas impide que los datos lleguen a Singular.


Instalación

Instalación del complemento de Singular

Añade el plugin de Singular a tu proyecto de Cordova utilizando la CLI de Cordova. El plugin proporciona enlaces JavaScript a los SDK nativos de Singular para iOS y Android.

Instalación mediante la CLI de Cordova

  1. Abre el terminal: Navega hasta el directorio raíz de tu proyecto Cordova.
  2. Añade el plugin: ejecuta el siguiente comando para instalar el plugin del SDK de Singular:
    bash
    cordova plugin add singular_cordova_sdk
  3. Comprueba la instalación: confirma que el complemento se ha añadido comprobando que aparece la entrada del complemento en tu archivo ` config.xml ` o ejecutando:
    bash
    cordova plugin list

Integración con Ionic Framework

Si estás creando tu aplicación Cordova con Ionic Framework, sigue estos pasos adicionales para integrar correctamente el SDK de Singular.

Instalar el complemento para Ionic

  1. Instalar mediante la CLI de Ionic: Utiliza el comando Ionic Cordova para añadir el complemento:
    bash
    ionic cordova plugin add singular_cordova_sdk
  2. Declare la variable Cordova: En su archivo principal de TypeScript (normalmente app.component.ts o home.page.ts ), declare la variable Cordova al principio:
    TypeScript
    declare var cordova;
  3. Inicializar dentro de platform ready: Utiliza el evento platform ready para garantizar que los complementos nativos se carguen antes de la inicialización del SDK:
    TypeScript
    import { Component } from '@angular/core';
    import { Platform } from '@ionic/angular';
    
    declare var cordova;
    
    export class HomePage {
      constructor(public platform: Platform) {
        this.platform.ready().then(() => {
          // Initialize Singular SDK here (see SDK Integration section)
    
        });
      }
    }

¿Por qué «Platform Ready»? La promesa platform.ready() garantiza que los complementos de Cordova estén completamente cargados antes de que tu código intente acceder a ellos. Inicializa siempre el SDK de Singular dentro de esta llamada de retorno cuando utilices Ionic.


Configuración de la plataforma

Configuración de Android

Configure los permisos y ajustes específicos de Android para habilitar la funcionalidad principal del SDK y el seguimiento de atribución.

Añadir los permisos necesarios

Añade los permisos de Android necesarios a tu archivo config.xml de Cordova para habilitar la atribución, el acceso a la red y el seguimiento de referencias de instalación.

  1. Abrir config.xml: Navega hasta la raíz de tu proyecto Cordova y abre el archivo config.xml.
  2. Añade permisos: Dentro de la sección <platform name="android">, añade el siguiente permiso:
    config.xml
    <platform name="android">
        <!-- Required for GAID collection and attribution -->
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest">
            <uses-permission android:name="com.google.android.gms.permission.AD_ID" />
        </edit-config>
    </platform>

Importante para aplicaciones infantiles: Si está integrando el SDK para niños, NO añada el permiso com.google.android.gms.permission.AD_ID. Este permiso es necesario para aplicaciones estándar, pero debe omitirse en aplicaciones dirigidas a menores de 13 años para cumplir con la normativa COPPA .

Permisos adicionales (añadidos automáticamente)

Los siguientes permisos son añadidos automáticamente por el complemento Singular Cordova y no requieren configuración manual:

  • android.permission.INTERNET - Acceso a la red para la transmisión de datos
  • android.permission.ACCESS_NETWORK_STATE - Supervisión del estado de la red -
  • BIND_GET_INSTALL_REFERRER_SERVICE - Seguimiento de la fuente de instalación

Configuración de iOS

La configuración de iOS la gestiona automáticamente el complemento Cordova. No se requieren pasos de configuración manual adicionales para los proyectos de iOS.

Instalación de CocoaPods: Al compilar para iOS, Cordova ejecuta automáticamente pod install para obtener las dependencias necesarias. Asegúrate de tener CocoaPods instalado en tu máquina de desarrollo.


Integración del SDK

Cumplimiento de la normativa de privacidad: Cumpla con las leyes de privacidad de sus regiones de operación, incluyendo el RGPD, la CCPA, la COPPA y otras, al implementar el SDK de Singular. Para obtener orientación, consulte Prácticas de aceptación y exclusión del SDK.

Inicialice el SDK de Singular cada vez que se inicie su aplicación. La inicialización del SDK es esencial para todas las funciones de atribución de Singular y crea una nueva sesión para calcular las métricas de retención de usuarios.

Inicialización básica del SDK

Cree un objeto ` SingularConfig ` con sus credenciales del SDK e inicialice el SDK utilizando el método ` init() `. Esto debe hacerse lo antes posible en el ciclo de vida de su aplicación.

Ejemplo de inicialización

  1. Obtener credenciales: Inicie sesión en su cuenta de Singular y vaya a Herramientas para desarrolladores > Integración del SDK > Claves del SDK para encontrar su clave y secreto del SDK.
  2. Crear configuración: Instancia un objeto SingularConfig con tus credenciales.
  3. Inicializar el SDK: Llama a init() para iniciar el SDK.
JavaScript
// Create the Singular configuration object
var singularConfig = new cordova.plugins.SingularCordovaSdk.SingularConfig(
  "YOUR_SDK_KEY",
  "YOUR_SDK_SECRET"
);

// Initialize the Singular SDK
cordova.plugins.SingularCordovaSdk.init(singularConfig);

Configuración avanzada

Configure funciones adicionales del SDK encadenando métodos de configuración antes de llamar a init(). Este ejemplo muestra opciones de configuración comunes, como enlaces profundos, registro y tiempo de espera de sesión.

JavaScript
// Create configuration with credentials
var singularConfig = new cordova.plugins.SingularCordovaSdk.SingularConfig(
  "YOUR_SDK_KEY",
  "YOUR_SDK_SECRET"
);

// Enable debug logging (disable in production)
singularConfig.withLoggingEnabled();

// Set custom session timeout (default is 60 seconds)
singularConfig.withSessionTimeoutInSec(120);

// Configure deep linking handler
var linkHandler = function(data) {
  var deeplink = data.deeplink;
  var passthrough = data.passthrough;
  var isDeferred = data.isDeferred;

  console.log("Received deep link:", deeplink);
  console.log("Is deferred:", isDeferred);

  // Handle navigation based on deep link
  if (deeplink) {
    // Navigate to appropriate screen
  }
};
singularConfig.withSingularLink(linkHandler);

// Set custom user ID (if user is logged in)
singularConfig.withCustomUserId("user_12345");

// Initialize Singular
cordova.plugins.SingularCordovaSdk.init(singularConfig);

Referencia de configuración: Para obtener una lista completa de las opciones de configuración disponibles, consulte la Referencia de configuración del SDK de Cordova.

Atribución de referencias de instalación de Meta

Configure la atribución de Meta (Facebook) Install Referrer para realizar un seguimiento de las instalaciones procedentes de campañas publicitarias de Facebook e Instagram.

A partir del 18 de junio de 2025: el Informe de medición móvil avanzada (AMM)de Meta elimina la necesidad de implementar la atribución de origen de instalación de Meta para la mayoría de los casos de uso. No se recomienda implementar la atribución de origen de instalación de Meta si los informes AMM están habilitados para su aplicación.

Habilitar Meta Install Referrer

Si AMM no está habilitado o necesitas Meta Install Referrer para el seguimiento heredado, añade tu ID de aplicación de Facebook a la configuración del SDK.

  1. Buscar el ID de aplicación de Facebook: Inicia sesión en tu cuenta de desarrollador de Facebook y ve al panel de control de tu aplicación para localizar el ID de aplicación.
  2. Añadir a la configuración: Utiliza el método withFacebookAppId() para habilitar Meta Install Referrer:
    JavaScript
    // Create configuration
    var singularConfig = new cordova.plugins.SingularCordovaSdk.SingularConfig(
      "YOUR_SDK_KEY",
      "YOUR_SDK_SECRET"
    );
    
    // Enable Meta Install Referrer
    singularConfig.withFacebookAppId("YOUR_FACEBOOK_APP_ID");
    
    // Initialize SDK
    cordova.plugins.SingularCordovaSdk.init(singularConfig);

Cómo encontrar tu ID de aplicación de Facebook: Para obtener instrucciones detalladas sobre cómo localizar tu ID de aplicación de Facebook, consulta ¿Dónde puedo encontrar el ID de aplicación de Facebook de una aplicación?

Configuración avanzada

Requisitos para la medición de conversiones integrada de Google Ads en iOS

Si su aplicación ejecuta campañas de Google Ads dirigidas a usuarios de iOS 14.5 o superior, se requieren pasos de configuración adicionales del SDK para admitir la medición de conversiones integrada de iOS (ICM). Esto incluye:

  • Integrar el SDK de medición en el dispositivo (ODM) de Google
  • Actualización al SDK de Singular para iOS v12.8.1+ (o v5.5.0+ para Unity, v1.8.0+ para Flutter/Cordova, v3.9.0+ para React Native)
  • Añadir el indicador del enlazador « -ObjC » y habilitar « enableOdmWithTimeoutInterval » en SingularConfig

Nota: Al habilitar enableOdmWithTimeoutInterval se retrasa la inicialización del SDK y puede aplazarse la recepción de callbacks de enlaces profundos. Realice esta configuración durante la implementación inicial del SDK para evitar tener que volver a trabajar en ello.

Consulte los requisitos técnicos completos de ICM para iOS