atitit.极光消息推送服务器端开发实现推送 jpush v3. 总结o7p
atitit.极光消息推送服务器端开发实现推送 jpush v3. 总结o7p
1. 推送所设计到底功能
1.1. 内容压缩
1.2. 多引擎
2. reg ,设置appkey and pwdkey
3. 下载server sdk v3
https://github.com/jpush/jpush-api-java-client
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
4. push推送样例
以下片断来自项目代码里的文件:cn.jpush.api.examples.PushExample
JPushClient jpushClient = new JPushClient(masterSecret, appKey, 3);
// For push, all you need do is to build PushPayload object.
PushPayload payload = buildPushObject_all_all_alert();
try {
PushResult result = jpushClient.sendPush(payload);
LOG.info("Got result - " + result);
} catch (APIConnectionException e) {
// Connection error, should retry later
LOG.error("Connection error, should retry later", e);
} catch (APIRequestException e) {
// Should review the error, and fix the request
LOG.error("Should review the error, and fix the request", e);
LOG.info("HTTP Status: " + e.getStatus());
LOG.info("Error Code: " + e.getErrorCode());
LOG.info("Error Message: " + e.getErrorMessage());
}
进行推送的关键在于构建一个 PushPayload 对象。以下示例一般的构建对象的用法。
5. Code
Pushx。Java
private static void single_test(final double i) throws APIConnectionException,
APIRequestException {
core.execMeth_Ays(new Runnable() {
@Override
public void run() {
String r = "";
try {
r = new pushX().push(".", 1099);
} catch (APIConnectionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(String.valueOf(i) + "::" + r);
}
}, " threadName");
}
public String push(final String txt, final Object... target)
throws APIConnectionException, APIRequestException {
// attilax 老哇的爪子 X5042 o7m // k_56_44 o80 老哇的爪子 Attilax
core.log("---- o8q14 add act n seruinfo before txt:" + txt);
core.log("----add act n seruinfo before len:"
+ String.valueOf(txt.length()));
final String s = jpushCompressor.kmprs(txt);
core.log("----add act n seruinfo aft len:" + String.valueOf(s.length()));
logger.info(txt + "\r\ntarget:" + StringUtils.join(target, ",") + " ");
// new com.attilax.tryX<String>() {
// @Override public String $$(Object t) throws Exception {
// attilax 老哇的爪子 2_q_9 o86
setInvokeTimes();
try {
PushExample.SendPush_msgFmt(s, core.toStrArr(target));
} finally {
// this.respMsg=r;
this.sendMsg = PushExample.sendMsg_thrdloc.get();
}
// catch (APIConnectionException e) {
// respMsg="APIConnectionException";
// }
// catch (APIRequestException e) {
// respMsg=
// }
// return null;
// }
// }.$("");
new com.attilax.tryX<String>() {
@Override
public String $$(Object t) throws Exception {
// attilax 老哇的爪子 2_q_9 o86
// PushExample.SendPush(s, core.toStrArr(target));
return null;
}
}.$("");
String r = PushExample.rzt.get();
return r;
}
atitit.极光消息推送服务器端开发实现推送 jpush v3. 总结o7p的更多相关文章
- java服务端集成极光消息推送--详细开发步骤
1.极光推送账号准备 要使用极光消息推送必须先在官方网站上注册账号,并添加应用. 产品介绍:https://docs.jiguang.cn/jpush/guideline/intro/ 注册开发者账号 ...
- 最新的极光推送服务器端代码(java服务器后台向手机端自定义推送消息)
一共两个类 一个Jdpush 一个JpushClientUtil 代码如下 注解都写的很清楚 package com.sm.common.ajpush; import org.slf4j.Log ...
- 【Android应用开发】 推送原理解析 极光推送使用详解 (零基础精通推送)
作者 : octopus_truth 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/45046283 推送技术产生场景 : -- ...
- .NET对接极光消息推送
什么是APP消息推送? 很多手机APP会不定时的给用户推送消息,例如一些新闻APP会给用户推送用户可能感兴趣的新闻,或者APP有更新了,会给用户推送是否选择更新的消息等等,这就是所谓的"消息 ...
- iOS 极光推送 如何点击推送消息跳转页面
假如你已经集成完了极光,恰好有这个问题不知如何解决,可以看看这篇文章,这篇是针对远程通知的,本地通知大同小异吧. 根据我项目的要求,极光推送跳转指定页面分为两种情况:app在后台情况和app在杀死的情 ...
- iOS开发 iOS10推送必看(基础篇)
iOS10更新之后,推送也是做了一些小小的修改,下面我就给大家仔细说说.希望看完我的这篇文章,对大家有所帮助. 原文链接 一.简单入门篇---看完就可以简单适配完了相对简单的推送证书以及环境的 ...
- pushlet实现服务器端向客户端推送信息
使用Pushlet来实现服务器端向客户端推送信息 1. 实现方式: 有两种实现方式: 1. 通过配置文件来实现定时的从服务器端向客户端推送信息 2. 通过API主动 ...
- iOS开发 iOS10推送必看
iOS10更新之后,推送也是做了一些小小的修改,下面我就给大家仔细说说.希望看完我的这篇文章,对大家有所帮助. 一.简单入门篇---看完就可以简单适配完了 相对简单的推送证书以及环境的问题,我就不在这 ...
- 使用Pushlet来实现服务器端向客户端推送信息
使用Pushlet来实现服务器端向客户端推送信息 1. 实现方式: 有两种实现方式: 1. 通过配置文件来实现定时的从服务器端向客户端推送信息 2. 通过A ...
随机推荐
- Linux命令之fdisk
fdisk fdisk [选项] <disk> 改变分区表 fdisk [选项] –l <disk> 列出所有分区表 fdisk –s <partition(分区编号 ...
- 28、Django实战第28天:个人信息展示
从今天开始,我来完成个人中心部分,前端页面如下 1.浏览这些页面可以发现,它们和base.html是有区别的,因此,它们需要新建一个模板usercenter-base.html 2.把usercent ...
- 【块状树】bzoj3731 Gty的超级妹子树
带 加点 删边的块状树. 加点在 bzoj3720 说过. 删边其实就是块顶打标记,记录其属于哪棵树,防止在dfs搜集答案时跑到别的树上. 然后暴力把所在块拆开. 好像用邻接表存图,直接在vector ...
- 【莫队算法】bzoj3781 小B的询问
莫队经典. 开个数组维护a[i]出现的次数. #include<cstdio> #include<cmath> #include<algorithm> using ...
- 【费马小定理】HDU4704-Sum
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #d ...
- N进制加法
我是网络公司的一名普通程序员,英文名Steven,发音比较像“师弟”,自从入职培训自我介绍后,大家就称我为“二师弟”,我喜欢看科幻小说,也喜欢做梦,有一次梦到外星球,发现外星人使用的并非10进制/16 ...
- &#x开头的是什么编码?
在 Node 层利用 cheerio 解析网页时,输出的中文内容都是以 &#x 开头的一堆像乱码一样的东西,尝试过各种编码都无效,而且神奇的是,将这一堆“乱码”保存成网页后,通过浏览器打开又可 ...
- Ubuntu -- 安装和部署php5.6 nginx php5.6-fpm
1.首先输入用户名和密码进行登录 2.升级更新软件包 sudo apt-get update sudo apt-get upgrade 判断都填y 3.安装nginx sudo apt-get i ...
- 启动、关闭tomcat脚本
#[root@node1 ~]# vim /etc/init.d/tomcat #!/bin/bash # Init file for Tomcat server daemon # # chkconf ...
- (转)MFC的GUI窗口使用Console输出函数printf
原文链接 在GUI程序中使用printf函数: #include <io.h> #include <fcntl.h> void InitConsole() { ; FILE* ...