Saltar al contenido principal

¿Qué es un centro de preferencias?

Un Centro de Preferencias es una página en tu app o sitio web que permite a tus usuarios controlar cómo y qué tipo de mensajes reciben de ti. Para más detalles y razones para crear un Centro de Preferencias, consulta Una Guía para Centros de Preferencias de Usuario. Esta guía explica la configuración técnica necesaria para incluir un centro de preferencias de usuario en tu app o sitio web usando las APIs de OneSignal. En esta guía discutimos cómo:
  • asignar temas, categorías y controles de frecuencia con Etiquetas de Datos
  • recopilar nuevos canales de comunicación (notificaciones push, email, SMS)
  • deshabilitar canales de comunicación si el usuario quiere optar por no participar
  • manejar cumplimiento de datos
  • eliminar datos de usuario

Requisitos

  • SDKs Móviles de OneSignal versión 5+ y/o Web SDK 16+
  • Establecer el External ID o Alias
  • OneSignal no proporciona ninguna API para crear el diseño del Centro de Preferencias, solo las APIs para GET, PATCH y DELETE de Usuarios y Suscripciones
    • Si tienes un sitio web y necesitas un centro de preferencias simple, prueba nuestro Prompt de Categoría

Lectura adicional recomendada

Configuración

Cuando el usuario llega a tu centro de preferencias, usa el API View user para obtener los datos de OneSignal para el usuario basado en el external_id o un alias personalizado que establezcas. Esto te proporcionará las properties y subscriptions del usuario. Los datos útiles incluyen pero no se limitan a:
  • properties: los datos del usuario
    • tags - datos personalizados que envías a OneSignal
    • language - el código de idioma para el usuario
  • subscriptions: los canales de mensajería y estado de suscripción
    • id - el Subscription ID
    • type - Email, SMS, *Push (AndroidPush, iOSPush, ChromePush, SafariPush, etc)
    • enabled - true significa suscrito, false significa no suscrito
    • token - el token push, dirección de email o número de teléfono dependiendo del tipo de suscripción
{
  "properties": {
    "tags": {
      "finance": "1",
      "tech": "1",
      "sports": "1",
      "breaking-news": "0",
      "entertainment": "0",
      "deals": "0",
      "newsletter-frequency": "weekly",
      "customer_status": "Enterprise",
      "event": "1693411710",
      "first_name": "Jon",
      "last_name": "F"
    },
    "language": "en"
  },
  "subscriptions": [
    {
      "id": "sub_id_1",
      "type": "Email",
      "token": "email@example.com",
      "enabled": true
    },
    {
      "id": "sub_id_2",
      "type": "SMS",
      "token": "1234567890",
      "enabled": true
    },
    {
      "id": "sub_id_3",
      "type": "ChromePush",
      "token": "some_token_here",
      "enabled": true
    }
  ]
}
Usa los datos proporcionados para poblar el centro de preferencias según sea necesario.

Asignar categorías y controles de frecuencia

Consulta Etiquetas de Datos. Las etiquetas son pares clave-valor usados para segmentar y personalizar. Usa enteros codificados como cadenas o timestamps para habilitar filtrado basado en rangos. Los usuarios pueden alternar intereses (ej., sports: 1) o establecer etiquetas de frecuencia como newsletter-frequency: weekly. Usa estos datos en Segmentos o el API Create notification con filtros. Para actualizar una etiqueta, llama al API Update user.

Recopilar nuevos canales de comunicación

Verifica subscriptions para tipo y estado habilitado. Muestra token solo para email/SMS, no para push.
Si la información de contacto existe en tu sistema pero aún no en OneSignal, usa tu propia BD como respaldo para mostrarla.

Actualizaciones de Email y SMS

Usa los métodos SDK addEmail, addSms o las APIs Create subscription y Update subscription. El id de suscripción es requerido para actualizaciones.

Actualizaciones de Push

Si push no está habilitado, solicita al usuario.

Deshabilitar canales de comunicación

Usa Update subscription para establecer enabled a false. Alterna a true para optar por participar nuevamente.

Manejar cumplimiento de datos

Prevén la inicialización del SDK por defecto y requiere consentimiento del usuario para inicializar. Consulta Manejo de Datos Personales.

Eliminar datos de usuario

Usa el API Delete user para eliminar completamente un usuario de OneSignal.