跳到内容

标签

标签是 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

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

  • Integer 标签运算符:isis notarenot innot setany
  • String 标签运算符:isis notarenot innot setany
  • List 标签运算符:innot innot setany
  • Boolean 标签运算符:is (true/false)、not setany
  • Date 标签运算符:exactly onon or afteron or beforebetweennot setany
  • Price 标签运算符:isis notgreater or equalsless or equalsbetweeninnot innot setany
  • Version 标签运算符:isis notgreater or equalsless or equalsbetweeninnot innot setany

应用特定/非特定标签

Anchor link to

此参数描述了标签在同一账户下不同应用中的行为。应用特定标签在同一账户的每个应用中可以有不同的值集。相反,应用非特定标签对于所有使用此标签的应用都存储相同的值。

假设您有两个应用,一个新闻应用和一个游戏应用,并且您只想针对那些明确同意接收您推送的用户。因此,您创建了一个名为 “Subscribed” 的布尔标签,对于希望接收您推送的用户,将其值设置为 "true",对于不希望收到通知的用户,则设置为 "false"

您的一个用户 Anna 安装了您的两个应用。她不介意收到一些突发新闻的通知,但选择不接收来自游戏应用的任何推送。

如果 “Subscribed” 标签是应用特定的,那么一切都会按计划进行。但是,如果这个标签是应用非特定的,那么您的每个应用都会覆盖另一个应用设置的值,这可能会破坏您的目标定位并引起用户不满。

另一方面,如果您想执行跨应用目标定位并追踪在不同应用中使用相同用户名的用户,应用非特定标签可能会派上用场。

用户特定标签

Anchor link to

Pushwoosh 中的所有标签在设计上都是用户特定的,当通过 UserID 而不是 HWID 设置时,它们会分配给该用户的所有设备。

示例
{
"request":{
"application": "XXXXX-XXXXX", // Pushwoosh 应用代码
"userId": "the id of a specific user",
"tags": {
"UserSpecificStringTag": "string value",
"UserSpecificIntegerTag": 42
}
}
}

默认标签

Anchor link to

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

名称类型设置位置描述
Application VersionVersionSDK设备上安装的应用的当前版本
Browser TypeStringSDK当设备为您的 Web 项目注册时,其类型——移动设备或桌面设备——会自动被追踪
CityString服务器设备最新注册的地理位置
CountryString服务器设备最新注册的地理位置
Device ModelStringSDK指示应用安装的设备型号
First InstallDate服务器指示设备首次注册接收通知的时间
In-App ProductListSDK应用用户购买的应用内产品
Last In-App Purchase DateDateSDK设备上最近一次应用内购买的日期
LanguageStringSDK根据 ISO-639-1 标准的设备区域设置的双字母小写缩写;取自设备设置
Last Application OpenDate服务器设备上最近一次应用启动的时间
OS VersionVersionSDK设备上运行的操作系统的版本
PlatformStringSDK用户使用您项目的平台。
Push Alerts EnabledBooleanSDK指示设备设置中是否允许推送提醒
SDK VersionVersionSDK设备上实现的 Pushwoosh SDK 的版本
Unsubscribed EmailsBooleanSDK指示用户是否已退订接收来自您应用的电子邮件

自定义标签

Anchor link to

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

如何设置自定义标签

Anchor link to

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

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

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

请求正文

Anchor link to
名称类型描述
auth*string来自 Pushwoosh 控制面板的 API 访问令牌。
tag*object标签参数。
tag.name*string标签名称。
tag.type*integer标签类型。请参阅下面的可能值。
tag.application_specificboolean定义标签值在多个应用中是应该不同还是应该相同。
{
"status_code": 200,
"status_message": "OK",
"response": {
"result": true
}
}
示例
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // 必需,来自 Pushwoosh 控制面板的 API 访问令牌
"tag": {
"name": "TAG_NAME", // 必需
"type": 1, // 必需,请参阅下面的可能值
"application_specific": true, // 或 'false',可选。定义标签值在多个应用中是应该不同还是应该相同
"user_specific": true // 或 'false',可选,用于 application_specific 标签
}
}
}

可能的标签值类型:

  • 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", // 必需,Pushwoosh 应用代码
"hwid": "8f65bXXXf378eXXXbeceXXX4e153XXX2", // 必需,/registerDevice API 中使用的硬件设备 ID
"tags": { // 必需
"StringTag": "string value", // 字符串标签示例
"IntegerTag": 42, // 整数标签示例
"ListTag": ["string1", "string2"], // 列表标签示例
"DateTag": "2024-10-02 22:11", // 注意:时间必须是 UTC 时间
"BooleanTag": true // 有效值:true, false
}
}
}

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

使用默认的 City 标签

Anchor link to

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

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

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