Push notification Onesignal推送通知高级目标

Push notification Onesignal推送通知高级目标,push-notification,onesignal,Push Notification,Onesignal,我正在使用onesignal为我的web和ionic应用程序处理pish通知。我的问题是 我可以使用服务器RESTAPI设置用户段吗 我想让我的用户能够订阅特定事件(通道),以限制他们收到的推送通知 范例 user1 subscribed to group I'd (1,3,8) user2 groups(5,8,11) User3 groups(12,13) 当事件发生在第8组时 我如何向订阅组8的所有用户发送推送通知-在我上面的示例中,通知应该发送给user1和user2,而不是3。On

我正在使用onesignal为我的web和ionic应用程序处理pish通知。我的问题是

我可以使用服务器RESTAPI设置用户段吗

我想让我的用户能够订阅特定事件(通道),以限制他们收到的推送通知

范例

user1 subscribed to group I'd (1,3,8)
user2  groups(5,8,11)
User3 groups(12,13)
当事件发生在第8组时


我如何向订阅组8的所有用户发送推送通知-在我上面的示例中,通知应该发送给user1和user2,而不是3。

OneSignal目前不支持通过API动态创建段,但是有更好的方法来完成您需要的任务

您可以使用标记功能将自定义数据分配给用户,然后可以向匹配特定标记的用户发送通知。标签通常通过调用应用程序中的SetTags方法来设置,但也可以通过OneSignal API来设置

例如,在您的情况下,您将为每个用户分配以下标记:

User1 Tags: group1=true,group3=true,group8=true
User2 Tags: group5=true,group8=true,group3=true
User3 Tags: group12=true,group13=true
接下来,通过OneSignal API,您可以使用“标记”字段仅向匹配一个或多个标记的用户发送通知


您还可以为仪表板上的每个标记创建一个段,然后通过API或仪表板指定哪些段(因此标记)应接收您的通知。

由@Gdeglin概述的方法的问题是,您需要管理服务器和OneSignal上的组信息。当你有两个来源的真理,作为一个复杂和动态的群体,你一定会遇到麻烦

例如,如果删除组8会发生什么情况?除了更新自己的数据库外,还需要使用API更新属于组8的所有OneSignal用户。假设该组包含1000个用户。恶心

不要添加groupname标记,而是为每个向OneSignal注册的用户(玩家)添加一个“userId”标记。现在,当一个组发生更改时,没有任何内容可以使用OneSignal进行更新


折衷的做法是,向组中的每个人发送消息需要对OneSignal进行N次API调用,而不仅仅是一次调用。看起来可以在一个API调用中提供多个标记匹配,但不清楚它的伸缩性如何。

Great将使用它,但如果用户有太多标记,它会影响性能吗?不,如果用户有很多标记,性能不会下降。“要获得最佳性能,最多只使用15个标记。”来源:@Ladmerc谢谢你的留言。我更新了文档页面,以便更清楚地知道何时避免使用大量标记。@Gdeglin我目前正试图使用RestApi在我的web应用程序上设置一个信号,但出现了问题。我同意,oneSignal确实给我们带来了困难,因为用户可以离开一个组,或者一个组可以更改,但用户仍然会收到通知,因为他没有很快登录,所以他的标签没有刷新。