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 모델:
User 모델: 문서
OneSignal.User.PushSubscription.id;
setExternalUserId()
Player 모델: 문서
OneSignal.setExternalUserId("external id")
User 모델: 문서
OneSignal.login("external id")
removeExternalUserId()
Player 모델:
OneSignal.removeExternalUserId()
User 모델: 문서
getExternalUserId()
Player 모델:
await OneSignal.getExternalUserId()
User 모델: 문서
OneSignal.User.externalId
sendTag()
Player 모델:
OneSignal.sendTag("key", "value")
User 모델:
OneSignal.User.addTag("key", "value")
User 모델 문서
Player 모델:
OneSignal.sendTags({ key1: 'value1', key2: 'value2' })
User 모델:
OneSignal.User.addTags({ key1: 'value1', key2: 'value2' })
Player 모델:
await OneSignal.getTags()
User 모델:
deleteTag()
Player 모델:
OneSignal.deleteTag("key")
User 모델:
OneSignal.User.removeTag("key")
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 모델:
User 모델:
OneSignal.User.removeEmail('email@example.com')
getEmailId() — User 모델에서 제거됨
SMS
setSMSNumber()
Player 모델:
OneSignal.setSMSNumber('+11234567890')
User 모델:
OneSignal.User.addSms('+11234567890')
logoutSMSNumber()
Player 모델:
User 모델:
OneSignal.User.removeSms('+11234567890')