Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Android ¶
type Android struct { // 【必填】通知内容。 // - 这里指定后会覆盖上级统一指定的 Alert 信息; // - 内容可以为空字符串,表示不展示到通知栏; // - 各推送通道对此字段的限制详见【推送限制】:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push#%E7%9B%B8%E5%85%B3%E5%8F%82%E8%80%83。 Alert string `json:"alert"` // 【可选】通知标题。 // - 如果指定了,则通知里原来展示 APP 名称的地方,将展示 Title; // - 各推送通道对此字段的限制详见【推送限制】:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push#%E7%9B%B8%E5%85%B3%E5%8F%82%E8%80%83。 Title string `json:"title,omitempty"` // 【可选】通知栏样式 ID。 // - Android SDK 可【设置通知栏样式】:https://docs.jiguang.cn/jpush/client/Android/android_api#%E9%80%9A%E7%9F%A5%E6%A0%8F%E6%A0%B7%E5%BC%8F%E5%AE%9A%E5%88%B6-api; // - 根据样式 ID 来指定通知样式; // - Android 8.0 开始建议采用【NotificationChannel 配置】:https://docs.jiguang.cn/jpush/client/Android/android_api#notificationchannel-%E9%85%8D%E7%BD%AE。 BuilderID int `json:"builder_id,omitempty"` // 【可选】Android 通知 ChannelID。 // - 根据 ChannelID 来指定通知栏展示效果,不超过 1000 字节; // - Android 8.0 开始可以进行【NotificationChannel 配置】:https://docs.jiguang.cn/jpush/client/Android/android_api#notificationchannel-%E9%85%8D%E7%BD%AE; // - Options.ThirdPartyChannel 下的小米、OPPO 和华为厂商参数也有 ChannelID 字段,若有填充,则优先使用,若无填充则以本字段定义为准。 ChannelID string `json:"channel_id,omitempty"` // 【可选】通知栏消息分类条目。 // - 完全依赖 ROM 厂商对 Category 的处理策略; // - 华为从 2023.09.15 开始基于《华为消息分类标准》对其本地通知进行管控推送,参考《华为本地通知频次及分类管控通知》, // 此字段值对应华为「本地通知」category 取值,开发者通过极光服务发起推送时如果传递了此字段值,请务必按照华为官方要求传递, // 极光会自动适配华为本地通知 importance 取值,无需开发者额外处理; // - 考虑到一次推送包含多个厂商用户的情况,建议此处传递的字段值要和您 APP 开发代码中创建的 channel 效果对应(Category 值一致),最好创建新的 ChannelID,避免曾经已经创建了无法修改; // - 官方 Category 分类取值规则也可参考《华为消息分类对应表》。 // 文档链接: // 1. 《华为消息分类标准》:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/message-classification-0000001149358835#section153801515616; // 2. 《华为本地通知频次及分类管控通知》:https://developer.huawei.com/consumer/cn/doc/development/hmscore-common-Guides/push_notice_local-0000001615143510; // 3. 《华为消息分类对应表》:https://docs.jiguang.cn/jpush/client/Android/android_channel_id#%E5%8D%8E%E4%B8%BA%E6%B6%88%E6%81%AF%E5%88%86%E7%B1%BB%E8%AF%B4%E6%98%8E。 Category string `json:"category,omitempty"` // 【可选】通知栏展示优先级。 // - 默认为 0,范围为 -2~2; // - 华为从 2023.09.15 开始基于《华为消息分类标准》对其本地通知进行管控推送,参考《华为本地通知频次及分类管控通知》, // 开发者通过极光服务发起推送时,如果有传递此字段值,请注意此字段要和 Category 同时使用; // 反之,如果传了 Category,没传递此值时极光会自动帮您适配处理优先级; // - Priority = -2 时,对应华为本地通知 importance 级别为 IMPORTANCE_MIN;Priority = 0 时,对应华为本地通知 importance 级别为 IMPORTANCE_DEFAULT; // - 官方消息优先级取值规则也可参考《华为消息分类对应表》; // - 极光取值 -2~-1 对应 FCM 取值 normal,极光取值 0~2 对应 FCM 取值 high。 // 文档链接: // 1. 《华为消息分类标准》:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/message-classification-0000001149358835#section153801515616; // 2. 《华为本地通知频次及分类管控通知》:https://developer.huawei.com/consumer/cn/doc/development/hmscore-common-Guides/push_notice_local-0000001615143510; // 3. 《华为消息分类对应表》:https://docs.jiguang.cn/jpush/client/Android/android_channel_id#%E5%8D%8E%E4%B8%BA%E6%B6%88%E6%81%AF%E5%88%86%E7%B1%BB%E8%AF%B4%E6%98%8E。 Priority *int `json:"priority,omitempty"` // 【可选】通知栏样式类型,默认为 0,其他枚举值: // - style.BigText:大文本通知栏样式,1; // - style.Inbox:文本条目通知栏样式,2; // - style.BigPicture:大图片通知栏样式,3。 Style style.Style `json:"style,omitempty"` // 【可选】通知提醒方式。 // - 可选范围为 -1~7,默认按照 -1 处理 (alert.DefaultAll)。即 0111 二进制,左数第二位代表 lights,第三位代表 vibrate,第四位代表 sound。 // - 0:不生效,1:生效。如: alert.DefaultAll = -1,alert.DefaultSound = 1, alert.DefaultVibrate = 2, alert.DefaultLights = 4 的任意 or 组合。 AlertType alert.Type `json:"alert_type,omitempty"` // 【可选】大文本通知栏样式。 // - 当 Style = style.BigText 时可用,内容会被通知栏以大文本的形式展示出来; // - 若没有填充【厂商 BigText】,则也默认使用该字段展示:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push#third_party_channel-%E8%AF%B4%E6%98%8E; // - 支持 API 16 以上的 ROM。 BigText string `json:"big_text,omitempty"` // 【可选】文本条目通知栏样式。 // - 当 Style = style.Inbox 时可用,JSON 的每个 key 对应的 value 会被当作文本条目逐条展示; // - 若没有填充【厂商 Inbox】,则默认使用该 Inbox 字段展示:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push#third_party_channel-%E8%AF%B4%E6%98%8E; // - 支持 API 16 以上的 ROM。 Inbox map[string]interface{} `json:"inbox,omitempty"` // 【可选】大图片通知栏样式。 // - 当 Style = style.BigPicture 时可用,目前支持 .jpg 和 .png 格式的图片,使用详情参见【设置大图片文档】:https://docs.jiguang.cn/jpush/practice/set_icon#android%E3%80%82; // - 支持网络图片 URL、本地图片的 Path、【极光 MediaID】(推荐使用,参考链接:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_image), // 如果是 http/https 的 URL,会自动下载;如果要指定开发者准备的本地图片就填 SD 卡的相对路径; // - 若没有填充【厂商 BigPicture】,则默认使用该字段展示:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push#third_party_channel-%E8%AF%B4%E6%98%8E; // - 支持 API 16 以上的 ROM。 BigPicture string `json:"big_pic_path,omitempty"` // 【可选】扩展字段。 // - 这里自定义 JSON 格式的 key/value 信息,以供业务使用。 // - 针对部分厂商跳转地址异常,可通过 third_url_encode 兼容处理,详情参考【厂商通道无法跳转问题分析】:https://docs.jiguang.cn/jpush/faq/tech_faq#%E5%8E%82%E5%95%86%E9%80%9A%E9%81%93%E6%97%A0%E6%B3%95%E8%B7%B3%E8%BD%AC%EF%BC%9F; // - 当通知内容超过厂商的限制时,厂商通道会推送失败,可以在 Extras 中配置 xx_content_forshort 参数传入对应厂商的通知内容,详情说明如下! // xx_content_forshort 参数: // - mipns_content_forshort:【可选】小米通知内容。由于小米官方的通知内容长度限制为 128 个字符以内(中英文都算一个),当通知内容(极光的 Alert 字段的值)长度超过 128 时,小米通道会推送失败。 // 此时调用极光 API 推送通知时,可使用此字段传入不超过 128 字符的通知内容作为小米通道通知内容; // - oppns_content_forshort:【可选】OPPO 通知内容。由于 OPPO 官方的通知内容长度限制为 200 个字符以内(中英文都算一个),当通知内容(极光的 Alert 字段的值)长度超过 200 时,OPPO 通道会推送失败。 // 此时调用极光 API 推送通知时,可使用此字段传入不超过 200 字符的通知内容作为 OPPO 通道通知内容; // - vpns_content_forshort:【可选】vivo 通知内容。由于 vivo 官方的通知内容长度限制为 100 个字符以内(1 个汉字等于 2 个英文字符),当通知内容(极光的 Alert 字段的值)长度超过 100 时,vivo 通道会推送失败。 // 此时调用极光 API 推送通知时,可使用此字段传入不超过 100 字符的通知内容作为 vivo 通道通知内容; // - mzpns_content_forshort:【可选】魅族通知内容。由于魅族官方的通知内容长度限制为 100 个字符以内(中英文都算一个),当通知内容(极光的 Alert 字段的值)长度超过 100 时,魅族通道会推送失败。 // 此时调用极光 API 推送通知时,可使用此字段传入不超过 100 字符的通知内容作为魅族通道通知内容。 Extras map[string]interface{} `json:"extras,omitempty"` // 【可选】通知栏大图标。 // - 图标大小不超过 30k(注:从 JPush Android SDK v4.0.0 版本开始,图片大小限制提升至 300k),使用详情参见【设置图标文档】:https://docs.jiguang.cn/jpush/practice/set_icon#android%E3%80%82; // - 支持网络图片 URL、本地图片的 Path、【极光 MediaID】(推荐使用,参考链接:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_image), // 如果是 http/https 的 URL,会自动下载;如果要指定开发者准备的本地图片就填 SD 卡的相对路径; // - 此字段值,若是 MediaID, 则对其它厂商通道生效,若非 MediaID,则对走华硕通道和极光通道下发的消息生效,不影响请求走其它厂商通道; // - 若没有填充【厂商 LargeIcon】,则默认使用该字段展示:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push#third_party_channel-%E8%AF%B4%E6%98%8E。 LargeIcon string `json:"large_icon,omitempty"` // 【可选】通知栏小图标。 // - 图标大小不超过 30k(注:从 JPush Android SDK v4.0.0 版本开始,图片大小限制提升至 300k),使用详情参见【设置图标文档】:https://docs.jiguang.cn/jpush/practice/set_icon#android%E3%80%82; // - 支持以 http/https 开头的网络图片和通过极光图片上传接口得到的 MediaID 值(推荐使用,参考链接:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_image); // - 此字段值,若是 MediaID, 则对其它厂商通道生效,若非 MediaID,则对走华硕通道和极光通道下发的消息生效,不影响请求走其它厂商通道; // - 若没有填充【厂商 SmallIcon】,则默认使用该字段展示:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push#third_party_channel-%E8%AF%B4%E6%98%8E。 SmallIcon string `json:"small_icon_uri,omitempty"` // 【可选】设置通知小图标背景色。 // - 该字段仅对消息走极光通道下发生效; // - 该字段能辅助解决部分设备小图标显示灰白情况,但最终还是依赖系统本身支持情况,建议开发者在设计 UI 图标时就做好适配工作; // - 需要搭配 Android JPush SDK v5.5.0 及其以上版本使用。 IconBgColor string `json:"icon_bg_color,omitempty"` // 【可选】指定跳转页面(使用 Intent 里的 URL 指定点击通知栏后跳转的目标页面)。 // - SDK < 422 的版本此字段值仅对走华硕通道和极光自有通道下发生效,不影响请求走其它厂商通道; // - SDK ≥ 422 的版本,API 推送时建议填写 Intent 字段,否则点击通知可能无跳转动作。 // 支持以下三种类型: // 1. 跳转到目标页: intent:#Intent;action=action 路径;component= 包名 /Activity 全名;end // // 注:OPPO 和 FCM 通道必须传 "action 路径",其他厂商必须传 "Activity 全名", 否则将出现对应厂商无法跳转问题! // 2. 跳转到 deeplink 地址:scheme://test?key1=val1&key2=val2 // 3. 应用首页: intent:#Intent;action=android.intent.action.MAIN;end(固定为此地址) Intent *Intent `json:"intent,omitempty"` // 【可选】指定跳转页面。 // - 用于指定开发者想要打开的 activity,值为 activity 节点的 "android:name" 属性值; // - 适配华为、小米、vivo 厂商通道跳转; // - JPush SDK ≥ v4.2.2,可不再填写本字段,仅设置 Intent 字段即可。 UriActivity string `json:"uri_activity,omitempty"` // 【可选】指定跳转页面。 // - 用于指定开发者想要打开的 activity,值为 "activity"-"intent-filter"-"action" 节点的 "android:name" 属性值; // - 适配 OPPO、FCM 跳转; // - JPush SDK ≥ v4.2.2,可不再填写本字段,仅设置 Intent 字段即可,但若需兼容旧版 SDK 必须填写该字段。 UriAction string `json:"uri_action,omitempty"` // 【可选】设置角标数字累加值,在原角标的基础上进行累加。 // - 此属性目前仅针对华为 EMUI 8.0 及以上、小米 MIUI 6 及以上、vivo、荣耀设备生效; // - 此字段如果不填,表示不改变角标数字(小米设备由于系统控制,不论推送走极光通道下发还是厂商通道下发,即使不传递依旧是默认 +1 的效果); // - 取值范围为:1~99,若设置了取值范围内的数字,下一条通知栏消息配置的 BadgeAddNum 数据会和原角标数量进行相加,建议取值为 1。 // 举例:BadgeAddNum 取值为 1,原角标数为 2,发送此角标消息后,应用角标数显示为 3。 // - 针对华为和荣耀通道,若 BadgeSetNum 与 BadgeAddNum 同时存在,则以 BadgeSetNum 为准; // 若 BadgeAddNum 和 BadgeSetNum 都设置为空,则应用角标数字默认加 1。 BadgeAddNum *int `json:"badge_add_num,omitempty"` // 【可选】设置角标数字固定值。 // - 此属性目前仅针对华为 EMUI 8.0 及以上、荣耀设备走厂商通道时生效,若 BadgeSetNum 与 BadgeAddNum 同时存在,则以 BadgeSetNum 为准; // 若 BadgeAddNum 和 BadgeSetNum 都设置为空,则应用角标数字默认加 1。 // - 取值范围为:0~99,若设置了取值范围内的数字,对应下一条通知栏消息配置的 BadgeSetNum 数字则为角标数值, // 举例:BadgeSetNum 取值为 1,无论应用之前角标数为多少,发送此角标消息后,应用角标数均显示为 1。 BadgeSetNum *int `json:"badge_set_num,omitempty"` // 【可选】桌面图标对应的应用入口 Activity 类,比如 "com.test.badge.MainActivity"。 // - 仅华为和荣耀通道推送时生效,此值如果填写非主 Activity 类,以厂商限制逻辑为准; // - 若需要实现角标累加功能,需配合 BadgeAddNum 使用,二者需要共存,缺少其一不可; // - 若需要实现角标固定值功能,需配合 BadgeSetNum 使用,二者需要共存,缺少其一不可。 BadgeClass string `json:"badge_class,omitempty"` // 【可选】铃声。 // - 填写 Android 工程中 /res/raw/ 路径下铃声文件名称,无需文件名后缀; // - 注意:针对 Android 8.0 以上,当传递了 ChannelID 时,此属性不生效。 Sound string `json:"sound,omitempty"` // 【可选】定时展示开始时间。 // - 此属性不填写,SDK 默认立即展示;此属性填写,则以填写时间点为准才开始展示; // - JPush Android SDK v3.5.0 版本开始支持。 ShowBeginTime *jiguang.LocalDateTime `json:"show_begin_time,omitempty"` // 【可选】定时展示结束时间。 // - 此属性不填写,SDK 会一直展示;此属性填写,则以填写时间点为准,到达时间点后取消展示; // - JPush Android SDK v3.5.0 版本开始支持。 ShowEndTime *jiguang.LocalDateTime `json:"show_end_time,omitempty"` // 【可选】APP 在前台,通知是否展示。 // - 值为 "1" 时,APP 在前台会弹出/展示通知栏消息; // - 值为 "0" 时,APP 在前台不会弹出/展示通知栏消息。 // 注:默认情况下 APP 在前台会弹出/展示通知栏消息,JPush Android SDK v3.5.8 版本开始支持。 DisplayForeground string `json:"display_foreground,omitempty"` }
Android 平台上的通知。
type HMOS ¶
type HMOS struct { // 【必填】通知内容。 // - 这里指定后会覆盖上级统一指定的 Alert 信息; // - 内容不可以是空字符串,否则推送厂商会返回失败。 Alert string `json:"alert"` // 【可选】通知标题。 // - 如果指定了,则通知里原来展示 APP 名称的地方,将展示 Title。否则使用 WebPortal 配置的默认 Title。 Title string `json:"title,omitempty"` // 【必填】通知栏消息分类条目。 // - 此字段由于厂商为必填字段,效果也完全依赖 ROM 厂商对 Category 的处理策略,请开发者务必填写。极光内部对此字段实际未进行必填校验,请开发者按照必填处理; // - 此字段值对应官方「云端 Category」取值,开发者通过极光服务发起推送时如果传递了此字段值,请务必按照官方要求传递,官方 Category 分类取值规则也可参考【鸿蒙消息分类标准】:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/push-noti-classification-0000001727885246#section1521814368537。 Category string `json:"category"` // 【可选】通知栏大图标。 // - 要求传递网络地址,使用 https 协议,取值样例:https://example.com/image.png; // - 图标大小不超过 30 k,图片 长 × 宽 < 12800 像素。 LargeIcon string `json:"large_icon,omitempty"` // 【可选】指定跳转页面。 // - 支持跳转到应用首页、deeplink 地址和 action 跳转三种类型: // 1. 跳转应用首页:固定 action.system.home // 2. 跳转到 deeplink 地址: scheme://test?key1=val1&key2=val2 // 3. 跳转到 action 地址: com.test.action Intent *Intent `json:"intent,omitempty"` // 【可选】设置角标数字累加值。 // - 此字段如果不填,表示不改变角标数字; // - 取值范围为:1~99,若设置了取值范围内的数字,下一条通知栏消息配置的 BadgeAddNum 数据会和原角标数量进行相加,建议取值为 1。 // 举例:BadgeAddNum 取值为 1,原角标数为 2,发送此角标消息后,应用角标数显示为 3。 BadgeAddNum *int `json:"badge_add_num,omitempty"` // 【可选】设置角标数字为固定值。 // - 此字段如果不填,表示不改变角标数字; // - 取值范围为:0~99,若设置了取值范围内的数字,对应下一条通知栏消息配置的 BadgeSetNum 数字则为角标数值。 // 举例:BadgeSetNum 取值为 1,无论应用之前角标数为多少,发送此角标消息后,应用角标数均显示为 1。 BadgeSetNum *int `json:"badge_set_num,omitempty"` // 【可选】测试消息标识。 // - false:正常消息(默认值); // - true:测试消息。 TestMessage *bool `json:"test_message,omitempty"` // 【可选】华为回执 ID。 // - 输入一个唯一的回执 ID 指定本次下行消息的回执地址及配置,该回执 ID 可以在【鸿蒙回执参数配置】中查看:https://docs.jiguang.cn/jpush/client/HarmonyOS/hmos_3rd_param#%E9%B8%BF%E8%92%99%E9%80%9A%E9%81%93%E5%9B%9E%E6%89%A7%E9%85%8D%E7%BD%AE%E6%8C%87%E5%8D%97。 ReceiptID string `json:"receipt_id,omitempty"` // 【可选】扩展字段。 // - 这里自定义 JSON 格式的 key/value 信息,以供业务使用。 Extras map[string]interface{} `json:"extras,omitempty"` // 【可选】通知栏样式类型。 // - 默认为 0:0-普通样式,2-多行文本样式 (style.Inbox)。 Style style.Style `json:"style,omitempty"` // 【可选】多行文本样式。 // - 对应 Style 的取值类型 style.Inbox。 Inbox map[string]interface{} `json:"inbox,omitempty"` // 【可选】推送类型。 // // 对应华为 push-type 字段,默认值 0 (hmos.PushTypeAlert),目前仅支持: // - 0: 通知消息 (hmos.PushTypeAlert) // - 2: 通知拓展消息 (hmos.PushTypeExtension) // - 10: VoIP 呼叫消息 (hmos.PushTypeVoIPCall) // 其它值报错,VoIP 消息与通知消息互斥,不可同时下发。 PushType hmos.PushType `json:"push_type"` // 【可选】附加数据。 // - 对应华为 extraData 字段,当 PushType = hmos.PushTypeExtension 或 PushType = hmos.PushTypeAlert 时生效,此时是必填的, // PushType = hmos.PushTypeAlert 时忽略此字段。 ExtraData string `json:"extra_data,omitempty"` }
鸿蒙(HarmonyOS)平台上的通知。
type IOS ¶
type IOS struct { // 【必填】通知内容。 // - 这里指定内容将会覆盖上级统一指定的 Alert 信息; // - 内容为空则不展示到通知栏; // - 支持字符串形式(string)也支持官方定义的 alert payload 结构(alert.IosAlert)。 // 文档链接: // 1. 《Payload Key Reference》:https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/PayloadKeyReference.html。 Alert interface{} `json:"alert"` // 【可选】通知提示声音或警告通知。 // - 普通通知:string 类型,如果无此字段,则此消息无声音提示;有此字段,如果找到了指定的声音就播放该声音,否则播放默认声音,如果此字段为空字符串,iOS 7 为默认声音,iOS 8 及以上系统为无声音。 // // 说明:JPush 官方 SDK 会默认填充声音字段,提供另外的方法关闭声音,详情查看各 SDK 的源码。 // - 告警通知:JSON Object,支持官方定义的 payload 结构(alert.IosSound),详见文档:https://developer.apple.com/documentation/usernotifications/generating-a-remote-notification#2990112。 // - 自定义铃声说明:格式必须是 Linear PCM、MA4(IMA/ADPCM)、alaw,μLaw 的一种,将声频文件放到项目 bundle 目录中,且时长要求 30s 以下,否则就是系统默认的铃声,详见【自定义铃声】:https://docs.jiguang.cn/jpush/practice/custom_ringtone#apns-%E9%80%9A%E9%81%93%E9%80%9A%E7%9F%A5%E5%AE%9E%E7%8E%B0。 Sound interface{} `json:"sound,omitempty"` // 【可选】应用角标。 // - 可设置为 N、+N、-N,N 的取值范围为 [0, 99]。若上传的角标值 value 为 10,表示角标会设置为 N、10+N、10-N(值小于 0 时默认清除角标); // - 为 0 或空字符串,则表示清除角标; // - 如果不填,表示不改变角标数字。 Badge *string `json:"badge,omitempty"` // 【可选】推送唤醒。 // - 推送的时候携带 "content-available":true,说明是 Background Remote Notification,如果不携带此字段则是普通的 Remote Notification,详情参考【Background Remote Notification】:https://docs.jiguang.cn/jpush/client/iOS/ios_new_fetures#ios-7-background-remote-notification。 ContentAvailable *bool `json:"content-available,omitempty"` // 【可选】通知扩展。 // - iOS 10 新增的 Notification Service Extension 功能,用于上报每条 APNs 信息的送达状态,使用该功能需要客户端实现 Service Extension 接口,并在服务端使用 "mutable-content" 字段完成设置; // - 设置为 true 说明支持 iOS 10 的 UNNotificationServiceExtension 功能; // - 如果不携带此字段则是普通的 Remote Notification,无法统计抵达数据。 MutableContent *bool `json:"mutable-content,omitempty"` // 【可选】通知分类。 // - iOS 8 开始支持,设置 APNs payload 中的 "category" 字段值。 Category string `json:"category,omitempty"` // 【可选】附加字段。 // - 这里自定义 key/value 信息,以供业务使用。 // 详情参考: // 1. 【如何设置右侧图标/大图片】:https://docs.jiguang.cn/jpush/practice/set_icon#%E5%8F%B3%E4%BE%A7%E5%9B%BE%E6%A0%87--%E5%A4%A7%E5%9B%BE%E7%89%87; // 2. 【iOS 通知点击跳转】:https://docs.jiguang.cn/jpush/practice/intent_ios。 Extras map[string]interface{} `json:"extras,omitempty"` // 【可选】通知分组。 // - iOS 的远程通知通过该属性来对通知进行分组,同一个 ThreadID 的通知归为一组。 ThreadID string `json:"thread-id,omitempty"` // 【可选】通知优先级和投递时间的中断级别。 // - iOS 15 的通知级别,取值只能是 alert.IosInterruptionLevelActive、alert.IosInterruptionLevelCritical、alert.IosInterruptionLevelPassive、alert.IosInterruptionLevelTimeSensitive 中的一个, // 详情参考【UNNotificationInterruptionLevel】:https://developer.apple.com/documentation/usernotifications/unnotificationinterruptionlevel。 InterruptionLevel alert.IosInterruptionLevel `json:"interruption-level,omitempty"` }
iOS 平台上的 APNs 通知。
type Intent ¶
type Intent struct { // 【必填】指定跳转页面 URL(指定点击通知栏后跳转的目标页面)。 // // 支持以下三种类型: // 1. 跳转到目标页: intent:#Intent;action=action 路径;component= 包名 /Activity 全名;end // // 注:OPPO 和 FCM 通道必须传 "action 路径",其他厂商必须传 "Activity 全名", 否则将出现对应厂商无法跳转问题! // 2. 跳转到 deeplink 地址:scheme://test?key1=val1&key2=val2 // 3. 应用首页: intent:#Intent;action=android.intent.action.MAIN;end(固定为此地址) URL string `json:"url"` }
指定通知点击跳转页面。
type Notification ¶
type Notification struct { // 【可选】各个平台的通知内容,详见【alert】:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push#alert // - 通知的内容在各个平台上,都可能只有这一个最基本的属性 Alert。 // - 这个位置的 Alert 属性(直接在 Notification 对象下),是一个快捷定义,各平台的 Alert 信息如果都一样,则以此定义为准;如果各平台有定义,则覆盖这里的定义。 Alert string `json:"alert,omitempty"` // 【可选】个性化文案 - 备用 Alert 信息。 AlternateAlert string `json:"alternate_alert,omitempty"` // 【可选】Android 平台上的通知,JPush SDK 按照一定的通知栏样式展示,详见【android】:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push#android Android *Android `json:"android,omitempty"` // 【可选】iOS 平台上 APNs 通知结构,详见【ios】:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push#ios // - 该通知内容会由 JPush 代理发往 Apple APNs 服务器,并在 iOS 设备上在系统通知的方式呈现; // - 该通知内容满足 APNs 的规范。 IOS *IOS `json:"ios,omitempty"` // 【可选】鸿蒙(HarmonyOS)平台上通知结构,JPush SDK 按照一定的通知栏样式展示,详见【hmos】:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push#hmos HMOS *HMOS `json:"hmos,omitempty"` // 【可选】快应用平台上通知结构,详见【quickapp】:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push#quickapp // - 该通知内容满足快应用平台的规范。 QuickApp *QuickApp `json:"quickapp,omitempty"` // 【可选】iOS VoIP 功能。该类型推送支持和 iOS 的 Notification 通知并存,详见【voip】:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push#voip // - 任意自定义 key/value 对,会透传给 APP。 VoIP map[string]interface{} `json:"voip,omitempty"` }
通知内容。
- “通知” 对象,是一条推送的实体内容对象之一(另一个是 “消息”),是会作为 “通知” 推送到客户端的。
详见文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push#notification%EF%BC%9A%E9%80%9A%E7%9F%A5。
type QuickApp ¶
type QuickApp struct { // 【必填】通知内容。 // - 这里指定了,则会覆盖上级统一指定的 Alert 信息。 Alert string `json:"alert"` // 【必填】通知标题。 // - 快应用推送通知的标题。 Title string `json:"title"` // 【必填】跳转页面。 // - 快应用通知跳转地址。 Page string `json:"page"` // 【可选】附加字段。 // - 这里自定义 key/value 信息,以供业务使用。 Extras map[string]interface{} `json:"extras,omitempty"` }
快应用平台上的通知。
type Third ¶
type Third struct { // 【可选】补发通知标题,如果为空则默认为应用名称。 Title string `json:"title,omitempty"` // 【必填】补发通知的内容,不能为空或空字符串。 Content string `json:"content"` // 【可选】指定跳转页面(使用 Intent 里的 URL 指定点击通知栏后跳转的目标页面)。 // - SDK < 422 的版本此字段值仅对走华硕通道和极光自有通道下发生效,不影响请求走其它厂商通道; // - SDK ≥ 422 的版本,API 推送时建议填写 Intent 字段,否则点击通知可能无跳转动作。 // 支持以下三种类型: // 1. 跳转到目标页: intent:#Intent;action=action 路径;component= 包名 /Activity 全名;end // // 注:OPPO 和 FCM 通道必须传 "action 路径",其他厂商必须传 "Activity 全名", 否则将出现对应厂商无法跳转问题! // 2. 跳转到 deeplink 地址:scheme://test?key1=val1&key2=val2 // 3. 应用首页: intent:#Intent;action=android.intent.action.MAIN;end(固定为此地址) Intent *Intent `json:"intent,omitempty"` // 【可选】指定跳转页面。 // - 用于指定开发者想要打开的 activity,值为 activity 节点的 "android:name" 属性值; // - 适配华为、小米、vivo 厂商通道跳转; // - JPush SDK ≥ v4.2.2,可不再填写本字段,仅设置 Intent 字段即可。 UriActivity string `json:"uri_activity,omitempty"` // 【可选】指定跳转页面。 // - 用于指定开发者想要打开的 activity,值为 "activity"-"intent-filter"-"action" 节点的 "android:name" 属性值; // - 适配 OPPO、FCM 跳转; // - JPush SDK ≥ v4.2.2,可不再填写本字段,仅设置 Intent 字段即可,但若需兼容旧版 SDK 必须填写该字段 UriAction string `json:"uri_action,omitempty"` // 【可选】设置角标数字累加值,在原角标的基础上进行累加,取值范围为:1~99。 // - 此属性目前仅针对华为 EMUI 8.0 及以上、小米 MIUI 6 及以上、vivo、荣耀设备生效; // - 此字段如果不填,表示不改变角标数字(小米设备由于系统控制,不论推送走极光通道下发还是厂商通道下发,即使不传递依旧是默认 +1 的效果); // - 若设置了取值范围内的数字,下一条通知栏消息配置的 BadgeAddNum 数据会和原角标数量进行相加,建议取值为 1。 // 举例:BadgeAddNum 取值为 1,原角标数为 2,发送此角标消息后,应用角标数显示为 3。 // - 针对华为和荣耀通道,若 BadgeSetNum 与 BadgeAddNum 同时存在,则以 BadgeSetNum 为准。 BadgeAddNum *int `json:"badge_add_num,omitempty"` // 【可选】设置角标数字固定值,取值范围为:0~99。 // - 此属性目前仅针对华为 EMUI 8.0 及以上、荣耀设备走厂商通道时生效,若 BadgeSetNum 与 BadgeAddNum 同时存在,则以 BadgeSetNum 为准; // - 若设置了取值范围内的数字,对应下一条通知栏消息配置的 BadgeSetNum 数字则为角标数值, // 举例:BadgeSetNum 取值为 1,无论应用之前角标数为多少,发送此角标消息后,应用角标数均显示为 1。 BadgeSetNum *int `json:"badge_set_num,omitempty"` // 【可选】桌面图标对应的应用入口 Activity 类,比如 "com.test.badge.MainActivity"。 // - 仅华为和荣耀通道推送时生效,此值如果填写非主 Activity 类,以厂商限制逻辑为准; // - 若需要实现角标累加功能,需配合 BadgeAddNum 使用,二者需要共存,缺少其一不可; // - 若需要实现角标固定值功能,需配合 BadgeSetNum 使用,二者需要共存,缺少其一不可。 BadgeClass string `json:"badge_class,omitempty"` // 【可选】铃声。 // - 填写 Android 工程中 /res/raw/ 路径下铃声文件名称,无需文件名后缀; // - 注意:针对 Android 8.0 以上,当传递了 ChannelID 时,此属性不生效。 Sound string `json:"sound,omitempty"` // 【可选】Android 通知 ChannelID。 // - 根据 ChannelID 来指定通知栏展示效果,不超过 1000 字节; // - Android 8.0 开始可以进行【NotificationChannel 配置】:https://docs.jiguang.cn/jpush/client/Android/android_api#notificationchannel-%E9%85%8D%E7%BD%AE。 ChannelID string `json:"channel_id,omitempty"` // 【可选】扩展字段。 // - 这里自定义 JSON 格式的 key/value 信息,以供业务使用。 Extras map[string]interface{} `json:"extras,omitempty"` }
自定义消息转厂商通知内容。
Push API 发起自定义消息类型的推送请求时,针对 Android 设备,如果 APP 长连接不在线,则消息没法及时的下发,针对这种情况,极光推出了 “自定义消息转厂商通知” 的功能。
也就是说,针对用户一些重要的自定义消息,可以申请开通极光 VIP 厂商通道功能,开通后,通过 APP 长连接不在线时没法及时下发的消息,可以通过厂商通道下发以厂商通知形式展示,及时提醒到用户。 极光内部会有去重处理,您不用担心消息重复下发问题。
Source Files
¶
Click to show internal directories.
Click to hide internal directories.