メインコンテンツへスキップ
OneSignalは、デバイス中心モデル(Player ID)からユーザー中心モデル(OneSignal ID)に更新されました。移行ガイダンスについては、User Model Migration Guideを参照してください。レガシーデバイス中心実装のドキュメントについては、Version 9を参照してください。

概要

このドキュメントでは、OneSignalのレガシーPlayer Model Web SDKから新しいUser Model SDKへのメソッド、プロパティ、イベントをマッピングします。各セクションには一致するTypeScriptコード例が含まれており、統合を更新する方法を明確に示しています。 すべての例はデモンストレーション目的で簡素化されています。完全で最新の実装については、各メソッドまたはイベントの下に提供されているドキュメントリンクを参照してください。

OneSignal Service Worker

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");
ファイルパスは同じままにします。importScripts URLのみを更新してください。 詳細については、OneSignal Service Workerを参照してください。

初期化

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)

プッシュの登録

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 }) => { ... })

分析

#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}) => { ... })

ユーザーID

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

タグ

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"])

プッシュ通知

sendSelfNotification() — Dropped in User Model

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

setSubscription()

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

通知の受信

#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

メール

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')