MDM推送证书的生成及java-apns组件的测试代码编写

分类: 首页- >MDM专栏 | 阅读: 5689 | 评论: 0 | 2014-07-24 16:06:29 
摘要:于IOS上MDM技术相关资料整理及汇总 MDM推送证书的生成及java-apns组件的测试代码编写1、MDM推送证书:mbaike.p12是根据mbaike.crt 和 mbaike.key生成的p12格式的证书;
1、MDM推送证书:
mbaike.p12是根据mbaike.crt 和 mbaike.key生成的p12格式的证书;
参见如下:
(1)、申请IOS开发MDM需要的https(SSL)证书和密钥
(2)、部署MDM所需要的https(SSL)服务器环境
mbaike.p12用于MDM推送证书生成,直接提供给IOS端开发人员。

2、java-apns组件的测试代码编写
我们使用java-apns提供的apple推送接口来实现MDM的推送,具体代码参考:
-----------------------------------------------------------------
   /**
     * 向单个iPhone手机推送消息.
     * @param  p12Path、pushMagic、token(证书路径、pushMagic、推送Token)
     * @return pushState    返回执行状态(1:成功,0:失败)
     */
    public static int sendMdmPush(String p12Path,String mdmPass,String pushMagic,String token) {
        int pushState = 0 ;
        try {
            ApnsService service =
                    APNS.newService()
                            .withCert(p12Path,mdmPass)
                            .withProductionDestination()
                            .build();
            String mdmPayload = APNS.newPayload().customField("mdm", pushMagic).build();
            service.push(token, mdmPayload);
            pushState = 1;
            System.out.println("推送信息已发送!");
        } catch (Exception e) {
            System.out.println("出错了:"+e.getMessage());
            pushState = 0;
        }
        return pushState;
    }
-----------------------------------------------------------------
其中的参数介绍:
PushMagic- a unique token the MDM server sends with each push request.
Token- a unique token that identifies the device to the APNS service.
说明:我们在推送过程中用到的Token,其实官网文档是这样描述的:The Tokenis a 32-byte binary value, presented as Base64 encoded text,所以,我们需要将这样的字符创先经过编码处理,具体代码如下:
-----------------------------------------------------------------
   /**
     * 将通过TokenUpdate获取的原始Token转化成16进制新的Token
     * @param OriToken
     * @return
     * @throws IOException
     */
    public static String parseToken(String OriToken) throws IOException{
        BASE64Decoder decoder = new BASE64Decoder();
        byte[] decodedBytes = decoder.decodeBuffer(OriToken);
        StringBuffer buf = new StringBuffer();
        for (int i = 0; i < decodedBytes.length; ++i) {
            buf.append(String.format("%02x", decodedBytes[i]));
        }
        String Token = buf.toString();
        return  Token;
    }
-----------------------------------------------------------------
这样我们就能通过java-apns发送Mdm推送信息了,但是注意一下,我们的推送代码使用的是:withProductionDestination 这样的代码,说明我们的生产环境的推送证书。
 声明:www.mbaike.net 博客文章版权属于作者,受法律保护。未经作者同意不得转载。
标签 java-apns MDM pushMagic mdmPayload
相关搜索

共有 0 条网友评论

还木有留言,还不抢沙发?

发布评论:

昵称: 邮箱: 验证码:
文明上网,理性发言!
© 移动互联百科(www.mbaike.net) | WAP站点 | 站长QQ:459104018 | 备案号:蜀ICP备14008230号-2