极光推送--服务器端

    极光推送,由名字可知是一款推送软件。由于android自带的推送在大陆被墙掉了,所以在国内用第三方推送的用户特别多,比较有名的有极光推送、百度云推送。推送的主要用途是用来推送消息给客户端,比如说推送一个消息给android客户端或才iphone客户端,让所有的用户都接到这个通知。
    我现在在写的这个程序是利用极光推送,写一个聊天程序,例用极光推送可以发到指定某人、某组或者全体用户。客户端及服务器端有各自对应的jar包,现在这里主要讲解服务器端的编码。
     服务器端发送到指定用户时,可以使用方法 Audience. alias() 这样就可以发送到指定用户,比如我在下面利用如下方法:
        PushPayload.Builder payload = PushPayload.newBuilder()
                .setPlatform(Platform. android_ios());
        Map<String, String> extras =   new   HashMap<String, String>();
        extras.put(   "channel" ,   "channel"   );
/*        payload = payload
                .setNotification(Notification.ios("xiaowen" + " 给您发送了一条信息", extras))
                .setAudience(Audience.alias(" qqqq"))
                .setMessage(cn.jpush.api.push.model.Message.newBuilder()
                        .setMsgContent(" addd")
                        .addExtras(extras)
                        .setTitle("title")
                        .build());*/
        payload = payload
                .setNotification(Notification.android(   "alert" , "xiaowen"   +   " 给您发送了一条信息"   , extras))
                .setAudience(Audience. alias( "qqqq" ))
                .setMessage(cn.jpush.api.push.model.Message.newBuilder()
                        .setMsgContent(   "addd" )
                        .addExtras(extras)
                        .setTitle(   "title" )
                        .build());  
在这里我只发送到android客户端,把ios客户端的代码屏弊掉了,在这里我没有测试ios客户端,因为现在我手头没有ios手机,在这里不做测试,所以只写android客户端。我写的这个程序, Config 文件中主要放了 JPUSH_APPKEY 跟 JPUSH_MASTER_SECRET 通过这两个东西可以是那些客户端跟这个服务器端进行通信。发送到对应的用户名,可以在http请求时加入到session中。总体设计思路:是客户端A向客户端B发送消息时,是通过服务器进行转发的,A先发送到服务器,服务器再调用极光推送的API,将消息由极光推送发送到B。在服务器端可以加入对消息的存储等操作,可以有作将来的查看历史记录等。
     如果想发送给指定的多个用户,则可以把他们当成一个组,可以给他们设置一个TAG,向指定的这个TAG中发送消息,则就可以通过服务器向这个用户发送消息。

你可能感兴趣的:(极光推送--服务器端)