【问题标题】:Onesignal push notification advanced targetingOnesignal 推送通知高级定位
【发布时间】:2015-12-19 18:49:13
【问题描述】:

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

我可以使用 server rest api 设置用户段吗?

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

例子

user1 subscribed to group I'd (1,3,8)
user2  groups(5,8,11)
User3 groups(12,13)

事件发生在第 8 组时。

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

【问题讨论】:

    标签: push-notification onesignal


    【解决方案1】:

    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 或仪表板您可以指定哪些分段(以及标签)应该接收您的通知。

    【讨论】:

    • 很好用,但是如果用户有太多标签会影响性能吗?
    • 不,如果用户有很多标签,性能不会下降。
    • "为获得最佳性能,最多只能使用 15 个标签。"消息来源:documentation.onesignal.com/docs/…
    • @Ladmerc 感谢您的注意。我更新了该文档页面,以便更清楚地了解何时避免使用大量标签。
    • @Gdeglin 我目前正在尝试使用他们的 RestApi 在我的网络应用程序上设置一个信号并遇到问题。您能否分享启动和运行它的过程或分享示例代码。
    【解决方案2】:

    @Gdeglin 概述的方法的问题是您需要在服务器和 OneSignal 上管理您的组信息。如果您有 2 个事实来源来处理像群体这样复杂和动态的事情,那么您一定会遇到麻烦。

    例如,如果第 8 组被删除会怎样?除了更新您自己的数据库之外,您还需要使用 API 来更新属于第 8 组的所有 OneSignal 用户。假设该组包含 1000 个用户。呸。

    不要添加组名标签,而是为每个使用 OneSignal 注册的用户(玩家)添加一个“userId”标签。现在,当一个组发生变化时,OneSignal 不会更新任何内容。

    折衷方案是向组中的每个人发送消息需要对 OneSignal 进行 N 次 API 调用,而不仅仅是一次。看起来可以在单个 API 调用中提供多个标签匹配,但尚不清楚其扩展性如何。

    【讨论】:

    • 我同意,oneSignal 真的让我们很难过,因为用户可以离开一个组,或者一个组可以更改,但用户仍然会收到通知,因为他没有很快登录,所以他的标签是没有刷新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-14
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 2018-01-22
    • 2017-07-26
    相关资源
    最近更新 更多