jpush

JPush极光推送的原理与简单demo的实现会遇到的问题

非 Y 不嫁゛ 提交于 2020-03-19 17:40:38
3 月,跳不动了?>>> 相信开发者们一定不陌生JPush极光推送,像QQ、微信的推送机制,QQ采用的是APNS推送服务,微信则采用google的GCM推送机制,很 多人都说APNS是一个死流氓服务,我也没去了解,而GCM有点像IOS自带的推送,有待了解。很多项目做一些通讯功能,大部分人都会选择JPush极光 推送,因为用起来简单,代码量也少,JPush官网上的开发文档也写的相当清楚,一些步骤也清晰明了。今天在这边主要就是讲一下推送的原理,以及demo 测试中会遇到的问题,这也是移植到项目中易出错的地方。 极光推送的功能 :主动 即时的向用户发起交互,可以发送聊天信息等; ——作用:通过向精准的目标用户推送有价值的消息,可以提供用户的忠诚度,提高留存率。 (1)推送方式 ——发送通知:推送的文本内容,展示在通知栏上面; ——自定义消息:推送自定义消息,给用户自行处理; ——富媒体:推送的是HTML网页内容。 (2)推送目标 ——广播推送:向所有用户发送广播信息; ——标签推送 Tag:根据用户设置自定义的标签分组,向某一组推送消息; ——别名推送 Alias:客户端绑定用户自定义的用户别名,向单个用户推送消息。 (3)用户分群 ——用户分群:可以根据JPush提供的多条件组合,对用户进行群组划分,实现实时筛选推送。 (4)推送历史 ——推送历史:通过WEB或者API发出的推送

关于极光推送遇到的小问题整理

喜欢而已 提交于 2020-02-20 14:18:32
1.ios端收不到消息 极光推送分开发环境和生产环境,注意这里的开发和生产和我们自己的开发,测试,生产环境不一致。我们的开发测试生产可能用的都是极光的生产环境; 前后端一定要对清楚,不然会费很多时间定位问题: 这里的apnsProduction 设置为true 为生产环境 payload = PushPayload.newBuilder() .setPlatform(Platform.android()) .setAudience(Audience.alias(accounts)) .setNotification(Notification.newBuilder() .addPlatformNotification(AndroidNotification.newBuilder() .setAlert(alert) .setStyle(1) .setBigText(alert) .setTitle(notificationTitle) .build()) .build() ) .setMessage(cn.jpush.api.push.model.Message.newBuilder() .setMsgContent(content) .setTitle(contentTitle) .addExtras(message.getBusinessContent()) .build())

JPush极光推送Java服务器端API

社会主义新天地 提交于 2020-01-23 14:32:14
转自: http://www.cnblogs.com/zhanghaoh/archive/2013/02/20/2919282.html // 对android和ios设备发送 JPushClient jpush = new JPushClient(masterSecret, appKey); // 对android和ios设备发送,同时指定离线消息保存时间 JPushClient jpush = new JPushClient(masterSecret, appKey, timeToLive); // 指定某种设备发送 JPushClient jpush = new JPushClient(masterSecret, appKey, DeviceEnum.Android); // 指定某种设备发送,并且指定离线消息保存时间 JPushClient jpush = new JPushClient(masterSecret, appKey, timeToLive, DeviceEnum.IOS); 参数名称 参数类型 选项 内容说明 masterSecret String 必须 Portal上注册应用时生成的 masterSecret appKey String 必须 Portal上注册应用时生成的 appKey timeToLive long 可选 保存离线消息的时长。秒为单位

极光推送android sdk集成步骤

*爱你&永不变心* 提交于 2020-01-16 01:59:32
推送,用极光,大家都说好,哈哈. 进入正题: 1.确认android studio的 Project 根目录的主 gradle 中配置了jcenter支持。(基本上现在都已经支持了,循例说一下) ,就是这个 2.在 module 的 gradle 中添加依赖和AndroidManifest的替换变量(建议先插入依赖包,再插入另外的ndk和manifestPlaceholders ) android { ...... defaultConfig { applicationId "com.xxx.xxx" //JPush上注册的包名. ...... ndk { //选择要添加的对应cpu类型的.so库。 abiFilters 'armeabi', 'armeabi-v7a', 'armeabi-v8a' // 还可以添加 'x86', 'x86_64', 'mips', 'mips64' } manifestPlaceholders = [ JPUSH_PKGNAME : applicationId, JPUSH_APPKEY : "你的appkey", //JPush上注册的包名对应的appkey. JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可. ] ...... } ...... } dependencies { ......

JPush集成方案

一个人想着一个人 提交于 2020-01-12 17:46:24
现在的移动应用中消息推送已经成为不可或缺的功能了,这样可以增加与用户的交互。 使用消息推送的方法有很多,原理大致是:移动端与消息服务器保持一个长连接,一旦服务器有消息就推给客户端,客户端收到消息做相应的处理。 消息推送 参考的实现方式: 1、XMPP协议实现的openfire可以作为消息服务器。客户端也有asmack封装好了xmpp协议。openfire提供了一套IM所需的所有功能,而且支持插件形式的二次开发。 2、开源项目androidpn,也是实现了XMPP协议。 3、JPush极光推送。等一系列第三方的推送平台。 各自的优缺点: 1、openfire提供了IM的所有功能,功能非常强大,但是移动端如果只想集成消息推送的话,openfire就显得很是笨重。而且openfire的二次开发资料很少,一般需针对公司的业务开发,使用公司自己的数据库。服务器端开发成本高,周期长。openfire的并发连接好像也只有5000左右(做的比较好的情况下,一般都达不到这个数)。移动客户端也要根据xmpp协议与openfire服务器进行交互来完成消息推送。所以客户端的开发周期也长。 2、androidpn也是实现的XMPP,但是只实现了核心的功能,也需要针对公司的业务进行二次开发。基本和openfire的缺点差不多。 3、JPush集成非常简单,客户端和服务端都不需要进行二次开发

flutter umeng 极光 友盟 统计

一曲冷凌霜 提交于 2019-12-28 23:06:43
增加插件 flutter_umplus: ^0.0.1 flutter_jpush: ^0.0.4 main 方法增加以下代码 void _startupJpush() async { print("初始化jpush"); await FlutterJPush.startup(); print("初始化jpush成功"); } initUMeng() { FlutterUmplus.init( '*******a3578072000cae', channel: 'test', reportCrash: true, logEnable: true, encrypt: true, ); FlutterUmplus.beginPageView('demo'); FlutterUmplus.endPageView('demo'); FlutterUmplus.event('eventName', label: 'eventLabel'); } 来源: CSDN 作者: 踏云归 链接: https://blog.csdn.net/beyondforme/article/details/103747975

基于Android移动平台僵尸网络模拟工具设计与实现

梦想与她 提交于 2019-12-05 01:47:43
移动端:基于 Android 系统开发的应用,表层应用是基于 baiduMap 路线规划 app 服务端:基于 python web 开发框架 django 实现。 通信信道:基于第三方 SDK Jpush 推送消息 + 自己一套加密系统 推送原理: 1. 轮询方式( pull ):实现消息队列 轮询频率问题 2.SMS ( push ):拦截消息 解析意图 成本高 3. 持久链接( push ):解决轮询性能问题 XMPP 协议: 基于 XML 核心部分:在网络上分片发布 XML 的流协议 Android 客户端要点: 1. 传递信息 ( 1 )传递信息是指僵尸应用可以获取移动终端的基本信息,如 : 位置、服务商信息、号码以及个人基本信息等; ( 2 )发送心跳包,服务端通过对发来的包的解析来判断在线主机以及状态。 2. 解析命令 Web 服务器通过会通过相关信道对部分僵尸客户端发送命令,客户端解析服务端发送的数据转化成相应的指令。 3. 执行命令 根据服务端发送的指令,指向相关的操作。 服务端: 1. 连接过程: 连接过程就是 Web 服务器和 Android 客户端之间所建立的一种连接,以保证服务端可以监控到僵尸手机是不是在线。 2. 命令推送过程: 当攻击者想执行某个操作时候,通过向 Android 手机推送命令的过程。 3. 应答过程: 应答过程就是当命令推送过程之后,

JAVA集成JPush

匿名 (未验证) 提交于 2019-12-02 21:52:03
本篇集成为web项目手动集成JPush https://docs.jiguang.cn 成为极光用户创建一个应用拿到(AppKey、Master Secret),官网上有很详细的教程 https://docs.jiguang.cn//jpush/resources/ 下载后的SDK包中有相关jar包 将jar包复制到项目lib中 在这里还需要填加一个jar包,否则后面推送消息时会出现json解析错误(小编泪奔~~~) 童鞋们可通过maven下载 <dependency> <groupId> com.google.code.gson </groupId> <artifactId> gson </artifactId> <version> 2.3 </version> </dependency> 到这里就集成完毕了,下面看代码 package pms . schedul ; import java . util . Map ; import cn . jiguang . common . resp . APIConnectionException ; import cn . jiguang . common . resp . APIRequestException ; import cn . jpush . api . JPushClient ; import cn . jpush .

Ionic系列——极光推送

穿精又带淫゛_ 提交于 2019-11-30 08:45:40
一、准备工作 1、首先你要创建好一个Ionic的项目。 2、你要去JPush官网注册一个账号,并新建一个应用,这个管理平台是可以手动发送消息,并统计分析的。 3、在上图中的应用包名要注意,这个得去项目中去找,要和项目中的一致。 二、jpush插件的安装和配置 这一部分其实就是按着github上的步骤来的,但是github上的不够详细有很多细节如果是第一次搞很容易弄错,所以我统一总结为以下的步骤。 1、从github上下载 jpush-phonegap-plugin 压缩包并解压,将文件夹命名为 $JPUSH_PLUGIN_DIR 2、 将 $JPUSH_PLUGIN_DIR/plugin.xml 文件中的AppKey(下边的your appkey的位置)替换为在Portal(上面注册的那个管理平台)上注册该应用的的Key,例如(9fed5bcb7b9b87413678c407) <meta-data android:name="JPUSH_APPKEY" android:value="your appkey"/> 3、 打开 $JPUSH_PLUGIN_DIR/src/ios/PushConfig.plist 文件将文件中的 7d431e42dfa6a6d693ac2d04 替换为在Portal上注册该应用的的Key,例如(9fed5bcb7b9b87413678c407) 4、在

极光消息推送JPush

Deadly 提交于 2019-11-29 23:28:47
import cn.jiguang.common.resp.APIConnectionException; import cn.jiguang.common.resp.APIRequestException; import cn.jpush.api.JPushClient; import cn.jpush.api.push.PushResult; import cn.jpush.api.push.model.Options; import cn.jpush.api.push.model.Platform; import cn.jpush.api.push.model.PushPayload; import cn.jpush.api.push.model.audience.Audience; import cn.jpush.api.push.model.notification.AndroidNotification; import cn.jpush.api.push.model.notification.IosNotification; import cn.jpush.api.push.model.notification.Notification; import org.springframework.beans.factory.annotation.Autowired;