多语言展示
当前在线:693今日阅读:84今日分享:32

个推推推送消息服务端集成

个推推送目前还是有很多APP在使用,有些新手不知道如何进行整合个推代码,今天我说说如何在服务端集成个推推送消息。
工具/原料

个推官方文档官网地址下载官方JAVA版的SDK

方法/步骤
1

1.申请个推账号,在个推的后台创建需要推送的APP  产品与服务->个推-消息推送->应用列表->创建应用 创建完应用后得到对应的一下几个参数:AppID: AppSecret: AppKey: MasterSecret:

2

2.到文档中心下载JAVA开发sdk

3

根据API 文档选择自己需要的推送方式,大概只要两种模板基本能满足业务需求,通知和透传,透传的意思是不管APP是否打开都会强制推送这个消息透传--对应接口(NotyPopLoadTemplate)     在通知栏显示一条含图标、标题等的通知,用户点击后弹出框,用户可以选      择直接下载应用或者取消下载应用。通知--对应接口(LinkTemplate)     在通知栏显示一条含图标、标题等的通知,用户点击可打开您指定的网页

4

单推代码       public  static void pushToSingle(String cid,String title,String content)  {    System.out.println('**************************************'+cid);        IGtPush push = new IGtPush(host, appKey, masterSecret);        LinkTemplate template = linkTemplateDemo(title,content);        SingleMessage message = new SingleMessage();        message.setOffline(true);        // 离线有效时间,单位为毫秒,可选        message.setOfflineExpireTime(24 * 3600 * 1000);        message.setData(template);        // 可选,1为wifi,0为不限制网络环境。根据手机处于的网络情况,决定是否下发        message.setPushNetWorkType(0);        Target target = new Target();        target.setAppId(appId);        target.setClientId(cid);        IPushResult ret = null;        try {        System.out.println('**************************************start');            ret = push.pushMessageToSingle(message, target);            System.out.println('**************************************'+ret);        } 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(String title,String content) {        LinkTemplate template = new LinkTemplate();        // 设置APPID与APPKEY        template.setAppId(appId);        template.setAppkey(appKey);        Style0 style = new Style0();        // 设置通知栏标题与内容        style.setTitle(title);        style.setText(content);        // 配置通知栏图标        style.setLogo('');        // 配置通知栏网络图标        style.setLogoUrl('');        // 设置通知是否响铃,震动,或者可清除        style.setRing(true);        style.setVibrate(true);        style.setClearable(true);        template.setStyle(style);        // 设置打开的网址地址        template.setUrl('xxxxxx://app:8888/getui?');        return template;    }全推代码    public static void pushToApp(String title,String content) throws Exception {        IGtPush push = new IGtPush(host, appKey, masterSecret);        LinkTemplate template = linkTemplateDemo(title,content);        AppMessage message = new AppMessage();        message.setData(template);        message.setOffline(true);        //离线有效时间,单位为毫秒,可选        message.setOfflineExpireTime(24 * 1000 * 3600);        //推送给App的目标用户需要满足的条件        AppConditions cdt = new AppConditions();        List appIdList = new ArrayList();        appIdList.add(appId);        message.setAppIdList(appIdList);        //手机类型        List phoneTypeList = new ArrayList();        //省份        List provinceList = new ArrayList();        //自定义tag        List tagList = new ArrayList();        cdt.addCondition(AppConditions.PHONE_TYPE, phoneTypeList);        cdt.addCondition(AppConditions.REGION, provinceList);        cdt.addCondition(AppConditions.TAG,tagList);        message.setConditions(cdt);        IPushResult ret = push.pushMessageToApp(message,'任务别名_toApp');        System.out.println(ret.getResponse().toString());    }    public static LinkTemplate linkTemplateDemo(String title,String content) throws Exception {        LinkTemplate template = new LinkTemplate();        template.setAppId(appId);        template.setAppkey(appKey);        Style0 style = new Style0();        // 设置通知栏标题与内容        style.setTitle(title);        style.setText(content);        // 配置通知栏图标        style.setLogo('icon.png');        // 配置通知栏网络图标        style.setLogoUrl('');        // 设置通知是否响铃,震动,或者可清除        style.setRing(true);        style.setVibrate(true);        style.setClearable(true);        template.setStyle(style);        template.setUrl('http://www.baidu.com');        return template;    }

推荐信息