JPush极光推送 Java调用服务器端API开发

   极光推送是:使得开发者可以即时地向其应用程序的用户推送通知或者消息,与用户保持互动,从而有效地提高留存率,提升用户体验。简单的说就是通过JPush后台管理网站进行app消息的推送。可以让用户及时的收到最新的消息提示。

但是往往有时候需要我们自己开发自己的后台管理网站实现推送的功能,这个时候就需要调用JPush提供的API接口,来进行消息的推送。这里我只讲一些核心API接口,客户端的网站上有例子大家可以自己下载下来看看。

下面是java后台的代码部分:

    public class JPushClientExample {
        //在极光注册上传应用的 appKey 和 masterSecret
        private static final String appKey ="a148767f7440ff9daf56457f";////必填,例如466f7032ac604e02fb7bda89
        private static final String masterSecret = "731e374afd796d5942ba1363";//必填,每个应用都对应一个masterSecret
        private static JPushClient jpush = null;
        /*
         * 保存离线的时长。秒为单位。最多支持10天(864000秒)。
         * 0 表示该消息不保存离线。即:用户在线马上发出,当前不在线用户将不会收到此消息。
         * 此参数不设置则表示默认,默认为保存1天的离线消息(86400秒
         */
        private static long timeToLive =  60 * 60 * 24;
        public static void main(String[] args) {
            /*
             * Example1: 初始化,默认发送给android和ios,同时设置离线消息存活时间
             * jpush = new JPushClient(masterSecret, appKey, timeToLive);
             *
             * Example2: 只发送给android         *
             * Example3: 只发送给IOS
             * jpush = new JPushClient(masterSecret, appKey, DeviceEnum.IOS);
             *
             * Example4: 只发送给android,同时设置离线消息存活时间
             * jpush = new JPushClient(masterSecret, appKey, timeToLive, DeviceEnum.Android);
             */
            jpush = new JPushClient(masterSecret, appKey, timeToLive);
            /*
             * 是否启用ssl安全连接, 可选
             * 参数:启用true, 禁用false,默认为非ssl连接
             */
            jpush.setEnableSSL(true);  

            //测试发送消息或者通知
            testSend();
        }
        private static void testSend() {
            // 在实际业务中,建议 sendNo 是一个你自己的业务可以处理的一个自增数字。
            // 除非需要覆盖,请确保不要重复使用。详情请参考 API 文档相关说明。
    //      Integer num= getRandomSendNo();
            String sendNo="1900192560";
            String msgTitle = "JPush测试信息";
            String msgContent = "我是JPush测试信息,已经成功发送给你,请查收。";
            /*
             * IOS设备扩展参数,
             * 设置badge,设置声音
             */
            Map<String, Object> extra = new HashMap<String, Object>();
            IOSExtra iosExtra = new IOSExtra(1, "WindowsLogonSound.wav");
            extra.put("id1",iosExtra);
            extra.put("id2","I am extra infomation");
            //IOS和安卓一起
            MessageResult msgResult = jpush.sendNotificationWithAppKey(sendNo, msgTitle, msgContent, 0, extra);
            //对所有用户发送通知, 更多方法请参考文档
        //  MessageResult msgResult = jpush.sendCustomMessageWithAppKey(sendNo,msgTitle, msgContent);
            if (null != msgResult) {
                System.out.println("服务器返回数据: " + msgResult.toString());
                if (msgResult.getErrcode() == ErrorCodeEnum.NOERROR.value()) {
                    System.out.println("发送成功, sendNo=" + msgResult.getSendno());
                } else {
                    System.out.println("发送失败, 错误代码=" + msgResult.getErrcode() + ", 错误消息=" + msgResult.getErrmsg());
                }
            } else {
                System.out.println("无法获取数据");
            }
        }
        public static final int MAX = Integer.MAX_VALUE;
        public static final int MIN = (int) MAX/2;
        /**
         * 保持 sendNo 的唯一性是有必要的
         * It is very important to keep sendNo unique.
         * @return sendNo
         */
        public static int getRandomSendNo() {
            return (int) (MIN + Math.random() * (MAX - MIN));
        }
    }  

开发者可以自己定义发送的标题,内容,附加信息,离线等待时间等消息。用起来特别方便。这里我就添加这个demo核心的代码。有兴趣的可以把整个demo下载下来研究研究。

欢迎打扰各位程序猿打扰交流

时间: 2024-11-06 20:00:24

JPush极光推送 Java调用服务器端API开发的相关文章

JPush极光推送Java服务器端API

// 对android和ios设备发送 JPushClient jpush = new JPushClient(masterSecret, appKey);   // 对android和ios设备发送,同时指定离线消息保存时间 JPushClient jpush = new JPushClient(masterSecret, appKey, timeToLive); // 指定某种设备发送 JPushClient jpush = new JPushClient(masterSecret, app

JPush极光推送Java服务器端实例

import cn.jpush.api.JPushClient; import cn.jpush.api.common.resp.APIConnectionException; import cn.jpush.api.common.resp.APIRequestException; import cn.jpush.api.push.PushResult; import cn.jpush.api.push.model.Message; import cn.jpush.api.push.model.

atitit.web 推送实现方案集合(2)---百度云,jpush 极光推送 ,个推的选型比较.o99

atitit.web 推送实现方案集合(2)---百度云,jpush 极光推送 ,个推的选型比较.o99 1.1. 云推送有推送次数或频率的限制吗? 1 1.2. 推送的消息长度 1 1.3. 离线消息的支持 2 1.4. 是否支持转义字符 2 2. 客户端身份识别机制 2 3. 绑定客户端的区别流程::jpush胜出 2 4. 文档风格比较::百度,jpush胜出 3 5. 编程sdk框架比较..个推,百度胜出 3 6. 编程风格的比较 3 6.1. 个推 3 6.2. 百度 4 6.3. J

Android JPush极光推送应用

JPush纠结了5-6个小时,一直报下面的错误,纠结! [AndroidUtil] AndroidManifest.xml missing required intent filter for PushReceiver: cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY 觉得明明是已经添加了cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY 主要问题是主包名没有弄好,才导致的错误!接下来感谢

AndroidStudio离线打包MUI集成JPush极光推送并在java后端管理推送

1.AndroidStudio离线打包MUI 如何离线打包请参看上篇随笔<AndroidStudio离线打包MUI> 2.集成极光推送 官方文档:https://docs.jiguang.cn/jpush/client/Android/android_guide/ 建议采用 jcenter 自动集成 的方式,手动集成对新手来说容易出错 使用jcenter自动集成的开发者,不需要在项目中添加jar和so,jcenter会自动完成依赖:在AndroidManifest.xml中不需要添加任何JPu

Java.lang.UnsatisfiedLinkError android studio集成Jpush极光推送

今天学习了极光推送,想把它集成到自己的应用里面,我的开发环境是android studio 1.2,期间遇到了错误: Couldn't load jpush174 from loader dalvik.system.PathClassLoader findLibrary returned null,原因是由于android studio不能正确的解决libjpush174.so文件造成的,解决步骤如下: 1.首先按照官网教程配置环境,链接如下:http://docs.jpush.io/guide

JPush 极光推送 实战

极光推送的"自定义消息"很给力啊,他不是发送一条消息到状态栏,而是直接把消息内容传到APP中需要的地方,估计很多APP的验证码就是通过这种形式搞出来的. 简介 官网:https://www.jpush.cn/ 极光推送(JPush)是一个端到端的推送服务,使得服务器端消息能够及时地推送到终端用户手机上,让开发者积极地保持与用户的连接,从而提高用户活跃度.提高应用的留存率. 主要功能 保持与服务器的长连接,以便消息能够即时推送到达客户端 接收通知与自定义消息,并向开发者App传递相关信息

极光推送-java消息推送app

1.极光开发者文档:https://docs.jiguang.cn//jpush/client/Android/android_sdk/ 2.简介:JPush是手机端消息推送的免费第三方云平台.手机客户端侧,App 需要集成 JPush SDK,JPush SDK 创建到 JPush Cloud 的长连接,为 App 提供永远在线的能力.服务器端部分,开发者调用 JPush REST API 来进行推送 3.java后台服务器实现极光推送的两种实现方式:https://www.cnblogs.c

JPush (极光推送) For Xamarin.Android

官方教程上讲的是 GCM (Google Cloud Messaging) , 不过 GFW 是 GCM 过不去的坎. 极光推送 JPush 是国内的一个不错的替代方案. JPush 提供的 API 易于理解, 使用也很简单, 但是要使用于 Xamarin 还是要费些周章: 要转制成 Binding Library. JPush 提供了一篇转制的示例: http://smilehyh.blog.163.com/blog/static/123343886201362110857402/ 按照过程走