概述
使用触发器在您选择的时间向受众中的用户显示应用内消息。与推送、电子邮件和短信在特定时间发送消息不同,应用内消息需要触发器来确定何时在您的应用中向用户显示消息。触发器确定何时显示消息。要设置消息应显示的频率,请参阅计划和频率。

在 OneSignal 仪表板中创建应用内消息时设置触发器
要求
- 查看应用内消息概述以了解其他设置和要求。
- 某些触发器(如下所述)是程序化的,需要在应用中添加代码才能显示消息。
- 在新会话开始之前,用户必须在受众范围内,触发器才能显示消息。 当应用失去焦点至少 30 秒后,新会话开始。请参阅应用内消息的显示方式。
触发器类型
有四种类型的触发器。每种都可以与 AND 和 OR 运算符组合使用,以仅在非常特定的条件下显示。打开应用时
无需代码。 在下次打开应用时显示消息。受众中的用户在打开应用时将有资格接收消息。- 对于需要标签或用户在会话期间加入的特定操作的受众细分,他们需要启动新会话才能在下次打开应用时显示消息。
- 对于针对所有用户或应用版本过滤器的受众细分,当用户打开应用时将显示消息。即使是全新用户也是如此。
应用内触发器
需要代码。 当用户执行某些操作时显示消息。需要在应用中将key 和 value 传递到 addTrigger 方法。

设置程序化应用内触发器。
addTrigger('trigger', '1') 时,示例将显示应用内消息。请记住,在新会话开始之前,用户必须在受众范围内,触发器才能显示消息。有关更多详细信息,请参阅上面的要求。
重要的应用内触发器要求
keys和values对空格和大小写敏感。设置触发器时检查是否有意外的空格或大小写。- 您可以要求存在多个
keys和values才能显示消息。- 使用
AND条件的每个键值对都必须满足,触发器才能显示消息。 - 使用
OR条件的键值对如果满足任何一个键值对,就会显示消息。
- 使用
- 当需要多个触发器时,您可以使用
removeTrigger方法在需要时删除触发器。 大于和小于条件适用于数字值,即使它们在代码中设置为字符串。- 如果您想在用户达到 5 级时显示消息。您可以将受众设置为所有用户,但将触发器设置为”level is 5”。每次用户升级时,您都会调用
addTrigger("level", "x"),其中”x”是他们达到的级别。这会持续递增,直到调用addTrigger("level", "5");,然后应用内消息将向用户显示。
- 如果您想在用户达到 5 级时显示消息。您可以将受众设置为所有用户,但将触发器设置为”level is 5”。每次用户升级时,您都会调用
会话持续时间
无需代码。 在当前应用会话中经过特定秒数后显示消息。在新会话开始之前,用户必须在受众范围内,触发器才能显示消息。有关更多详细信息,请参阅上面的要求。距上次应用内消息的时长
无需代码。 自最近的应用内消息以来经过特定秒数后显示消息。在新会话开始之前,用户必须在受众范围内,触发器才能显示消息。有关更多详细信息,请参阅上面的要求。 这对于不太紧急或优先级较低的消息很有帮助,这样它们就不会与更重要的消息显示得太近。此消息应何时关闭?
此选项允许您控制消息应在屏幕上停留多长时间。- 显示直到关闭:消息将显示,直到实际采取行动。单击关闭按钮或滑动关闭消息。
- 在一定时间后关闭:设置消息在自动从屏幕上删除之前显示的秒数。如果消息是信息性的并且不需要用户操作,这很有帮助。
您想多久显示一次此消息?
虽然触发器确定何时显示消息,但此选项允许您控制应显示消息的频率。有关更多详细信息,请参阅计划和频率。
显示计划应用内消息功能的图像
设置消息显示的时间和次数
仅一次是默认设置。应用内消息只会向订阅显示 1 次。 每次满足触发器条件将在每次满足触发器条件时显示此消息。- 对于应用内触发器,这可能是一个会话中的多次。对于其他触发器,每个会话只有一次。
- 如果您设置:“
2次,间隔1小时” - 消息将被允许触发总共2次。第一次是满足触发器时,第二次是满足触发器并且已经过1小时。 - 如果您设置”
12次,间隔30天” - 消息将在一年内大约每月显示一次。