极光推送
极光推送
介绍:
极光推送支持 Android、iOS、QuickApp、Web 等平台,SDK 接入方便快捷,推送通道高速稳定且支持海外专线,API 开放接口强大、灵活和易用、WEB 端支持创建通知、后效分析、标签别名管理和故障排查等运营功能。极光推送(JPush)在为开发者提供基础推送服务的同时,还提供了用户精准标签、用户分群、地理围栏、应用内消息、智能发送策略、智能时机、智能促活等服务能力,可有效提升消息的送达率、展示率和点击率,通过精细化运营触达助力 APP 提升日活和留存。
支持类型
平台类型支持
平台类型 | Android | iOS | QuickApp | Web | Winphone | Windows | Mac |
---|---|---|---|---|---|---|---|
支持情况 | 支持 | 支持 | 支持 | 支持(私有云) | 支持 | 支持(私有云) | 支持(私有云) |
消息类型支持
消息类型 | 通知栏消息 | 自定义消息 | 应用内消息 | 地理围栏消息 | 通知栏 + 自定义消息 | 自定义消息转通知栏消息 | 应用内提醒消息 |
---|---|---|---|---|---|---|---|
支持情况 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
通知样式支持
通知样式 | 默认样式 | 缩略图样式 | 大图样式 | 文本样式 | 收件箱样式 | 自定义样式 |
---|---|---|---|---|---|---|
支持情况 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
SDK 能力支持
SDK/ 插件项 | 功能描述 |
---|---|
Android SDK | JPush Android SDK 是极光推送为 Android 平台开发的 SDK,作为 Android Service 运行在后台,接收并处理服务端推送的通知消息。 |
iOS SDK | JPush iOS SDK 是极光推送为 iOS 平台开发的 SDK,使用官方推送通道作为 iOS Service 运行在后台,接收并处理服务端推送的通知消息。 |
服务端 SDK | JPush 服务端所提供 PUSH 后台服务 SDK,包含 Java、Python、PHP、Ruby、C# 和 Node.js,发布在 GitHub 上。 |
客户端插件 | JPush 提供主流的开发工具集成插件,包含 Flutter、Uniapp、React Native 和 Cocos2d-x 等,发布在 GitHub 上。 |
SDK 地址
-
服务端 (包含了:Java、Python、PHP、Ruby、C、Node.js 等SDK)
或者composer require jpush/jpush
-
客户端 (客户端 SDK 下载有两种方法第一种就是本链接、还有一种方法就是创建好应用后到设置里面指定证书等后下载)
当然我没有下载客户端的,客户端具体怎么实现的也不清楚了。
使用示例
使用平台:IOS、Android
消息类型:通知栏消息、自定义消息、应用内消息
Android 通知样式需要前台设置模板 服务端使用 channel_id
绑定
/**
* @param $title string 标题
* @param $msg string 消息内容
* @param $params array 设定参数
* @param $registration_id array 注册 IDs 为空时推送全部设备
*/
function morePush($title = '',$msg = '', $params = [], $registration_id = [])
{
$config = config('jpush');
$client = new JPush\Client($config['appKey'], $config['masterSecret'], LOG_PATH . 'JPush.log',10);
try {
$response = $client->push()
->setPlatform(array('ios', 'android'))
// 一般情况下,关于 audience 的设置只需要调用 addAlias、addTag、addTagAnd 或 addRegistrationId
// 这四个方法中的某一个即可,这里仅作为示例,当然全部调用也可以,多项 audience 调用表示其结果的交集
// 即是说一般情况下,下面三个方法和没有列出的 addTagAnd 一共四个,只适用一个便可满足大多数的场景需求
// ->addAlias('alias')
// ->addTag(array('tag1', 'tag2'))
->addRegistrationId($registration_id)
// 设置推送设备
// ->addAllAudience('all')
// message 与 notification 一起二者必须有其一,可以二者并存。
// 所有平台推送相同的 alert 消息
->setNotificationAlert('alert')
// IOS 平台消息
->iosNotification([
'title' => $title,
'body' => $msg
], array(
'sound' => 'jpush.caf',
'badge' => '+1',
'content-available' => true,
'mutable-content' => true,
'extras' => $params,
))
// 安卓平台消息
->androidNotification($title, array(
'title' => $title,
'alert' => $msg,
'sound' => '',
'extras' => $params,
'style' => 1,
// 'big_text' => '',
// 通知类型 可选范围为 -1~7 ,默认按照 -1 处理。 即0111二进制,左数第二位代表 light,第三位代表 vibrate,第四位代表 sound。 0:不生效,1:生效
'alert_type' => '1111',
// 图标 小角标 +1
'badge_add_num' => 1,
// 华为小角标 +1 需要加包名
'badge_class' =>'com.example.xinenhuadaka'
))
// ->message($msg, array(
// 'title' => $title,
// 'msg_content' => $msg,
// 'content_type' => 'text',
// 'extras' => $params,
// ))
->options(array(
// sendno: 表示推送序号,纯粹用来作为 API 调用标识,
// API 返回时被原样返回,以方便 API 调用方匹配请求与返回
// 这里设置为 100 仅作为示例
'sendno' => 100,
// time_to_live: 表示离线消息保留时长(秒),
// 推送当前用户不在线时,为该用户保留多长时间的离线消息,以便其上线时再次推送。
// 默认 86400 (1 天),最长 10 天。设置为 0 表示不保留离线消息,只有推送当前在线的用户可以收到
// 这里设置为 1 仅作为示例
'time_to_live' => 10,
// apns_production: 表示APNs是否生产环境,
// True 表示推送生产环境,False 表示要推送开发环境;如果不指定则默认为推送开发环境
'apns_production' => false,
// big_push_duration: 表示定速推送时长(分钟),又名缓慢推送,把原本尽可能快的推送速度,降低下来,
// 给定的 n 分钟内,均匀地向这次推送的目标用户推送。最大值为1400.未设置则不是定速推送
// 这里设置为 1 仅作为示例
// 'big_push_duration' => 1
))
// 已弃用
// ->setSmsMessage(array(
// 'delay_time' => 60,
// 'signid' => 154,
// 'temp_id' => 1,
// 'temp_para' => array(
// 'code' => 357
// ),
// 'active_filter' => false
// ))
// custom可自定义最外层参数,如skd未支持部分文档功能,用户可自行写入
// 这里仅作为例子展示
// ->custom(array(
// 'sms_message' => array(
// 'active_filter' => false,
// 'delay_time' => 60,
// 'signid' => 154,
// 'temp_id' => 1,
// 'temp_para' => array(
// 'code' => 357
// )),
// 'options' => array(
// 'apns_production' => false,
// 'time_to_live' => 62000,
// )
// ))
->send();
return $response;
} catch (\JPush\Exceptions\APIConnectionException $e) {
return $e;
} catch (\JPush\Exceptions\APIRequestException $e) {
return $e;
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析