美文网首页
信鸽v3推送账号消息

信鸽v3推送账号消息

作者: 麻烦大麻要坚强 | 来源:发表于2019-11-15 15:35 被阅读0次

    一、创建应用

    登录信鸽管理后台,我的应用-新建应用。


    image.png

    创建完成之后点击查看应用就可以获取到 appId和 secretKey


    image.png

    二、导入相关依赖

    在项目的pom.xml里引入jar包

            <dependency>
                <groupId>com.github.xingePush</groupId>
                <artifactId>xinge</artifactId>
                <version>1.2.0-SNAPSHOT</version>
            </dependency>
    
          <repositories>
            <repository>
                <id>xingePush</id>
                <url>https://raw.githubusercontent.com/xingePush/maven-repository/snapshot/</url>
            </repository>
          </repositories>
    

    三、创建对象使用账号推送

    前提是android已经调试好了,当用户登录时候使用用户账号去信鸽平台注册。这时候才能使用账号推送。

        /**
         * androidApp对象
         */
        private final static XingeApp androidApp = new XingeApp(appId, secretKey);
        /**
         * ios对象
         */
        private final static XingeApp iOSApp = new XingeApp(appId, secretKey);
    
      /**
         * 信鸽推送
         * 
         * @param title         标题
         * @param content       内容
         * @param accountNos    接收人id集合
         * @param custom        自定义参数键值对
         * @param env           手机类型
         * @param messageType推送方式
         * @return org.json.JSONObject
         */
        public static JSONObject pushSingleAccount(String title, String content, ArrayList<String> accountNos, Map<String, Object> custom,
                                                   int env, String pushType) {
            PushAppRequest request = new PushAppRequest();
            //推送方式
            Message message = new Message();
            //自己定义一个枚举、判断使用单推还是群推
            if (pushType.equals(PushType.SOLE)) {
                //这里是使用账号单独推送
                request.setAudience_type(AudienceType.account);
            } else {
               //这里是使用账号群推送
                request.setAudience_type(AudienceType.account_list);
            }
            request.setAccount_list(accountNos);
            request.setMessage_type(MessageType.notify);
            request.setMessage(message);
            request.setPush_id("0");
            JSONObject jsonObject;
            //判断使用android推送还是ios推送
            if (env == XinGeAppType.android.getChName()) {
                request.setPlatform(Platform.android);
                MessageAndroid messageAndroid = new MessageAndroid();
                messageAndroid.setCustom_content(JSON.toJSONString(custom));
                ClickAction clickAction = new ClickAction();
                clickAction.setActivity("这里是后台控制点击之后app跳转的路径");
                messageAndroid.setAction(clickAction);
                message.setTitle(title);
                message.setContent(content);
                message.setAndroid(messageAndroid);
                request.setEnvironment(Environment.dev);
                jsonObject = androidApp.pushApp(request);
            } else{
                request.setPlatform(Platform.ios);
                //ios分测试环境和生产环境我这里就默认测试环境了
                request.setEnvironment(Environment.dev);
                MessageIOS messageIOS = new MessageIOS();
                messageIOS.setCustom(JSON.toJSONString(custom));
                Aps aps = new Aps();
                Alert alert = new Alert();
                alert.setBody(content);
                aps.setAlert(alert);
                aps.setBadge_type(1);
                messageIOS.setAps(aps);
                message.setIos(messageIOS);
                jsonObject = iOSApp.pushApp(request);
            }
    
            return jsonObject;
        }
    
          /**  小枚举,类里有很多枚举需要自己定义 */
          public enum XinGeAppType {
              android(1),
              ios(2);
              XinGeAppType(int chName){
                  this.chName = chName;
             }
             private int chName;
     
             public int getChName() {
                    return chName;
             }
    
              public void setChName(int chName) {
                  this.chName = chName;
              }
    }
    

    有需要的朋友可以具体参考信鸽文档

    相关文章

      网友评论

          本文标题:信鸽v3推送账号消息

          本文链接:https://www.haomeiwen.com/subject/bkhsictx.html