Saltar al contenido principal

Seguimiento multiplataforma

La mayoría de los productos están en más de una plataforma: un sitio web, una aplicación iOS y una aplicación Android. En Joryio lo modelas con una aplicación por plataforma, todas alimentando el mismo espacio de trabajo. Cada plataforma obtiene su propia clave de SDK y credenciales Push, mientras todos los eventos llegan a un perfil de usuario compartido.

Una aplicación por plataforma

Crea una aplicación independiente - en Configuración → Aplicaciones - para cada plataforma en la que publicas. Puedes crear aplicaciones web, iOS y Android. Las aplicaciones de tiendas e-commerce - Shopify, WooCommerce y Magento - se crean automáticamente al conectar esas integraciones.

Cada aplicación tiene su propia clave de SDK con el formato jry_sdk_<platform>_<random>. La plataforma está integrada en la clave, por lo que puedes saber de un vistazo a qué compilación pertenece:

jry_sdk_web_4f2a9c...       Sitio web
jry_sdk_ios_b81d3e... Aplicación iOS
jry_sdk_android_77c0aa... Aplicación Android

La clave hace tres cosas: autentica solicitudes del SDK, dirige eventos al espacio de trabajo correcto y marca cada evento con la identidad de la aplicación - $app_id, $app_name, $platform - para que puedas segmentar y analizar por plataforma.

Aplicaciones React Native

No existe una plataforma «React Native» independiente. El SDK de React Native conecta los SDK nativos de iOS y Android, por lo que un producto React Native usa dos aplicaciones: una iOS y otra Android, y pasa la clave correspondiente en tiempo de ejecución:

import { Platform } from 'react-native';
import Joryio from '@joryio/react-native-sdk';

await Joryio.initialize(
Platform.OS === 'ios'
? 'jry_sdk_ios_YOUR_IOS_KEY'
: 'jry_sdk_android_YOUR_ANDROID_KEY',
'https://api-eu1.joryio.com',
);

Esto mantiene correctas las credenciales Push de cada compilación de tienda - APNS para iOS y FCM para Android - y la analítica por plataforma precisa.

Un perfil de usuario en todas las plataformas

Las aplicaciones separan de dónde proceden los eventos, no a quién pertenecen. Todas las aplicaciones de un espacio de trabajo comparten la misma base de usuarios y los perfiles se unifican mediante ID de usuario:

  • Llama a identify con el mismo ID de usuario estable en cada plataforma. El ID de usuario de tu base de datos suele ser la mejor opción; nunca un email que pueda cambiar.
  • Antes de iniciar sesión, cada dispositivo registra actividad bajo su propio ID anónimo. Cuando se identifica al usuario, el historial anónimo del dispositivo se fusiona con el perfil identificado. Así, la atribución de registro desde web y los eventos de primer inicio desde móvil terminan en un solo lugar.
  • Identifica lo antes posible en cada sesión - al iniciar sesión y al iniciar la aplicación cuando se restaura una sesión - para que se registren anónimamente el menor número de eventos posible.
const joryio = new JoryioSDK({ sdkKey: 'jry_sdk_web_...' });

joryio.identify('user_123');

Una vez unificado, el perfil habilita comportamiento multiplataforma en todas partes:

  • Los segmentos pueden abarcar plataformas - «usó iOS pero nunca web» - porque cada evento incluye $platform y $app_id.
  • Los recorridos tratan al usuario como una sola persona: un evento Order Completed de la aplicación iOS puede cumplir el objetivo de un recorrido al que entró desde el sitio web.
  • Los atributos gestionados por el servidor, como sessionCount, cuentan actividad en todos los dispositivos y plataformas.

Los atributos establecidos desde cualquier plataforma - setAttributes - se escriben en el mismo perfil. Gana la última escritura, por lo que debes mantener nombres y tipos de atributos coherentes en todos los repositorios de código.

Credenciales Push por plataforma

Las credenciales Push se guardan en la aplicación, por eso importa tener una aplicación por plataforma:

  • Aplicación iOS: sube la clave de autenticación APNS - .p8, con Team ID y Key ID - o certificado - .p12 - en la configuración Push de la aplicación.
  • Aplicación Android: sube el JSON de cuenta de servicio de Firebase - FCM - .
  • Aplicación web: activa Push web en la aplicación. Joryio genera un par de claves VAPID y expone la clave pública al SDK web.

Configúralas desde Configuración → Aplicaciones mediante la acción de configuración Push en cada fila de aplicación. Los secretos se cifran en reposo y se muestran enmascarados después de guardar.

¿Qué aplicación recibe un Push?

Un Push se dirige a una aplicación: las credenciales de una única aplicación iOS o Android deciden qué dispositivos reciben la notificación.

  • Una aplicación, o una por plataforma - por ejemplo, una iOS y una Android - : la aplicación correcta no es ambigua, así que Joryio la resuelve automáticamente. No verás selector de aplicación.
  • Dos o más aplicaciones en la misma plataforma - por ejemplo, dos compilaciones iOS - : la elección es ambigua, por lo que aparece un selector Aplicación de destino, en el editor de campañas y el nodo Push del recorrido, para elegir desde qué aplicación sale el Push. Déjalo en Automático para usar la primera aplicación disponible.

Contenido relacionado