这里先说明下,由于我是做java的,目前jpush只集成ios,安卓,winphone,所以对于客户端的代码编写和心得这里就不介绍了,自行官网了解吧.
OK我们继续.
导入的jar包
gson-2.2.4.jar
log4j-1.2.17.jar
slf4j-api-1.7.7.jar
slf4j-log4j12-1.7.7.jar我们再上一篇大概讲了流程,原理,那么究竟如何推送的呢,让我们来落实到代码上.
String appKey = "自行官网注册";
String masterSecret = "自行官网注册";
JPushClient jpushClient = new JPushClient(masterSecret, appKey, 3);
PushPayload payload = buildPushObject_all_alias_alert();
public static PushPayload buildPushObject_all_alias_alert() {
Map<String,String> map = new HashMap<String,String>();
return PushPayload.newBuilder()
.setPlatform(Platform.android_ios()) //兼容ios和android平台
.setAudience(Audience.alias("41a0018970aa6d72e460")) //用别名来标识一个用户。一个设备只能绑定一个别名,但多个设备可以绑定同一个别名。
.setNotification( //这里是推送内容
Notification.newBuilder()
.setAlert("吃药提醒") //推送的内容
.addPlatformNotification(AndroidNotification.newBuilder()
.setTitle("huoxin") //推送的标题
.addExtras(map) //附加的map值
.build())
.build())
.build();
}
OK服务端的推送就完成了, 我们再代码中看到的alias就是你要推送给谁?的一个值,那么这个值如何获取呢?
对于ios端来讲,他们会集成jpush(也就是调用jpush接口),会把一个唯一的标识(也就是jpushId)传过去,同时把jpushid也给到我们服务端,当我们通过appkey和mastersecret建立连接之后,同时推送的alias也对应上了这个jpushid的话,那么对应设备就连接上了.
看到我的解说我们可以知道,所谓长连接,并不是我们做的,是jpush和ios官方以及安卓端他们之间建立的关系,我们要做的只需要调用接口即可
这里说的有些墨迹,为了初学者可以看懂,大家见谅.
在此再附上一张图仅供理解