PC y consola - Guía de integración de juegos

Documento

Guía de integración S2S para PC y consola

Guía completa para implementar la integración de servidor a servidor para la atribución de juegos de PC y consola, lo que permite una medición y análisis precisos de las campañas en las plataformas de escritorio y de juegos.

Función para empresas: La atribución de juegos de PC y consola es una función para empresas. Para obtener más información, lea las preguntas frecuentes sobre la atribución de juegos de PC y consolao póngase en contacto con su gestor de éxito de clientes.

Requisito de SDK web: La atribución de PC y consola desde campañas web requiere la implementación de Singular Web SDK en sus páginas de destino de marketing. El SDK Web captura los datos de los clics y permite la correspondencia de atribución cuando los usuarios instalan e inician su juego.

Pasos necesarios:

  • Implementar Singular Web SDKen las páginas de destino
  • Configure Web SDK con el ID de producto correspondiente (el mismo que el identificador del juego).
  • Implementar la integración S2S en el juego (esta guía)
  • Implementar opcionalmente Match ID para mejorar la precisión de la atribución

Visión general

Integración de servidor a servidor

Singular proporciona una API REST que permite la generación de informes de servidor a servidor de datos de conversión de juegos de PC y consola para análisis de atribución, medición del rendimiento de la campaña y seguimiento del comportamiento del usuario.

Capacidades de integración:

  • Seguimiento de sesiones de juego: Informe de las sesiones de usuario y la actividad a través de lanzamientos de juegos
  • Atribución de instalaciones: Atribuya las nuevas instalaciones de juegos a las campañas de marketing.
  • Análisis de eventos: Seguimiento de los eventos del juego y de las interacciones de los usuarios para el análisis del embudo.
  • Medición de ingresos: Mide las compras dentro del juego y el rendimiento de la monetización
  • Soporte multiplataforma: Seguimiento unificado en PC, Xbox, PlayStation, Nintendo y Meta Quest

Requisitos previos

Antes de implementar la integración de S2S en PC y consola, asegúrese de que Web SDK está correctamente configurado para un flujo de trabajo de atribución completo.

Componente Requisito
SDK web

Necesario: Debe implementarse en las páginas de destino de marketing para capturar datos de clics y permitir la atribución.

Guía de implementación: Web SDK Overview & Getting Started

Nota de configuración: el ID de producto del SDK web debe coincidir con el identificador del juego (parámetroi ) utilizado en la integración S2S. Esta alineación permite a Singular conectar los clics web con las instalaciones del juego.

Clave SDK

Obtenga la clave SDK de Singular desde Dashboard → Developer Tools → SDK Integration → SDK Keys.

Método de atribución

Revise los métodos de atribución disponibles y seleccione el enfoque adecuado para su implementación:

  • Fingerprint Attribution: Coincidencia automática basada en las características del dispositivo (por defecto)
  • Atribución de ID de coincidencia: Mayor precisión utilizando el identificador transmitido desde el SDK web al juego (avanzado)

Consulte Métodos de atribución para obtener más información.


Arquitectura de integración

La atribución completa de PC y consola requiere una implementación conjunta del lado web y del lado del juego.

Flujo de atribución:

  1. El usuario hace clic en el anuncio: El usuario hace clic en el anuncio de la campaña de marketing de su juego
  2. Visita a la página de destino: El usuario llega a la página de destino con Singular Web SDK implementado
  3. Captura de clics: Web SDK captura los datos de los clics, incluyendo la huella digital del dispositivo y los parámetros de la campaña
  4. Descarga del juego: El usuario descarga e instala el juego desde la tienda o mediante descarga directa
  5. Primer lanzamiento: El usuario inicia el juego por primera vez
  6. Informe de sesión: El juego informa de la sesión a través de la API S2S con el identificador del dispositivo.
  7. Matching de atribución: Singular hace coincidir la instalación del juego con el clic en la web basándose en la huella dactilar o el Match ID
  8. Atribución de campaña: La instalación se atribuye a la campaña de origen para la medición del ROI

Recursos de documentación

La referencia completa de la API proporciona especificaciones de puntos finales, parámetros y ejemplos de implementación.


Conceptos de integración

Conceptos básicos y requisitos para implementar una integración completa de S2S para PC y consola con Singular.

Autenticación

Requisito de clave SDK

Todas las solicitudes a la API S2S de PC y consola de Singular requieren autenticación de clave SDK en el parámetro a.

Parámetro Descripción
a

Clave SDK de Singular para la autenticación de la API.

Ubicación: Singular Dashboard → Developer Tools → SDK Integration → SDK Keys.

Importante: No utilice Reporting API Key que se encuentra en Developer Tools → API Keys. Reporting API Key es solo para Reporting API de Singular.

Ejemplo: sdkKey_afdadsf7asf56


Privacidad del usuario

Cumplimiento de la privacidad

Singular recomienda ofrecer a los usuarios finales la posibilidad de aceptar o rechazar el seguimiento para preservar la privacidad del usuario y cumplir con la normativa pertinente.

Opciones de implementación:

  • Opción 1: No enviar datos de eventos del juego a Singular cuando el usuario opta por no participar.
  • Opción 2: Enviar los datos de los eventos del juego pero incluir las opciones de consentimiento del usuario a través del parámetro data_sharing_options con el valor "Limitar el uso compartido de datos".

Marco de privacidad: Singular utiliza "Limitar el uso compartido de datos" en las devoluciones de privacidad del usuarioy transmite la información a los socios que la necesitan para cumplir la normativa. Consulte Privacidad del usuario y Limitar el uso compartido de datospara obtener más información.


Plataformas compatibles

Definición de plataforma

La plataforma representa dónde juega el usuario y debe introducirse en el parámetro pen todas las solicitudes de API S2S.

Valores de plataforma admitidos:

  • pc - Plataformas de ordenadores personales
  • xbox - Consolas de juegos Microsoft Xbox
  • playstation - Consolas de juegos PlayStation de Sony
  • nintendo - Consolas Nintendo
  • metaquest - Cascos Meta Quest VR

Sistemas operativos y tiendas

Además de la plataforma, especifique el sistema operativo/de juego mediante el parámetro osy el almacén de distribución mediante el parámetro install_source.

Plataforma
(p)
Sistema operativo/de juego
(os)
Almacén
(install_source)
pc
  • windows
  • linux
  • macos
  • steamos
  • steam
  • epicgamestore
  • microsoftstore
  • gog
  • humblestore
  • selfdistributed
xbox
  • xbox_one
  • xbox_360
  • xbox_series_s
  • xbox_series_x
  • xbox
playstation
  • playstation_3
  • playstation_4
  • playstation_5
  • playstation
nintendo
  • nintendo_switch
  • nintendo
metaquest
  • metaquest
  • metaquest_2
  • metaquest_pro
  • metaquest

Valores personalizados: Se admiten valores personalizados para los parámetros del sistema operativo y de la tienda, pero Singular recomienda utilizar los valores estandarizados anteriores para mayor coherencia y claridad de los informes.


Identificador del juego

Identificador de aplicación

El identificador de juego asocia eventos de juego con un juego específico y debe pasarse en el parámetro i en cada solicitud.

Requisito crítico: El identificador de juego utilizado en la integración S2S debe coincidir exactamente con el ID de producto configurado en su implementación de Singular Web SDK. Esta alineación es esencial para que Singular atribuya las instalaciones de juegos a los clics de la campaña web.

Requisitos del identificador:

  • Formato: Se admite cualquier valor, pero Singular recomienda la notación DNS inversa (por ejemplo, com.singular.game).
  • Alineación Web SDK: Debe coincidir con el ID de producto del SDK web configurado en las páginas de destino para que funcione la atribución.
  • Coherencia entre plataformas: Debe utilizarse el mismo identificador para el mismo juego en todas las plataformas compatibles.

Ejemplos de configuración:

Implementación Configuración
SDK web
const config = {
  apiKey: 'YOUR_SDK_KEY',
  productId: 'com.singular.game',  // Must match S2S identifier
  // ... other config
};
API S2S (PC)
p=pc&i=com.singular.game
API S2S (Xbox)
p=xbox&i=com.singular.game
API S2S (PlayStation)
p=playstation&i=com.singular.game

Identificación de dispositivos

Seguimiento único de la instalación del juego

El identificador de instalación/dispositivo asocia eventos de juego a lo largo de múltiples sesiones de juego para la misma instalación de juego y debe pasarse en el parámetro sdiden cada solicitud.

Especificaciones del identificador:

  • Formato: Formato UUID versión 4 recomendado
  • Generación: Valor generado por el juego/servidor en el primer inicio del juego (instalación)
  • Persistencia: Debe persistir durante toda la vida de la instalación del juego
  • Unicidad: Cada instalación de juego requiere un identificador único

Ejemplo: sdid=40009df0-d618-4d81-9da1-cbb3337b8dec


Atribución de Match ID

Match ID permite mejorar la precisión de la atribución para campañas web al pasar un identificador único del SDK web a la instalación del juego, proporcionando una alternativa de coincidencia determinista a la atribución basada en huellas dactilares.

Característica avanzada: La utilización de Match ID para la atribución es una función avanzada que requiere la coordinación entre las implementaciones web y de juegos. Consulte con Singular Solution Engineer antes de implementarla.

Cómo funciona Match ID:

  1. Web SDK genera Match ID: Singular Web SDKcrea un único Match ID cuando el usuario visita la página de destino.
  2. Recuperación del Match ID: Utilice los métodos de Web SDK para recuperar el ID de partida de la página de destino.
  3. Pasar al juego: Su implementación pasa el ID de partida de la página web al juego durante el proceso de descarga/instalación (por ejemplo, parámetro de consulta, enlace profundo, cookie)
  4. Informe con el primer lanzamiento: El juego incluye el ID del partido en la notificación de la primera sesión a Singular a través del parámetro match_id
  5. Partida determinista: Singular utiliza el ID de coincidencia para una coincidencia de atribución precisa.

Métodos de Match ID del Web SDK

Implementación nativa

Singular Web SDK proporciona métodos nativos para recuperar, establecer y borrar los valores de Match ID en las páginas de destino.

Métodos disponibles:

Método Descripción
getMatchID()

Recupera el ID de coincidencia único generado por Singular Web SDK para la sesión web actual.

Devuelve: Cadena que contiene el valor del Match ID

setMatchID(matchId)

Establece el ID de coincidencia personalizado para la sesión web actual en lugar de utilizar el valor generado por Singular.

Parámetros: matchId (cadena) - Valor de ID de coincidencia personalizado

clearMatchID()

Elimina el ID de coincidencia personalizado establecido a través de setMatchID()y vuelve al valor predeterminado generado por Singular.


Ejemplos de implementación

NATIVE JAVASCRIPTGOOGLE TAG MANAGER

Implementación del SDK web nativo

Utilice estos métodos directamente después de la inicialización de Singular Web SDK para recuperar y gestionar los valores de Match ID.

Recuperar ID de partido

// Get the Singular-generated Match ID
const matchId = window.singularSdk.getMatchID();
console.log('Match ID:', matchId);

// Store Match ID for passing to game
localStorage.setItem('singular_match_id', matchId);

Establecer ID de partido personalizado

// Set your own Match ID value
const customMatchId = 'your-custom-match-id-123';
window.singularSdk.setMatchID(customMatchId);

console.log('Custom Match ID set:', customMatchId);

Borrar ID de partido

// Clear custom Match ID and revert to default
window.singularSdk.clearMatchID();

// Get the new default Match ID
const defaultMatchId = window.singularSdk.getMatchID();
console.log('Default Match ID restored:', defaultMatchId);

Ejemplo completo con botón de descarga

// Initialize Web SDK
const config = new SingularConfig(sdkKey, sdkSecret, productId)
  .withInitFinishedCallback(() = {
    console.log('Singular SDK initialized');
  });

singularSdk.init(config);

// Handle download button click
document.getElementById('download-button').addEventListener('click', function() {
  // Get Match ID before redirecting to download
  const matchId = window.singularSdk.getMatchID();
  
  // Pass Match ID to download page via query parameter
  const downloadUrl = `https://example.com/download?match_id=${matchId}`;
  
  // Redirect to download page
  window.location.href = downloadUrl;
});

Pasar el ID de partido al juego

Estrategias de implementación

Tras recuperar el ID de partida del SDK web, implemente un mecanismo para pasar el valor de la página de destino a la instalación del juego.

Enfoques comunes:

Método Implementación Caso de uso
Parámetro de consulta

Añadir el ID del partido a la URL de descarga como parámetro de consulta.

https://example.com/download?match_id=abc123

Descargas directas en las que la página de descarga puede extraer el parámetro y pasarlo al instalador del juego.

Almacenamiento de cookies

Almacenar el ID de partido en una cookie de origen accesible desde la página de descarga del juego.

document.cookie = `match_id=${matchId}; path=/; max-age=86400`;

Flujos multipágina en los que el ID de partido debe persistir a lo largo de las páginas.

Almacenamiento local

Almacenar el ID de coincidencia en el almacenamiento local del navegador.

localStorage.setItem('singular_match_id', matchId);

Escenarios del mismo dominio donde la página de destino y la página de descarga comparten almacenamiento.

Enlace profundo

Incrusta el ID de partido en el esquema de enlace profundo personalizado para el lanzamiento directo del juego.

mygame://install?match_id=abc123

Implementaciones avanzadas con gestores de protocolo personalizados

API del servidor

Envía el ID de partida a la API del servidor, el juego lo recupera a través de una solicitud autenticada.

Implementaciones seguras que requieren validación del servidor y autenticación del usuario.


Implementación de la API S2S

Informe del ID de la partida

Una vez que el juego recupera el ID de partido de la implementación web, se incluye en la notificación de la primera sesión a Singular para la comparación de atribuciones.

Momento crítico: El ID de partido debe incluirse en la notificación de la primera sesión de juego (instalación) para que funcione la atribución. El envío del ID de partido en sesiones posteriores no permite la comparación de atribuciones.

Solicitud de sesión con Match ID:

PYTHONCURLJAVASCRIPT
import requests

def report_first_session_with_match_id(sdk_key, game_id, device_id, platform, match_id):
    """
    Report first game session with Match ID for attribution
    """
    session_url = "https://s2s.singular.net/api/v1/launch"
    
    params = {
        'a': sdk_key,
        'i': game_id,
        'sdid': device_id,
        'p': platform,
        'os': 'windows',
        'install_source': 'steam',
        'ip': get_user_ip(),
        'match_id': match_id  # Include Match ID for attribution
    }
    
    response = requests.get(session_url, params=params)
    return response.json()

# Example: First launch with Match ID
report_first_session_with_match_id(
    sdk_key='your_sdk_key_here',
    game_id='com.singular.game',
    device_id='40009df0-d618-4d81-9da1-cbb3337b8dec',
    platform='pc',
    match_id='abc123def456'  # Retrieved from landing page
)

Mejores prácticas de ID de partido

Lista de comprobación de la implementación

Requisitos de implementación completos:

  • Integración Web SDK: Implementar Singular Web SDKen páginas de destino con ID de producto coincidente.
  • Recuperación de ID coincidente: Utilizar getMatchID()para recuperar el valor tras la inicialización del SDK
  • Transmisión del valor: Implementación de un mecanismo seguro para pasar el ID de partida de la web al juego.
  • Almacenamiento en el juego: Almacenar el ID del partido en el juego hasta el primer informe de inicio/sesión.
  • Sólo primera sesión: Incluir el parámetro match_idsólo en la notificación de la primera sesión.
  • Validación de valores: Verificar que el valor del ID de partido coincide entre la web y las implementaciones del juego.
  • Pruebas: Pruebe el flujo completo desde el clic en la página de destino hasta la instalación del juego y la atribución.

Para obtener información completa sobre la metodología de atribución y la resolución de problemas, consulte las Preguntas frecuentes sobre la atribución de juegos para PC y consola.


Seguimiento de sesiones de juego

En la integración de PC y consola se requiere la notificación de las sesiones de juego a Singular, lo que permite la atribución de la instalación, el seguimiento del reenganche y el análisis de la retención de usuarios.

Punto final de notificación de sesión

Requisitos de implementación

Llame al punto final de notificación de sesión cada vez que se inicie el juego para notificar a Singular sobre la sesión de juego.

Referencia API: Para la especificación completa del punto final, consulte la documentación del punto final de notificación de sesión.


Procesamiento de la sesión

Flujo de trabajo de atribución

Las notificaciones de sesión permiten a Singular realizar múltiples funciones de atribución y análisis basadas en el contexto de la sesión.

Lógicade procesamiento:

  • Primera sesión (instalación): Si se trata de la primera sesión de juego después de una instalación única, Singular reconoce la nueva instalación y activa el proceso de atribución de instalación.
  • Sesión de reenganche: Si la sesión se califica como de nueva participación (próximamente), Singular activa el proceso de atribución de nueva participación (consulte las preguntas frecuentes sobre nueva participación).
  • Sesión normal: En caso contrario, se marca como sesión de juego para el seguimiento de la actividad y retención del usuario

Mejores prácticas de implementación

Recogida asíncrona de datos

Al recopilar datos para informar de la sesión de juego, espere a que las funciones asíncronas devuelvan y gestionen diversas funciones antes de enviar la notificación de sesión.

Consideraciones de tiempo críticas:

  • Atribución de ID de partido: Cuando se utiliza el ID de partido para mejorar la atribución, notifique la primera sesión de juego hasta que el ID de partido esté potencialmente disponible.
  • Consentimiento del usuario: Si el juego proporciona la opción de participar en el marketing y los análisis de Singular, espere hasta que se obtenga el consentimiento antes de notificar la sesión de juego.
  • Identificador de dispositivo: Asegúrese de que el SDID se genera y almacena antes de la notificación de la primera sesión

Ejemplo de solicitud de sesión

Ejemplo de implementación

PYTHONCURLJAVASCRIPT
import requests

def report_game_session(sdk_key, game_id, device_id, platform, os_version, store):
    """
    Report game session to Singular
    """
    session_url = "https://s2s.singular.net/api/v1/launch"
    
    params = {
        'a': sdk_key,
        'i': game_id,
        'sdid': device_id,
        'p': platform,
        'os': os_version,
        'install_source': store,
        'ip': get_user_ip()
    }
    
    try:
        response = requests.get(session_url, params=params, timeout=10)
        
        if response.status_code == 200:
            data = response.json()
            if data.get('status') == 'ok':
                print("Session reported successfully")
                return True
            else:
                print(f"Session error: {data.get('reason')}")
                return False
        else:
            print(f"HTTP error: {response.status_code}")
            return False
            
    except Exception as e:
        print(f"Exception reporting session: {e}")
        return False

# Example usage
report_game_session(
    sdk_key='your_sdk_key_here',
    game_id='com.singular.game',
    device_id='40009df0-d618-4d81-9da1-cbb3337b8dec',
    platform='pc',
    os_version='windows',
    store='steam'
)

Seguimiento de eventos en el juego

Realice un seguimiento de los eventos del juego y las interacciones de los usuarios para analizar el rendimiento de las campañas de marketing, optimizar los embudos de usuarios y medir el compromiso a lo largo del recorrido del jugador.

Planificación de eventos

Definición de eventos

Antes de implementar la integración S2S, defina los eventos que su organización desea rastrear para el análisis de la campaña y la medición del comportamiento del usuario.

Guía de planificación de eventos:Definición de eventos en el juego


Punto final de notificación de eventos

Notificación de eventos

Llame al punto final de notificación de eventos cuando se produzca un evento en el juego para notificarlo a Singular para el análisis de atribución y la optimización de campañas.

Referencia API: Para ver la especificación completa del punto final, consulte la documentación del punto final de notificación de eventos.

El nombre del evento incluido en la llamada a la API determina cómo se identifica el evento en los informes, exportaciones y postbacks de Singular.


Mejores prácticas de denominación de eventos

Eventos estándar

Singular recomienda el uso de una convención estándar de nomenclatura de eventos y atributos para agilizar la integración de socios y la compatibilidad analítica.

Directrices de implementación:

  • Eventos estándar: Utilice la convención denomenclatura de eventos estándar de Singularpara el mapeo automático de socios y la racionalización de la integración.
  • Idioma inglés: Pase los nombres y atributos de eventos personalizados en inglés para la compatibilidad con socios de terceros y soluciones analíticas
  • Límite de caracteres: Nombres de eventos limitados a 32 caracteres ASCII (32 bytes para conversión UTF-8)
  • Límites de atributos: Atributos y valores de eventos limitados a 500 caracteres ASCII

Seguimiento de eventos de ingresos

Medición de ingresos

Realice un seguimiento de los ingresos procedentes de las compras dentro del juego para analizar el rendimiento de la campaña y el retorno de la inversión, con datos disponibles en informes, exportaciones de registros y postbacks.

Implementación de eventos de ingresos: Utilice el punto final de notificación de eventos con parámetros de ingresos adicionales para designar eventos de ingresos.

Parámetrosde ingresos requeridos:

  • is_revenue_event=true - Marca el evento como evento de ingresos (opcional si el nombre del evento es __iap__ o el importe es superior a cero)
  • amt=1.99 - Importe de ingresos
  • cur=USD - Código de moneda ISO 4217

Ejemplos de solicitud de eventos

Ejemplos de implementación

PYTHONCURLJAVASCRIPT

Evento estándar

import requests

def report_game_event(sdk_key, game_id, device_id, platform, event_name, event_attributes=None):
    """
    Report in-game event to Singular
    """
    event_url = "https://s2s.singular.net/api/v1/evt"
    
    params = {
        'a': sdk_key,
        'i': game_id,
        'sdid': device_id,
        'p': platform,
        'n': event_name,
        'ip': get_user_ip()
    }
    
    if event_attributes:
        import json
        params['e'] = json.dumps(event_attributes)
    
    response = requests.get(event_url, params=params)
    return response.json()

# Example: Level complete event
report_game_event(
    sdk_key='your_sdk_key_here',
    game_id='com.singular.game',
    device_id='40009df0-d618-4d81-9da1-cbb3337b8dec',
    platform='pc',
    event_name='sng_level_achieved',
    event_attributes={
        'level': '5',
        'score': '1250'
    }
)

Evento de ingresos

def report_revenue_event(sdk_key, game_id, device_id, platform, amount, currency):
    """
    Report revenue event to Singular
    """
    event_url = "https://s2s.singular.net/api/v1/evt"
    
    params = {
        'a': sdk_key,
        'i': game_id,
        'sdid': device_id,
        'p': platform,
        'n': '__iap__',
        'is_revenue_event': 'true',
        'amt': amount,
        'cur': currency,
        'ip': get_user_ip()
    }
    
    response = requests.get(event_url, params=params)
    return response.json()

# Example: $9.99 purchase
report_revenue_event(
    sdk_key='your_sdk_key_here',
    game_id='com.singular.game',
    device_id='40009df0-d618-4d81-9da1-cbb3337b8dec',
    platform='pc',
    amount=9.99,
    currency='USD'
)

Pasos siguientes

Complete su integración de PC & Consola S2S con recursos y asistencia adicionales.

Recursos adicionales

Documentación y asistencia


Canales de asistencia

Obtener Ayuda

Póngase en contacto con el equipo de Singular para obtener asistencia en la implementación y soporte técnico.

  • Ingeniero de soluciones: Consulte con Singular Solution Engineer para funciones avanzadas y planificación de la integración.
  • Gestor de Éxito del Cliente: Póngase en contacto con CSM para la habilitación de funciones empresariales y la configuración de cuentas
  • Equipo de soporte: Envíe tickets de soporte para problemas técnicos y asistencia en la resolución de problemas