跳到内容

标签

标签是 Pushwoosh 提供的最有用的工具之一,它支持一系列复杂的功能。通过使用标签,您可以细分受众,并根据用户的属性向特定用户发送有针对性的推送通知。

标签可以包含与特定用户或设备相关的任何任意数据。这些数据可能包括用户名、ID、城市、最喜欢的足球队、偏好的新闻类别或任何其他关于用户的相关信息。

决定使用哪些标签

Anchor link to

首先确定您的业务需求,并决定您希望如何细分受众。考虑年龄、位置、应用内购买历史或任何其他用于定位用户的相关标准等因素。

标签值可以帮助您使推送活动更加智能。每个标签能够存储几乎无限数量的值。基本上,这意味着一个标签就足以记录数据库中每个最终用户的特定类型信息。

每个账户只有少数几个标签可用,但考虑到每个标签近乎无限的空间,仅用几个标签就足以收集关于您用户的大量信息,并设置非常复杂的目标定位模式。

标签类型

Anchor link to
  • Integer (整数) — 用于整数数据(获得的游戏内现金数量、达到的级别、年龄)。
  • String (字符串) — 用于字符串值(用户名、电子邮件、标识符)。
  • List (列表) — 与字符串类型相同,但每个用户可以同时设置多个值(音乐偏好、新闻类别、美食偏好)。
  • Boolean (布尔值) — true / false 类型的标签。
  • Date (日期) — 用于日历日期。基本上,这是一个整数类型的标签,存储 Unix Epoch 时间戳(自动从/转换为公历日期)。
  • Price (价格) — 允许根据指定的货币以“*.XX”格式设置值 了解更多
  • Version (版本) — 用于版本控制。允许的格式示例为 w.x.y.z (主版本号.次版本号.补丁号.构建号)。每个版本部分的最大值为 9999,因此最大版本号不能大于 9999.9999.9999.9999。

标签运算符

Anchor link to

每种标签类型都有一组特定的适用运算符。标签运算符定义了标签与其值之间的关系,用于细分目的。

  • 整数标签运算符:isis notarenot innot setany
  • 字符串标签运算符:isis notarenot innot setany
  • 列表标签运算符:innot innot setany
  • 布尔标签运算符:is (true/false)、not setany
  • 日期标签运算符:exactly onon or afteron or beforebetweennot setany
  • 价格标签运算符:isis notgreater or equalsless or equalsbetweeninnot innot setany
  • 版本标签运算符:isis notgreater or equalsless or equalsbetweeninnot innot setany

标签范围:通用 vs. 用户特定

Anchor link to

创建标签时,您可以选择其值的存储方式:

  • 通用 (默认, user_specific: false):标签值按设备 (HWID) 存储。同一用户的每个设备可以独立持有不同的值。
  • 用户特定 (user_specific: true):标签值按用户 (UserID) 存储。通过 UserID 设置时,该值会立即应用于该用户的所有设备。适用于属于个人而非特定设备的属性:订阅等级、忠诚度积分、首选语言。

一个用户同时安装了您的应用的 iOS 和 Android 版本。通过他们的 UserID 将 subscription_tier 标签设置为 "premium",会立即将其应用于两个设备。如果使用通用标签,您需要分别为每个设备进行设置。

示例:通过 UserID 设置用户特定的标签
{
"request":{
"application": "XXXXX-XXXXX",
"userId": "the id of a specific user",
"tags": {
"subscription_tier": "premium",
"loyalty_points": 350
}
}
}

默认标签

Anchor link to

这些标签由 Pushwoosh 开箱即用提供,因此您不必(实际上也不应该)手动设置它们。它们中的大多数是从应用程序设置并通过 registerDevice 和其他 API 调用发送到我们的服务器,还有一些是由服务器本身设置的。

名称类型设置位置描述
Application Version版本SDK设备上安装的应用的当前版本
Browser Type字符串SDK当设备为您的 Web 项目注册时,其类型——移动或桌面——会自动被跟踪
City字符串服务器设备最新注册的地理位置
Country字符串服务器设备最新注册的地理位置
Device Model字符串SDK指示安装应用的设备型号
First Install日期服务器指示设备首次注册通知的时间
In-App Product列表SDK应用用户购买的应用内产品
Last In-App Purchase Date日期SDK设备上最近一次应用内购买的日期
Language字符串SDK根据 ISO-639-1 标准的设备区域设置的双字母小写缩写;取自设备设置
Last Application Open日期服务器设备上最近一次应用启动的时间
OS Version版本SDK设备上运行的操作系统的版本
Platform字符串SDK用户使用您项目的平台。
Push Alerts Enabled布尔值SDK指示设备设置中是否允许推送提醒
SDK Version版本SDK设备上实现的 Pushwoosh SDK 的版本
Unsubscribed Emails布尔值SDK指示用户是否已退订接收来自您应用的电子邮件

自定义标签

Anchor link to

在这里,您可以发挥创造力以实现您的特定业务目标。可以根据适合您独特业务需求的细分逻辑或目标定位模式创建自定义标签。与您的营销团队合作,定义您的活动所需的其他自定义标签。

如何设置自定义标签

Anchor link to

您可以在 Pushwoosh 控制面板中添加新标签,或使用 /addTag 方法。

POST https://api.pushwoosh.com/json/1.3/addTag

在您的账户中创建一个标签。

名称类型描述
auth*string来自 Pushwoosh 控制面板的 API 访问令牌。
tag*object标签参数。
tag.name*string标签名称。
tag.type*integer标签类型。请参见下面的可能值。
tag.user_specificboolean当为 true 时,标签值存储在用户级别,并通过 UserID 设置时在用户的所有设备间共享。当为 false (默认) 时,标签是设备级别的,并按 HWID 设置。
{
"status_code": 200,
"status_message": "OK",
"response": {
"result": true
}
}
示例
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // 必需,来自 Pushwoosh 控制面板的 API 访问令牌
"tag": {
"name": "TAG_NAME", // 必需
"type": 1, // 必需,请参见下面的可能值
"user_specific": false // 可选。true = 用户级别;false = 设备级别 (默认)
}
}
}

可能的标签值类型:

  • 1 - Integer (整数)
  • 2 - String (字符串)
  • 3 - List (列表)
  • 4 - Date (日期)
  • 5 - Boolean (布尔值)
  • 6 - Decimal (小数)。例如:19.95
  • 7 - Version (版本)。例如:“1.0.0.0”

如何从用户处收集信息

Anchor link to

添加并配置标签后,它就可以开始从您的用户那里收集信息了。请按照以下步骤实施:

  1. 按照相关的集成指南,将 Pushwoosh SDK 集成到您的项目中。
  2. 使用 setTags 函数分配标签并收集用户数据。

以下是使用 setTags 函数针对不同框架的实现示例。

iOS Native

NSDictionary *tags = @{
@"Alias" : aliasField.text,
@"FavNumber" : @([favNumField.text intValue]),
@"price" : [PWTags incrementalTagWithInteger:5],
@"List" : @[ @"Item1", @"Item2", @"Item3" ]
};
[[PushNotificationManager pushManager] setTags:tags];

文档

Unity

为设备设置一个整数标签。

public virtual void SetIntTag(string tagName, int tagValue)
SetStringTag
Anchor link to

为设备设置一个字符串标签。

public virtual void SetStringTag(string tagName, string tagValue)
SetListTag
Anchor link to

为设备设置一个列表标签。

public virtual void SetListTag(string tagName, List<object> tagValues)

文档

通过 API 设置标签

Anchor link to

虽然在大多数情况下 (99%),标签是从应用程序设置的,但您也可以通过 Pushwoosh API 设置标签。以下是向 /setTags 端点发出的典型请求示例:

POST https://api.pushwoosh.com/json/1.3/setTags

{
"request": {
"application": "XXXXX-XXXXX", // required, Pushwoosh application code
"hwid": "8f65bXXXf378eXXXbeceXXX4e153XXX2", // required, hardware device ID used in /registerDevice API
"tags": { // required
"StringTag": "string value", // Example of a string tag
"IntegerTag": 42, // Example of an integer tag
"ListTag": ["string1", "string2"], // Example of a list tag
"DateTag": "2024-10-02 22:11", // Note: time must be in UTC
"BooleanTag": true // Valid values: true, false
}
}
}

有关更多详细信息,请参阅 setTags API 文档

使用默认的 City 标签

Anchor link to

设备的位置是根据其最后一次启动您的应用时的 IP 地址确定的。GeoIP 将位置数据提交给 Pushwoosh,Pushwoosh 将从 GeoIP 收到的位置保存为特定设备的 City 标签值。

在某些情况下,GeoIP 提交的位置与城市名称不同——例如,当它指的是一个城市的某个区域或其他行政单位时。在使用默认的 City 标签进行细分时请务必小心:确保选择正确的值。

例如,如果您要定位来自慕尼黑的用户,您必须用一系列 City 标签值来覆盖它,包括“Munich”本身(以及所有相应的值,例如 GeoIP 可能返回并保存为标签值的不同拼写变体)和几个附近的地区。