Pular para o conteúdo principal
OneSignal foi atualizado de um modelo centrado em dispositivo (Player ID) para um modelo centrado em usuário (OneSignal ID). Para orientação de migração, consulte o Guia de Migração do User Model.Para documentação sobre implementações legadas centradas em dispositivo, veja Versão 9.

Visão geral

Este documento mapeia os métodos, propriedades e eventos do Player Model Web SDK legado do OneSignal para o SDK User Model mais recente. Cada seção inclui exemplos de código TypeScript correspondentes, demonstrando claramente como atualizar sua integração. Todos os exemplos são simplificados para fins de demonstração. Para implementações completas e atualizadas, consulte os links de documentação fornecidos em cada método ou evento.

OneSignal Service Worker

Atualize a importação em seu arquivo OneSignalSDKWorker.js: Player Model:
importScripts('https://cdn.onesignal.com/sdks/OneSignalSDKWorker.js');
User Model:
importScripts("https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.sw.js");
Keep the file path the same. Just update the importScripts URL. See OneSignal Service Worker for more information.

Initialization

init()

Player Model: Docs
<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>
User Model: Docs
<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()

Player Model: Docs
OneSignal.provideUserConsent(true)
User Model: Docs
OneSignal.setConsentGiven(true)

Registering for push

showNativePrompt()

Player Model:
OneSignal.showNativePrompt()
User Model: Docs
OneSignal.Notifications.requestPermission()

registerForPushNotifications() — Dropped in User Model

OneSignal.registerForPushNotifications()

#permissionPromptDisplay

Player Model:
OneSignal.on('permissionPromptDisplay', () => ...)
User Model: Docs
OneSignal.Notifications.addEventListener('permissionPromptDisplay', event => { ... })

showSlidedownPrompt()

Player Model:
OneSignal.showSlidedownPrompt()
User Model: Docs
OneSignal.Slidedown.promptPush()

showHttpPrompt() — Dropped in User Model

OneSignal.showHttpPrompt()

showCategorySlidedown()

Player Model:
OneSignal.showCategorySlidedown()
User Model: Docs
OneSignal.Slidedown.promptPushCategories()

#getNotificationPermission

Player Model:
OneSignal.on('getNotificationPermission', (permission) => ...)
User Model: Docs
OneSignal.User.PushSubscription.addEventListener('change', ({ optedIn }) => { ... })

isPushNotificationsSupported()

Player Model:
OneSignal.isPushNotificationsSupported()
User Model: Docs
OneSignal.Notifications.isPushSupported()

isPushNotificationsEnabled()

Player Model:
await OneSignal.isPushNotificationsEnabled()
User Model: Docs
OneSignal.User.PushSubscription.optedIn

#subscriptionChange

Player Model:
OneSignal.on('subscriptionChange', (subscribed) => ...)
User Model:
OneSignal.User.PushSubscription.addEventListener('change', ({ token }) => { ... })

Analytics

#notificationPermissionChange

Player Model:
OneSignal.on('notificationPermissionChange', ({ to }) => ...)
User Model: Docs
OneSignal.Notifications.addEventListener('permissionChange', permission => { ... })

#popoverShown

Player Model:
OneSignal.on('popoverShown', () => ...)
User Model: Docs
OneSignal.Slidedown.addEventListener('slidedownShown', presented => { ... })

#customPromptClick

Player Model:
OneSignal.on('customPromptClick', ({ result }) => ...)
User Model: Docs
OneSignal.Notifications.addEventListener('click', ({notification, result}) => { ... })

User IDs

getUserId()

Player Model:
OneSignal.getUserId()
User Model: Docs
OneSignal.User.PushSubscription.id;

setExternalUserId()

Player Model: Docs
OneSignal.setExternalUserId("external id")
User Model: Docs
OneSignal.login("external id")

removeExternalUserId()

Player Model:
OneSignal.removeExternalUserId()
User Model: Docs
OneSignal.logout()

getExternalUserId()

Player Model:
await OneSignal.getExternalUserId()
User Model: Docs
OneSignal.User.externalId

Tags

sendTag()

Player Model:
OneSignal.sendTag("key", "value")
User Model:
OneSignal.User.addTag("key", "value")
User Model doc

sendTags()

Player Model:
OneSignal.sendTags({ key1: 'value1', key2: 'value2' })
User Model:
OneSignal.User.addTags({ key1: 'value1', key2: 'value2' })

getTags()

Player Model:
await OneSignal.getTags()
User Model:
OneSignal.User.getTags()

deleteTag()

Player Model:
OneSignal.deleteTag("key")
User Model:
OneSignal.User.removeTag("key")

deleteTags()

Player Model:
OneSignal.deleteTags(["key1", "key2"])
User Model:
OneSignal.User.removeTags(["key1", "key2"])

Push Notifications

sendSelfNotification() — Dropped in User Model

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

setSubscription()

Player Model:
OneSignal.setSubscription(false)
User Model:
OneSignal.Notifications.permission = false

Receiving Notifications

#notificationDisplay

Player Model:
OneSignal.on('notificationDisplay', (event) => { ... })
User Model:
OneSignal.Notifications.addEventListener('foregroundWillDisplay', ({ notification }) => { ... })

#notificationDismiss

Player Model:
OneSignal.on('notificationDismiss', (event) => { ... })
User Model:
OneSignal.Notifications.addEventListener('dismiss', ({ notification }) => { ... })

#addListenerForNotificationOpened

Player Model:
OneSignal.on('addListenerForNotificationOpened', (event) => { ... })
User Model:
// TODO: Not yet implemented in User Model

Email

setEmail()

User Model doc Player Model:
OneSignal.setEmail('email@example.com')
User Model:
OneSignal.User.addEmail('email@example.com')

logoutEmail()

Player Model:
OneSignal.logoutEmail()
User Model:
OneSignal.User.removeEmail('email@example.com')

getEmailId() — Dropped in User Model

SMS

setSMSNumber()

Player Model:
OneSignal.setSMSNumber('+11234567890')
User Model:
OneSignal.User.addSms('+11234567890')

logoutSMSNumber()

Player Model:
OneSignal.logoutSMS()
User Model:
OneSignal.User.removeSms('+11234567890')