跳转到主要内容
OneSignal 已从以设备为中心的模型(播放器 ID)更新为以用户为中心的模型(OneSignal ID)。有关迁移指导,请参阅用户模型迁移指南有关传统以设备为中心的实现文档,请参阅版本 9
此页面映射 OneSignal 播放器模型和用户模型 SDK 之间的方法和属性名称。它镜像了原始播放器模型客户端 SDK 参考的布局以便熟悉。Swift 示例说明了 API 更改,但这些并不总是完整的工作示例。请参阅链接文档以获取其他语言的示例和完整的实现细节。

初始化 OneSignal

initWithLaunchOptions()

播放器模型 参考
OneSignal.initWithLaunchOptions(launchOptions)
OneSignal.setAppId("ONESIGNAL_APP_ID")
用户模型 参考
OneSignal.initialize("YOUR_ONESIGNAL_APP_ID", withLaunchOptions: launchOptions)

调试

setLogLevel()

播放器模型 参考
OneSignal.setLogLevel(.LL_VERBOSE, visualLevel: .LL_NONE)
用户模型 参考
OneSignal.Debug.setLogLevel(.LL_VERBOSE)

外部用户 ID

setExternalId()

播放器模型 参考
OneSignal.setExternalId("EXTERNAL_USER_ID")
用户模型 参考
OneSignal.login("EXTERNAL_USER_ID")

removeExternalUserId()

播放器模型 参考
OneSignal.removeExternalUserId({ results in ... })
用户模型 参考
OneSignal.logout()

标签

sendTag()

播放器模型 参考
OneSignal.sendTag("key", value: "value")
用户模型 参考
OneSignal.User.addTag(key: "key", value: "value")

sendTags()

OneSignal.sendTags(["key1": "value1", "key2": "value2"])

```swift
OneSignal.User.addTags(["key1": "value1", "key2": "value2"])

getTags()

OneSignal.getTags({ tags in ..., onFailure: { error in ... })
let tags = OneSignal.User.getTags()

deleteTag()

OneSignal.deleteTag("key")
OneSignal.User.removeTag("key")

deleteTags()

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

用户数据

notificationPermissionStatus

OneSignal.getDeviceState().notificationPermissionStatus
OneSignal.Notifications.permissionNative

userId

OneSignal.getDeviceState().userId
OneSignal.User.pushSubscription.id

hasNotificationPermission() / areNotificationsEnabled

OneSignal.getDeviceState().areNotificationsEnabled()
OneSignal.Notifications.permission

pushToken

OneSignal.getDeviceState().pushToken
OneSignal.User.pushSubscription.token

hasNotificationPermission

OneSignal.getDeviceState().hasNotificationPermission
OneSignal.User.pushSubscription.optedIn

isSubscribed [已弃用]

OneSignal.getDeviceState().isSubscribed
用户模型: 不适用

isPushDisabled [已弃用]

OneSignal.getDeviceState().isPushDisabled
用户模型: 不适用

setLanguage()

OneSignal.setLanguage("es")
OneSignal.User.setLanguage("en")

隐私

setRequiresUserPrivacyConsent()

OneSignal.setRequiresUserPrivacyConsent(true)
OneSignal.setConsentRequired(true)

consentGranted()

OneSignal.consentGranted(true)
OneSignal.setConsentGiven(true)

位置

setLocationShared()

OneSignal.setLocationShared(false)

```swift
OneSignal.Location.isShared = false

isLocationShared()

OneSignal.isLocationShared()
OneSignal.Location.isShared

promptLocation()

OneSignal.promptLocation()
OneSignal.Location.requestPermission()

订阅观察者

addSubscriptionObserver()

OneSignal.addSubscriptionObserver(subscriptionObserver)
OneSignal.User.pushSubscription.addObserver(pushSubscriptionObserver)

removeSubscriptionObserver()

OneSignal.removeSubscriptionObserver(subscriptionObserver)
OneSignal.User.pushSubscription.removeObserver(pushSubscriptionObserver)

推送通知

promptForPushNotifications()

OneSignal.promptForPushNotifications()
OneSignal.Notifications.requestPermission()

postNotification() [已弃用]

OneSignal.postNotification()
用户模型: 不适用

clearOneSignalNotifications()

OneSignal.clearOneSignalNotifications()
OneSignal.Notifications.clearAll()

disablePush()

OneSignal.disablePush(true)
OneSignal.User.pushSubscription.optOut()

unsubscribeWhenNotificationsAreDisabled() [已弃用]

OneSignal.unsubscribeWhenNotificationsAreDisabled(false)
用户模型: 不适用

setLaunchURLsInApp() [已弃用]

OneSignal.setLaunchURLsInApp(true)
用户模型: 不适用

registerForProvisionalAuthorization()

OneSignal.registerForProvisionalAuthorization({userResponse in ...})
OneSignal.Notifications.registerForProvisionalAuthorization({ userReponse in ... })

setNotificationWillShowInForegroundHandler()

OneSignal.setNotificationWillShowInForegroundHandler(foregroundHandler)
OneSignal.Notifications.addForegroundLifecycleListener(notificationLifecyleHandler)

setNotificationOpenedHandler()

OneSignal.setNotificationOpenedHandler(notificationOpenHandler)
OneSignal.Notifications.addClickListener(notificationClickListener)

addPermissionObserver()

OneSignal.addPermissionObserver(self as OSPermissionObserver)
OneSignal.Notifications.addPermissionObserver(notificationPermissionObserver)

removePermissionObserver()

OneSignal.removePermissionObserver()

```swift
OneSignal.Notifications.removePermissionObserver(notificationPermissionObserver)

实时活动

enterLiveActivity()

OneSignal.enterLiveActivity("my_activity_id", withToken: myToken)
OneSignal.LiveActivities.enter("my_activity_id", withToken: "TOKEN")

exit()

OneSignal.exitLiveActivity("my_activity_id")
OneSignal.LiveActivities.exit("my_activity_id")

应用内消息

addTrigger()

OneSignal.addTrigger("prompt_ios", withValue: "true");
OneSignal.InAppMessages.addTrigger("KEY", withValue: "VALUE")

addTriggers()

OneSignal.addTriggers(["trigger_key_1": "1", "trigger_key_2": "some_other_value"])
OneSignal.InAppMessages.addTriggers(["trigger_key_1": "1", "trigger_key_2": "some_other_value"])

removeTriggerForKey()

OneSignal.removeTriggerForKey("trigger_key_1");
OneSignal.InAppMessages.removeTrigger("trigger_key_1")

removeTriggerForKeys()

OneSignal.removeTriggerForKeys(["trigger_key_1", "trigger_key_2"])
OneSignal.InAppMessages.removeTriggers(["trigger_key_1", "trigger_key_2"])

getTriggerValueForKey() [已弃用]

OneSignal.getTriggerValueForKey("trigger_key");
用户模型: 不适用

inAppMessagesArePaused

OneSignal.inAppMessagesArePaused = true
OneSignal.InAppMessages.paused = true

setInAppMessageLifecycleHandler()

OneSignal.setInAppMessageLifecycleHandler(handler)
OneSignal.InAppMessages.addLifecycleListener(listener)

setInAppMessageClickHandler()

OneSignal.setInAppMessageClickHandler(clickHandler)
OneSignal.InAppMessages.addClickListener(clickListener)

电子邮件

setEmail()

用户模型 文档
OneSignal.setEmail("email@example.com")
OneSignal.User.addEmail("email@example.com")

logoutEmail()

OneSignal.logoutEmail()
OneSignal.User.removeEmail("email@example.com")

短信

setSMSNumber()

OneSignal.setSMSNumber("+11234567890")
OneSignal.User.addSms("+11234567890")

### `logoutSMSNumber()`

```swift
OneSignal.logoutSMSNumber()
OneSignal.User.removeSms("+11234567890")

addSMSSubscriptionObserver() [已弃用]

OneSignal.add(subscriptionObserver)
用户模型: 不适用

getSMSId() [已弃用]

OneSignal.Default.SMSSubscriptionState.smsUserId
用户模型: 不适用

结果

sendOutcome()

OneSignal.sendOutcome("Purchase")
OneSignal.Session.addOutcome("Purchase")

sendOutcomeWithValue()

OneSignal.sendOutcomeWithValue(withValue: "Purchase", value: 18.76)
OneSignal.Session.addOutcome("Purchase", 18.76)

sendUniqueOutcome()

OneSignal.sendUniqueOutcome("Swipe")
OneSignal.Session.addUniqueOutcome("Swipe")

I