메인 콘텐츠로 건너뛰기

Documentation Index

Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt

Use this file to discover all available pages before exploring further.

OneSignal은 기기 중심 모델(Player ID)에서 사용자 중심 모델(OneSignal ID)로 업데이트되었습니다. 마이그레이션 가이드는 사용자 모델 마이그레이션 가이드를 참조하세요.레거시 기기 중심 구현에 대한 문서는 버전 9를 참조하세요.

개요

이 문서는 OneSignal의 레거시 Player 모델 웹 SDK의 메서드, 속성 및 이벤트를 새로운 User 모델 SDK에 매핑합니다. 각 섹션에는 일치하는 TypeScript 코드 예제가 포함되어 있어 통합을 업데이트하는 방법을 명확하게 보여줍니다. 모든 예제는 데모 목적으로 단순화되었습니다. 완전하고 최신 구현을 위해서는 각 메서드 또는 이벤트 아래에 제공된 문서 링크를 참조하세요.

OneSignal Service Worker

OneSignalSDKWorker.js 파일의 import를 업데이트하세요: Player 모델:
importScripts('https://cdn.onesignal.com/sdks/OneSignalSDKWorker.js');
User 모델:
importScripts("https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.sw.js");
파일 경로는 동일하게 유지하세요. importScripts URL만 업데이트하세요. 자세한 내용은 OneSignal Service Worker를 참조하세요.

초기화

init()

Player 모델: 문서
<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 모델: 문서
<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 모델: 문서
OneSignal.provideUserConsent(true)
User 모델: 문서
OneSignal.setConsentGiven(true)

푸시 등록

showNativePrompt()

Player 모델:
OneSignal.showNativePrompt()
User 모델: 문서
OneSignal.Notifications.requestPermission()

registerForPushNotifications() — User 모델에서 제거됨

OneSignal.registerForPushNotifications()

#permissionPromptDisplay

Player 모델:
OneSignal.on('permissionPromptDisplay', () => ...)
User 모델: 문서
OneSignal.Notifications.addEventListener('permissionPromptDisplay', event => { ... })

showSlidedownPrompt()

Player 모델:
OneSignal.showSlidedownPrompt()
User 모델: 문서
OneSignal.Slidedown.promptPush()

showHttpPrompt() — User 모델에서 제거됨

OneSignal.showHttpPrompt()

showCategorySlidedown()

Player 모델:
OneSignal.showCategorySlidedown()
User 모델: 문서
OneSignal.Slidedown.promptPushCategories()

#getNotificationPermission

Player 모델:
OneSignal.on('getNotificationPermission', (permission) => ...)
User 모델: 문서
OneSignal.User.PushSubscription.addEventListener('change', ({ optedIn }) => { ... })

isPushNotificationsSupported()

Player 모델:
OneSignal.isPushNotificationsSupported()
User 모델: 문서
OneSignal.Notifications.isPushSupported()

isPushNotificationsEnabled()

Player 모델:
await OneSignal.isPushNotificationsEnabled()
User 모델: 문서
OneSignal.User.PushSubscription.optedIn

#subscriptionChange

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

분석

#notificationPermissionChange

Player 모델:
OneSignal.on('notificationPermissionChange', ({ to }) => ...)
User 모델: 문서
OneSignal.Notifications.addEventListener('permissionChange', permission => { ... })

#popoverShown

Player 모델:
OneSignal.on('popoverShown', () => ...)
User 모델: 문서
OneSignal.Slidedown.addEventListener('slidedownShown', presented => { ... })

#customPromptClick

Player 모델:
OneSignal.on('customPromptClick', ({ result }) => ...)
User 모델: 문서
OneSignal.Notifications.addEventListener('click', ({notification, result}) => { ... })

사용자 ID

getUserId()

Player 모델:
OneSignal.getUserId()
User 모델: 문서
OneSignal.User.PushSubscription.id;

setExternalUserId()

Player 모델: 문서
OneSignal.setExternalUserId("external id")
User 모델: 문서
OneSignal.login("external id")

removeExternalUserId()

Player 모델:
OneSignal.removeExternalUserId()
User 모델: 문서
OneSignal.logout()

getExternalUserId()

Player 모델:
await OneSignal.getExternalUserId()
User 모델: 문서
OneSignal.User.externalId

태그

sendTag()

Player 모델:
OneSignal.sendTag("key", "value")
User 모델:
OneSignal.User.addTag("key", "value")
User 모델 문서

sendTags()

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

getTags()

Player 모델:
await OneSignal.getTags()
User 모델:
OneSignal.User.getTags()

deleteTag()

Player 모델:
OneSignal.deleteTag("key")
User 모델:
OneSignal.User.removeTag("key")

deleteTags()

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

푸시 알림

sendSelfNotification() — User 모델에서 제거됨

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

setSubscription()

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

알림 수신

#notificationDisplay

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

#notificationDismiss

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

#addListenerForNotificationOpened

Player 모델:
OneSignal.on('addListenerForNotificationOpened', (event) => { ... })

이메일

setEmail()

User 모델 문서 Player 모델:
OneSignal.setEmail('email@example.com')
User 모델:
OneSignal.User.addEmail('email@example.com')

logoutEmail()

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

getEmailId() — User 모델에서 제거됨

SMS

setSMSNumber()

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

logoutSMSNumber()

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