如何在App Center推送中编写受众JSON对象及定义受众?
嘿,我来帮你把App Center Push里受众的事儿掰扯清楚~
App Center Push 受众(Audience)完全解析
一、代码里的"dog-lovers"和"cyclists"到底是什么?
这俩是你预先在App Center后台创建好的受众的唯一标识(slug/简称ID),不是临时在推送请求里定义的。简单说,它们就是你已经圈选完成的用户分组的“代号”——API里直接引用这个代号,就能把推送给对应分组的所有用户。
二、受众的数据模型 & 定义方式
受众核心是“用户分组规则”,它的定义主要有两种方式,而且都不是在推送请求的JSON里直接写的:
1. 后台可视化创建(最常用)
直接登录App Center门户操作就行:
- 进入你的应用 → 打开Push服务 → 切换到Audiences标签页
- 点击「New Audience」新建受众,设置显示名称(比如“Dog Lovers”),系统会自动生成对应的slug(就是你代码里的
dog-lovers,规则是小写、空格转连字符) - 通过筛选条件圈选用户:可以基于自定义用户属性、设备属性(比如系统版本)、应用行为(比如触发过特定事件、会话次数)等组合规则
2. API自动化创建(适合批量/场景化需求)
如果你需要用代码自动化生成受众,可以调用App Center的Audiences API,对应的请求体数据模型示例如下:
请求示例(POST)
POST https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/push/audiences
请求体JSON
{ "name": "Dog Lovers", "description": "用户标记过喜欢狗狗的分组", "filters": [ { "type": "property_filter", "property": "custom_properties.dogLover", "operator": "eq", "value": true } ] }
关键字段说明:
name: 受众的显示名称,系统会自动生成对应的slugdescription: 可选,给受众加个备注方便管理filters: 核心筛选规则,用来定义受众范围:type: 筛选类型,比如property_filter(属性筛选)、event_filter(事件行为筛选)property: 筛选的属性路径,比如自定义属性dogLover写custom_properties.dogLover,设备系统属性写device.osoperator: 比较运算符,比如eq(等于)、gt(大于)、contains(包含)等value: 筛选的目标值
三、回到你的推送请求代码
你提供的代码是发送推送通知的请求体,其中notification_target里的audiences数组,就是用来指定要推送的受众slug列表。只要你已经在后台(或通过API)创建了dog-lovers和cyclists这两个受众,这个请求就会自动把推送给这两个分组的所有用户。
额外补充:如果只是想一次性推送临时圈选的用户,不想创建永久受众,也可以用custom_target类型,直接在推送请求里写筛选规则——不过这种方式适合单次推送,受众则更适合重复使用的固定用户分组。
内容的提问来源于stack exchange,提问作者ocirpp
相关产品推荐
相关产品推荐

