创建推送
本文旨在指导用户如何在极光控制台上创建通知消息、自定义消息、应用内消息(富媒体消息)、实时活动消息、A/B 测试等推送任务。
创建通知消息
进入【消息推送】-【推送管理】-【创建推送】-【通知消息】页面创建推送任务,参数配置说明如下:
基础设置
目标平台:根据集成 SDK 的平台,选择需要推送的平台。
- 选择平台前需在【推送设置】中设置对应的平台。
- 子账号仅支持选择主账号授权的平台。
- 选择平台前需在【推送设置】中设置对应的平台。
通知标题:推送消息的标题,请尽量避免“test、测试、纯数字” 等无意义内容,否则可能会被厂商拦截而无法接收到通知消息。
通知内容:推送消息的内容,请尽量避免“test、测试、纯数字” 等无意义内容,否则可能会被厂商拦截而无法接收到通知消息。
发送时间:选择需要发送的时间
- 立即:立即下发消息。
- 定时:发送时间只能设置当前时间 3 分钟以后的时间,并且定时任务不能超过一年。
- 立即:立即下发消息。
定速推送:在设定时间内完成推送,降低服务器压力。
点击打开通知:点击通知后的动作,详情参考 Android 通知点击跳转。
高级设置
- 消息类型:极光会以开发者所指定的消息类型,去自动适配各个厂商通道的消息分类字段,避免消息被限制发送和浪费厂商消息配额。
- 系统消息:对应各个厂商通道的服务类通知消息(华为 / 荣耀:服务与通讯类,小米 /OPPO:私信,vivo:系统消息),通常厂商不限制发送数量。
- 运营消息:对应各个厂商通道的营销运营类消息(华为 / 荣耀:营销咨询类,小米 /OPPO:公信,vivo:运营消息),通常厂商会严格限制发送数量。
- 离线消息保留时长:可以通过该值指定离线消息的时长。如果该用户当前不在线,则会保存为离线消息,待该用户下次上线时继续推送给他。即在该时长范围内用户上线会继续收到推送,否则过期。
- 默认时长为 1 天。
- 设置为 0,则表示不保留离线消息,即只有当前在线的用户才可以收到,所有不在线的都不会收到。
- 默认时长为 1 天。
- 地理围栏:自由圈定地理区域、商圈,针对区域内人群进行精准推送。
- 附加字段:客户端获取附加字段内容,用于自定义事件处理。
- 应用内提醒:对应用通知权限被关闭而无法触达的用户,使用应用内消息进行触达。Android SDK ≥3.9.0、iOS SDK ≥3.4.0 方可支持此功能。
Android
厂商通道状态:完成了对应的厂商通道集成和配置后,对应通道的厂商通道状态会高亮。
通知下发策略:可以指定厂商通道和极光通道的优先下发策略,选择厂商策略时,需确保厂商通道已配置成功,详情参考 通知下发策略文档。
厂商配额策略:此策略仅表示是否忽略和跳过极光系统侧的配额判断及扣除逻辑,实际依旧遵循和受厂商相关配额机制约束。目前仅对小米、OPPO 厂商有效;小米通知消息、OPPO 私信可选择“忽略”,其它类型推送消息建议“不忽略”。
通知栏样式:不同于 JPush SDK 内置的通知栏样式,这里的通知栏样式是用系统 api 来构建的三种常用样式,详情点击“?”查看说明。在 JPush Android SDK 3.0.1 及以后版本支持。
- 自定义通知栏样式:在客户端可设置多套样式指定不同的编号,服务器端推送时指定编号就可以展现时使用之前设置的样式。这个值默认值为 0,即使用默认的样式。通知栏样式的定义参考 自定义通知栏样式 文档。
通知栏图标:通知栏右侧图标。
- 默认 logo:通知栏展示应用默认的图标。
- 指定图标路径:通知栏展示指定路径的图标。图片可以为 http 或 https 开头的网络资源,或 drawable 资源文件夹路径。
- 上传图标:通知栏展示上传的图标。
- 默认 logo:通知栏展示应用默认的图标。
通知消息模版:可以设置通知的提醒优先级,避免频繁打扰客户。默认选择“常规提醒模板”,模板包含模板名称、渠道名称、渠道 ID、通知优先级、通知类别、通知提醒类型、提示音设置。
- 常规提醒模板:通知优先级为 “PRIORITY_DEFAULT”,通知提醒类型为“提示音 | 震动 | 指示灯”。
- 无感知提醒模板:通知优先级为 “PRIORITY_LOW”,通知提醒类型为“指示灯”。
- 强提醒模板:通知优先级为 “PRIORITY_HIGH”,通知提醒类型为“提示音 | 震动 | 指示灯”。
- 点击“新建消息提醒模板”可以自定义提醒模板。
- channel_id:针对 Android 8.0 及之后系统通知渠道特性功能,推送需要指定通知渠道 ID。
- 通知优先级:该优先级仅对极光通道生效,默认的 priority 属性设置为 PRIORITY_DEFAULT,官方描述见 开发者文档。在 JPush Android SDK 3.0.1 及以后版本生效。
- 通知类别:系统可能会用通知的 category 属性来做在通知栏的排序或者过滤。在 JPush Android SDK 3.0.1 及以后版本生效,官方描述见 开发者文档。
- 通知提醒类型:开发者可勾选对应的项来指定通知送达时在手机上的提醒类型,但不能越过系统的限制,比如手机的声音要是开着的,振动是允许的,有 LED 指示灯并且是可开启的状态。在 JPush Android SDK 3.0.3 及以后版本生效。
角标数字:应用图标右上角的角标,详情参考 数字角标相关说明。
- 此属性目前仅针对华为 EMUI 8.0 及以上、小米 MIUI 6 及以上设备生效,在 JPush Android SDK 3.3.6 及以后版本支持。
- 此字段如果不填,表示不改变角标数字(小米设备由于系统控制,不论推送走极光通道下发还是厂商通道下发,即使不传递依旧是默认 +1 的效果。);否则下一条通知栏消息配置的 badge_add_num 数据会和之前角标数量进行增加。建议 badge_add_num 配置为 1;举例:badge_add_num 配置 1,应用之前角标数为 2,发送此角标消息后,应用角标数显示为 3。
- 此属性目前仅针对华为 EMUI 8.0 及以上、小米 MIUI 6 及以上设备生效,在 JPush Android SDK 3.3.6 及以后版本支持。
厂商特殊设置:此处设置的字段,如果和上述“通知提醒模板”中设置的字段有重合,以此处设置为准;此处未例举的厂商暂不涉及特殊个性化设置。
- 小米 channel_id:小米通知类别标识;对应 Push API 的 options.third_party_channel.xiaomi.channel_id 字段,使用详情参考 小米消息分类使用指南。
- 华为:importance、category、target_user_type 使用详情参考 REST API 文档。
- 华为 channel_id:华为自定义通知渠道标识;对应 Push API 的 options.third_party_channel.huawei.channel_id 字段,使用详情参考 华为通道通知实现。
- 华为 importance:华为厂商消息提醒级别;对应 Push API 的 options.third_party_channel.huawei.importance 字段。
- 华为 category:华为厂商的消息类型标识,需要申请华为自分类权益;对应 Push API 的 options.third_party_channel.huawei.category 字段。
- 华为 target_user_type:华为厂商普通消息 / 测试消息标识;对应 Push API 的 options.third_party_channel.huawei.target_user_type 字段。
- 荣耀 importance:荣耀厂商消息分类;对应 Push API 的 options.third_party_channel.honor.importance 字段,使用详情参考 荣耀消息分类使用指南。
- OPPO channel_id:OPPO 通知栏通道标识;对应 Push API 的 options.third_party_channel.oppo.channel_id 字段,使用详情参考 OPPO 消息分类使用指南。
- vivo:
- vivo pushMode:vivo 厂商推送模式;对应 Push API 的 options.third_party_channel.vivo.push_mode 字段。
- vivo category:vivo 厂商的消息二级分类标识;对应 Push API 的 options.third_party_channel.vivo.category 字段,使用详情参考 vivo 消息分类使用指南。
iOS
- silent_push:content-available: 1,不携带任何 badge,sound 和消息内容等参数,可以在不打扰用户的情况下进行内容更新等操作,参考“Silent Remote Notifications”。
- 通知子标题:该字段仅针对 iOS 10 以上的系统版本。Android 平台和 iOS 其他系统版本不受该字段内容影响。
- content-available(推送唤醒):iOS 7 开始新增特性,此处开启说明是 Background Remote Notification,如果不启用则是普通的 Remote Notification。详情参考:Background Remote Notification”。
- mutable-content:iOS 10 开始新增的特性功能,此处开启说明支持 iOS 10 的 UNNotificationServiceExtension 特性,如果不开启则是普通的 Remote Notification。详情参考:UNNotificationServiceExtension”。
- collapse id:通知携带 collapse id 参数,将会覆盖掉通知中心里携带相同 collapse id 的通知。collapse id 的值不可超过 64 bytes , 该字段详细介绍参考 APNs Guide。
- 通知消息模版:可以设置通知的提醒优先级,避免频繁打扰客户。默认选择“常规提醒模板”,模板包含模板名称、通知类型、sound、volume、critical、category、thread-id、interruption-level。
- 常规提醒模板:通知类型为“通知类型”,sound 为 “默认通知”,interruption-level 为 “active”。
- 无感知提醒模板:通知类型为“通知类型”,sound 为 “无声”,interruption-level 为 “passive”。
- 点击“新建消息提醒模板”可以自定义提醒模板。
- 普通通知:通过 sound 字段指定声音。默认为 default,即系统默认声音。 如果设置为空值,则为静音。如果设置为特殊的名称,则需要你的 App 里配置了该声音才可以正常。
- 告警通知:需要推送告警通知的应用需要前往 Apple 开发者官网 申请权限。
- category:iOS 分类,只有 iOS 8 及以上系统才支持此参数推送。
- thread-id:用于对通知分组的特定于应用的标识符,同一个 thread-id 的通知归为一组。
- interruption-level:用于定义通知优先级和交付时间的中断级别,详情查看 interruption-level 字段。
- badge: 可指定 APNs 推送通知的 badge,直接展示在桌面应用图标的右上角,含义是应用未读的消息数,也可以进行角标 +N/-N,例:接受者 A,B 的角标分别为 1 和 2,那么推送 +2 后 A 的角标变为 3,B 的角标变为 4。系统默认值为 1。详情参考 数字角标相关说明。
HarmonyOS
- 通知栏样式:目前仅支持系统默认样式。
- 通知栏图标:目前仅支持展示应用默认图标。
- 角标数字:默认 +1 的效果。
- 厂商特殊设置:
- category:鸿蒙厂商的消息类型标识,需要申请鸿蒙自分类权益;对应 Push API 的 notification.hmos.category 字段。
- test_message:鸿蒙厂商普通消息/测试消息标识;对应 Push API 的 notification.hmos.test_message 字段。
- receipt_id:鸿蒙厂商推送数据回执地址标识;对应 Push API 的 notification.hmos.receipt_id 字段。
目标人群
选择目标:需要推送的目标人群,测试时建议使用注册日志中获取的 registrationID 进行推送。
- tag:一次推送最多 20 个。
- alias:一次推送最多 1000 个。
- registrationID:一次推送最多 1000 个。
发送预览
配置推送参数后,点击发送预览,可以查看配置的推送参数和预估推送人数。
确认预估人数 >0,点击确认即可成功创建推送任务。
若预估人数为 0,推送无法发送,并会返回以下错误:
创建自定义消息
进入【消息推送】-【推送管理】-【创建推送】-【自定义消息】页面创建推送任务,参数配置说明参考 [创建通知消息](#创建通知消息)。
特别说明:鸿蒙平台暂不支持推送自定义消息。
创建实时活动消息
进入【消息推送】-【创建推送】-【实时活动消息】页面创建推送任务,参数配置说明如下:
基础设置
选择平台:根据集成 SDK 的平台,选择需要推送的平台。
- 选择平台前需在【推送设置】中设置对应的平台。
- 子账号仅支持选择主账号授权的平台。
- 实时活动目前暂支持 iOS 平台。
- 选择平台前需在【推送设置】中设置对应的平台。
消息内容:实时活动消息的内容体。
- 事件类型:更新、结束;选择“结束”事件时可选择指定活动消失时间。
- 活动内容:key-value 形式,key 需和 SDK 设置 key 相符。
- 事件类型:更新、结束;选择“结束”事件时可选择指定活动消失时间。
发送时机:选择需要发送的时间
- 立即:立即下发消息。
- 立即:立即下发消息。
目标人群
Live Activity:需要推送的实时活动标识,对应 iOS SDK liveActivityId 的值,参考客户端:registerLiveActivity。
高级设置
- 提示文案:文案展示到 Apple Watch 上,手机终端则根据 App 运行情况和设备使用情况不同会在亮屏、声音提醒、灵动岛样式表现上出现不同效果。
- sound:手表自定义提示音。
发送预览
配置推送参数后,点击发送预览,可以查看配置的推送参数和预估推送人数。
创建应用内消息
应用内消息是一种在应用中显示的消息,用于传达信息、促销活动或者提醒用户进行某些操作。
- 应用内消息仅走极光通道下发,仅支持 Android、iOS 平台。
- 应用内消息仅支持通过控制台发送,暂不提供 API 发送接口。
支持的消息类型
我们的应用内消息系统支持插屏、横幅、全屏三种类型,详细展示如下:
插屏
插屏是一种半屏幕的应用内消息,通常在应用的关键点显示,以吸引用户关注。
横幅
全屏
基础设置
进入【消息推送】-【创建推送】-【应用内消息】页面创建推送任务,这里以「插屏」-「图片 + 标题 + 内容 + 操作按钮」为例,参数配置说明如下:
- 任务说明:本次推送任务的基本描述说明。
- 目标平台:根据集成 SDK 的平台,选择需要推送的平台。
- 选择平台前需在【推送设置】中设置对应的平台。
- 子账号仅支持选择主账号授权的平台。
- 消息弹出页面:
- 不限制页面:表示此应用内消息在任意页面都可以展示(一条消息仅弹出 1 次)。
- 指定具体页面路径:表示此应用内消息在 App 指定页面才弹出(一条消息仅弹出 1 次)。
- 消息内容:
目标人群
选择目标:需要推送的目标人群,测试时建议使用注册日志中获取的 registrationID 进行推送。
- tag:一次推送最多 20 个。
- alias:一次推送最多 1000 个。
- registrationID:一次推送最多 1000 个。
高级设置
- 展示截止时间:即在该时长范围内用户上线并进入展示页面才能正常展示消息,否则过期。
- 一条给某个用户的推送,如果该用户当前不在线,“展示截止时间”之前,会保存为离线消息,待该用户下次上线时继续推送给他。
- 已下发到 App 的消息,但是终端用户一直未进入指定页面,等超过“展示截止时间”后再进入页面,此时应用内消息也不会展示。
- 附加参数:用于客户端自定义事件处理,详情参考客户端获取参数(Android、iOS)。
创建 A/B 测试
A/B 测试设置
设置目标平台、用户比例、发送时间等参数,参数配置说明参考 创建通知消息。
用户比例:设置的用户比例为满足上述条件用户的百分比。
- A、 B 两组参与测试的用户比例相等。
- 例如用户比例为 40%,则 A、B 两组的用户比例分别为 20%。若目标平台为 iOS 和 Android,以 A 组为例,A 组中参与测试的 iOS 用户占 iOS 平台用户的 20%,A 组中参与测试的 Android 用户占 Android 平台用户的 20%。
设置通知内容
点击“下一步”,进入通知内容编辑页面,参数配置说明参考 创建通知消息。
选择目标人群
推送目标至少为 2 人,若参与 A/B Test 的目标人数小于 2 人,推送将失败。
计算人数的最终结果取整数,舍弃小数。