OneSignal网站推送流程
OneSignal website push flow
我正在为我的网站实施 OneSignal 网站推送通知。现在我只想为注册用户启用推送通知。我原以为用户点击"Allow"或"Block"后会有一些回调方法,但是没有。我看到我必须使用 OneSignal.isPushNotificationsEnabled()
和 OneSignal.push(["getIdsAvailablegetIdsAvailable",..])
,但我不确定所有内容应该如何组合在一起。
我认为我应该做的是每次注册用户在首页执行这样的操作:
if isPushNotificationsEnabled
OneSignal.push(["getIdsAvailablegetIdsAvailable",..])`
send_user_id_to_server_where_it_is_saved_in_the_database
else
OneSignal.push(["registerForPushNotifications"..])
end
困扰我的一件事是,如果执行此代码并且用户单击 "Allow",它将不会触发任何代码,并且通知永远不会到达我的服务器,表明用户实际上已允许推送通知。我将不得不等待用户回来或刷新页面。这是它应该如何工作还是我遗漏了什么?
与 OneSignal 支持聊天后,他们提供了一种新方法
OneSignal.on('subscriptionChange', function (isSubscribed) {..}]);
当用户的订阅状态改变时会触发。请注意,完整且有效的订阅基于以下几点:通知权限,是否有后台工作人员主动获取通知,用于存储用户 ID 和注册令牌信息的 Web 数据库是否完好无损,用户是否手动选择退出与否。
文档中没有单独的方法,仅用于检查用户权限:
OneSignal.push(["getNotificationPermission", function(permissions) {..}]);
权限参数可以是"default"、"granted"和"denied"。
我正在为我的网站实施 OneSignal 网站推送通知。现在我只想为注册用户启用推送通知。我原以为用户点击"Allow"或"Block"后会有一些回调方法,但是没有。我看到我必须使用 OneSignal.isPushNotificationsEnabled()
和 OneSignal.push(["getIdsAvailablegetIdsAvailable",..])
,但我不确定所有内容应该如何组合在一起。
我认为我应该做的是每次注册用户在首页执行这样的操作:
if isPushNotificationsEnabled
OneSignal.push(["getIdsAvailablegetIdsAvailable",..])`
send_user_id_to_server_where_it_is_saved_in_the_database
else
OneSignal.push(["registerForPushNotifications"..])
end
困扰我的一件事是,如果执行此代码并且用户单击 "Allow",它将不会触发任何代码,并且通知永远不会到达我的服务器,表明用户实际上已允许推送通知。我将不得不等待用户回来或刷新页面。这是它应该如何工作还是我遗漏了什么?
与 OneSignal 支持聊天后,他们提供了一种新方法
OneSignal.on('subscriptionChange', function (isSubscribed) {..}]);
当用户的订阅状态改变时会触发。请注意,完整且有效的订阅基于以下几点:通知权限,是否有后台工作人员主动获取通知,用于存储用户 ID 和注册令牌信息的 Web 数据库是否完好无损,用户是否手动选择退出与否。
文档中没有单独的方法,仅用于检查用户权限:
OneSignal.push(["getNotificationPermission", function(permissions) {..}]);
权限参数可以是"default"、"granted"和"denied"。