个推-推送hello world
最近项目中的一个百度推送真是把我搞的有点头大,真的是很垃圾,到达率又低,还特么遇上停止维护了。。。
所以项目决定转用别的推送平台,现在改用个推,官方文档写的很好,除了刚下载下来,折腾了一阵子,不过很快也就运行起来了。
这这里也就简单的记录一下。
具体可以参考:http://docs.getui.com/getui/server/java/start/
第一步:注册
第二步:获取凭证
第三步:安装demo到手机,这一步安装到手机后,就能获取手机对应那个app的cID了,以后就对着这个CID进行推送
第四部:导入jar包,这里说一下,服务端的给的sdk下载下来,如果包导入不进来的话,就需要手动导入了。
然后一切没问题可以运行代码。
注意,这时候用的是第三步下载的测试APP,所以代码里面的参数要设置为测试的。
然后上代码:
package com.getui.java.https; import com.gexin.rp.sdk.base.IPushResult;
import com.gexin.rp.sdk.base.impl.SingleMessage;
import com.gexin.rp.sdk.base.impl.Target;
import com.gexin.rp.sdk.exceptions.RequestException;
import com.gexin.rp.sdk.http.IGtPush;
import com.gexin.rp.sdk.template.LinkTemplate;
public class HttpsDemo { //测试APP public static final String appId = "看后台配置";
public static final String appKey = "看后台配置";
public static final String masterSecret = "看后台配置";
public static final String CID = "从第三步下载的app看clientid"; private static String host = "http://sdk.open.api.igexin.com/apiex.htm";
//static String host = "https://api.getui.com/apiex.htm";
public static void main(String[] args) throws Exception {
// https连接
IGtPush push = new IGtPush(appKey, masterSecret, true);
// 此处true为https域名,false为http,默认为false。Java语言推荐使用此方式
// IGtPush push = new IGtPush(host, appkey, master);
// host为域名,根据域名区分是http协议/https协议
LinkTemplate template = linkTemplateDemo();
SingleMessage message = new SingleMessage();
message.setOffline(true);
// 离线有效时间,单位为毫秒,可选
message.setOfflineExpireTime(24 * 3600 * 1000);
message.setData(template);
message.setPushNetWorkType(0); // 可选,判断是否客户端是否wifi环境下推送,1为在WIFI环境下,0为不限制网络环境。
Target target = new Target();
target.setAppId(appId);
target.setClientId(CID);
// 用户别名推送,cid和用户别名只能2者选其一
// String alias = "个";
// target.setAlias(alias);
IPushResult ret = null;
try {
ret = push.pushMessageToSingle(message, target);
} catch (RequestException e) {
e.printStackTrace();
ret = push.pushMessageToSingle(message, target, e.getRequestId());
}
if (ret != null) {
System.out.println(ret.getResponse().toString());
} else {
System.out.println("服务器响应异常");
}
}
public static LinkTemplate linkTemplateDemo() {
LinkTemplate template = new LinkTemplate();
// 设置APPID与APPKEY
template.setAppId(appId);
template.setAppkey(appKey);
// 设置通知栏标题与内容
template.setTitle("hello world");
template.setText("今天的天气是真的好啊");
// 配置通知栏图标
template.setLogo("icon.png");
// 配置通知栏网络图标,填写图标URL地址
template.setLogoUrl("");
// 设置通知是否响铃,震动,或者可清除
template.setIsRing(true);
template.setIsVibrate(true);
template.setIsClearable(true);
// 设置打开的网址地址
template.setUrl("http://www.baidu.com");
return template;
}
}
到这里,应该是可以完美输出的。
个推-推送hello world的更多相关文章
- iOS 通过个推 推送原理
目前使用过的第三方推送很多,有极光, 友盟,个推等,现在主要针对个推,谈谈我对推送流程的理解. 在项目中,如果想要实现评论 推送功能 需要进行以下步骤: 1. 在用户登录的时候 通过 [GeTui ...
- 安卓推送——个推服务端api使用误区
首先你需要在个推开放着平台上注册你的应用,以及获得以下几个必要的值APPID |APPKEY | MASTERSECRET,本文假设你已经完成上述步骤以及完成客户端SDK的集成. 原理 个推服务端ap ...
- WEB消息推送-原理篇
这篇文章主要讲述B/S架构中服务器“推送”消息给浏览器.内容涉及ajax论询(polling),comet(streaming,long polling).后面会附上源代码. 最近在工作有这么一个需求 ...
- 在Openfire上弄一个简单的推送系统
推送系统 说是推送系统有点大,其实就是一个消息广播功能吧.作用其实也就是由服务端接收到消息然后推送到订阅的客户端. 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息.这 ...
- iOS---iOS10适配iOS当前所有系统的远程推送
一.iOS推送通知简介 众所周知苹果的推送通知从iOS3开始出现, 每一年都会更新一些新的用法. 譬如iOS7出现的Silent remote notifications(远程静默推送), iOS8出 ...
- SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
- SignalR SelfHost实时消息,集成到web中,实现服务器消息推送
先前用过两次SignalR,但是中途有段时间没弄了,今天重新弄,发现已经忘得差不多了,做个笔记! 首先创建一个控制台项目Nuget添加引用联机搜索:Microsoft.AspNet.SignalR.S ...
- 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送
微信支付之微信模板消息推送 今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...
- Android 几种消息推送方案总结
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6241354.html 首先看一张国内Top500 Android应用中它们用到的第三方推送以及所占数量: 现 ...
随机推荐
- WIFI物联网平台微信端开发分享
本文由企鹅圈原创成员Hunter_Zhu贡献. 本篇文章是基于近期一个项目微信端开发过程的一个总结.文中主要介绍了云智易平台下微信端开发的流程.该平台提供的主要功能以及此次H5开发使用到的一些UI组件 ...
- nginx error: upstream prematurely closed connection while reading response header from upstream
本篇文章由:http://xinpure.com/nginx-error-upstream-prematurely-closed-connection-while-reading-response-h ...
- JMeter学习笔记--JMeter前置处理器
前置处理器被用来修改作用域内的采样器 HTML 链接解析器:解析从服务器得到的HTML响应,并从中提取链接和表单,使用perl型的正则表达式来寻求匹配项. HTML URL重写修饰符:使用URL重写来 ...
- OAF_OAF控件系列2 - LOV的实现(案例)
2014-06-02 Created By BaoXinjian
- 关于centos7中使用rpm方式安装mysql5.7版本后无法使用root登录的问题
最近在centos7中通过rpm方式安装了最新版本的mysql-server 5.7 (mysql57-community-release-el7-7.noarch.rpm) ,发现安装成功后无法使用 ...
- Python lower() 方法
描述 Python lower() 方法转换字符串中所有大写字符为小写,其效果和 casefold() 方法非常相似. 两者的区别是:lower() 方法只对ASCII编码,也就是‘A-Z’有效,对于 ...
- cocos2dx 3.3多相机下_transformUpdated bug
uint32_t Node::processParentFlags(const Mat4& parentTransform, uint32_t parentFlags) { if(_using ...
- mini2440裸机音乐播放器(非常久曾经的笔记)
[这是好久曾经写的.有点乱,没时间整理.当做记录用的.] 图片粘贴失效.没上传图,想要的直接下载文档吧. 项目目的:通过IIS,触摸屏,LCD模块实现音乐播放器功能(button上一首.下一首.播放. ...
- :c#的remoting里,CallContext.GetData获得的对象老是空的?该怎么处理
寻求帮助:c#的remoting里,CallContext.GetData获得的对象老是空的?如题,检查了很多次了,也比对了msdn里的例子,没觉得有问题啊..为什么老是得到的null的?不知道哪里出 ...
- 20.5 语音合成(百度2016年2月29日发布的tts引擎)
分类:C#.Android.VS2015: 创建日期:2016-03-17 一.简介 编写手机App时,有时需要使用文字转语音(Text to Speech)的功能,比如开车时阅读收到的短信.导航语音 ...