Saltar al contenido principal
OneSignal se ha actualizado de un modelo centrado en dispositivos (Player ID) a un modelo centrado en usuarios (OneSignal ID). Para orientación sobre migración, consulte la Guía de Migración del Modelo de Usuario.Para documentación sobre implementaciones heredadas centradas en dispositivos, consulte Versión 9.

Descripción general

Este documento mapea los métodos, propiedades y eventos del SDK web del Modelo de Jugador heredado de OneSignal al SDK del Modelo de Usuario más nuevo. Cada sección incluye ejemplos de código TypeScript coincidentes, demostrando claramente cómo actualizar su integración. Todos los ejemplos están simplificados con fines de demostración. Para implementaciones completas y actualizadas, consulte los enlaces de documentación proporcionados bajo cada método o evento.

Service Worker de OneSignal

Actualice la importación en su archivo OneSignalSDKWorker.js: Modelo de Jugador:
importScripts('https://cdn.onesignal.com/sdks/OneSignalSDKWorker.js');
Modelo de Usuario:
importScripts("https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.sw.js");
Mantenga la misma ruta del archivo. Solo actualice la URL de importScripts. Consulte Service Worker de OneSignal para más información.

Inicialización

init()

Modelo de Jugador: Documentación
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async></script>
<script>
window.OneSignal = window.OneSignal || [];
OneSignal.push(function() {
  OneSignal.init({
    appId: "YOUR_APP_ID"
  });
});
</script>
Modelo de Usuario: Documentación
<script src="https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js" defer></script>
<script>
window.OneSignalDeferred = window.OneSignalDeferred || [];
OneSignalDeferred.push(async function(OneSignal) {
  await OneSignal.init({
    appId: "YOUR_APP_ID",
  });
});
</script>

provideUserConsent()

Modelo de Jugador: Documentación
OneSignal.provideUserConsent(true)
Modelo de Usuario: Documentación
OneSignal.setConsentGiven(true)

Registro para push

showNativePrompt()

Modelo de Jugador:
OneSignal.showNativePrompt()
Modelo de Usuario: Documentación
OneSignal.Notifications.requestPermission()

registerForPushNotifications() — Eliminado en Modelo de Usuario

OneSignal.registerForPushNotifications()

#permissionPromptDisplay

Modelo de Jugador:
OneSignal.on('permissionPromptDisplay', () => ...)
Modelo de Usuario: Documentación
OneSignal.Notifications.addEventListener('permissionPromptDisplay', event => { ... })

showSlidedownPrompt()

Modelo de Jugador:
OneSignal.showSlidedownPrompt()
Modelo de Usuario: Documentación
OneSignal.Slidedown.promptPush()

showHttpPrompt() — Eliminado en Modelo de Usuario

OneSignal.showHttpPrompt()

showCategorySlidedown()

Modelo de Jugador:
OneSignal.showCategorySlidedown()
Modelo de Usuario: Documentación
OneSignal.Slidedown.promptPushCategories()

#getNotificationPermission

Modelo de Jugador:
OneSignal.on('getNotificationPermission', (permission) => ...)
Modelo de Usuario: Documentación
OneSignal.User.PushSubscription.addEventListener('change', ({ optedIn }) => { ... })

isPushNotificationsSupported()

Modelo de Jugador:
OneSignal.isPushNotificationsSupported()
Modelo de Usuario: Documentación
OneSignal.Notifications.isPushSupported()

isPushNotificationsEnabled()

Modelo de Jugador:
await OneSignal.isPushNotificationsEnabled()
Modelo de Usuario: Documentación
OneSignal.User.PushSubscription.optedIn

#subscriptionChange

Modelo de Jugador:
OneSignal.on('subscriptionChange', (subscribed) => ...)
Modelo de Usuario:
OneSignal.User.PushSubscription.addEventListener('change', ({ token }) => { ... })

Análisis

#notificationPermissionChange

Modelo de Jugador:
OneSignal.on('notificationPermissionChange', ({ to }) => ...)
Modelo de Usuario: Documentación
OneSignal.Notifications.addEventListener('permissionChange', permission => { ... })

#popoverShown

Modelo de Jugador:
OneSignal.on('popoverShown', () => ...)
Modelo de Usuario: Documentación
OneSignal.Slidedown.addEventListener('slidedownShown', presented => { ... })

#customPromptClick

Modelo de Jugador:
OneSignal.on('customPromptClick', ({ result }) => ...)
Modelo de Usuario: Documentación
OneSignal.Notifications.addEventListener('click', ({notification, result}) => { ... })

IDs de usuario

getUserId()

Modelo de Jugador:
OneSignal.getUserId()
Modelo de Usuario: Documentación
OneSignal.User.PushSubscription.id;

setExternalUserId()

Modelo de Jugador: Documentación
OneSignal.setExternalUserId("external id")
Modelo de Usuario: Documentación
OneSignal.login("external id")

removeExternalUserId()

Modelo de Jugador:
OneSignal.removeExternalUserId()
Modelo de Usuario: Documentación
OneSignal.logout()

getExternalUserId()

Modelo de Jugador:
await OneSignal.getExternalUserId()
Modelo de Usuario: Documentación
OneSignal.User.externalId

Etiquetas

sendTag()

Modelo de Jugador:
OneSignal.sendTag("key", "value")
Modelo de Usuario:
OneSignal.User.addTag("key", "value")
Modelo de Usuario doc

sendTags()

Modelo de Jugador:
OneSignal.sendTags({ key1: 'value1', key2: 'value2' })
Modelo de Usuario:
OneSignal.User.addTags({ key1: 'value1', key2: 'value2' })

getTags()

Modelo de Jugador:
await OneSignal.getTags()
Modelo de Usuario:
OneSignal.User.getTags()

deleteTag()

Modelo de Jugador:
OneSignal.deleteTag("key")
Modelo de Usuario:
OneSignal.User.removeTag("key")

deleteTags()

Modelo de Jugador:
OneSignal.deleteTags(["key1", "key2"])
Modelo de Usuario:
OneSignal.User.removeTags(["key1", "key2"])

Notificaciones push

sendSelfNotification() — Eliminado en Modelo de Usuario

OneSignal.sendSelfNotification('title', 'message', 'url')

setSubscription()

Modelo de Jugador:
OneSignal.setSubscription(false)
Modelo de Usuario:
OneSignal.Notifications.permission = false

Recibir notificaciones

#notificationDisplay

Modelo de Jugador:
OneSignal.on('notificationDisplay', (event) => { ... })
Modelo de Usuario:
OneSignal.Notifications.addEventListener('foregroundWillDisplay', ({ notification }) => { ... })

#notificationDismiss

Modelo de Jugador:
OneSignal.on('notificationDismiss', (event) => { ... })
Modelo de Usuario:
OneSignal.Notifications.addEventListener('dismiss', ({ notification }) => { ... })

#addListenerForNotificationOpened

Modelo de Jugador:
OneSignal.on('addListenerForNotificationOpened', (event) => { ... })
Modelo de Usuario:
// TODO: Aún no implementado en Modelo de Usuario

Correo electrónico

setEmail()

Modelo de Usuario doc Modelo de Jugador:
OneSignal.setEmail('email@example.com')
Modelo de Usuario:
OneSignal.User.addEmail('email@example.com')

logoutEmail()

Modelo de Jugador:
OneSignal.logoutEmail()
Modelo de Usuario:
OneSignal.User.removeEmail('email@example.com')

getEmailId() — Eliminado en Modelo de Usuario

SMS

setSMSNumber()

Modelo de Jugador:
OneSignal.setSMSNumber('+11234567890')
Modelo de Usuario:
OneSignal.User.addSms('+11234567890')

logoutSMSNumber()

Modelo de Jugador:
OneSignal.logoutSMS()
Modelo de Usuario:
OneSignal.User.removeSms('+11234567890')