美文网首页
JavaServer集成极光推送

JavaServer集成极光推送

作者: 冰凝雪国 | 来源:发表于2017-03-17 15:44 被阅读0次
    (适用于ydm-java接口与后台,如有误入,但愿也能给您带来帮助)
    引子:

    推送在项目中,一般是想达到和用户单方面交互的功能,在ydm大多用于系统消息;总的来说,系统消息均拿表来维护,一种是单表(推送的用户以逗号的形式单行保存),一种是多表(消息主表和关联用户子表),我更建议是后者,这样已读、未读、删除等操作会更加便捷明了;后来有机会面试其他移动互联的开发者的时候,也听闻到了不用表来维护,直接依赖 极光 ,这种思路也是可以的,建议在这方面拓展。

    官方服务端SDK
    碎碎念:

    在天燃气项目中,推送的类别很多,可以按照部门、岗位、具体员工来推。
    涉及到极光里,按标签推送以及按别名进行推送。
    别名是唯一的,App端一般以ID向极光注册,服务端就可以根据ID定位到这个用户了;
    标签是可以有多个的,正如现实生活中一样,身兼数职,App端可以向极光注册dept_1(部门1),服务端根据这个标签进行推,那么所有向极光注册为dept_1标签的用户都可以接收到通知;同理拓展也可以注册某个城市等等之类的。
    后期的社交类项目中,业主没有专门的需求,对标签就没有涉及了,无忧、后宫、聊妹、蜗伴均只使用了按别名进行推送。

    实际上:

    这里就不贴代码了,官方对于java服务端SDK很明确,这里想建议下,不要无脑都把它的代码都贴上,除非要改人家的源码。我是放在push包底下的,一个是Config,有俩配置信息,一个是AppKey,一个是masterSecret;还有一个就是PushUtil了,这里只用了下针对别名的推送。下面展示调用示例:
    推送单个、多个用户

    PushUtil.android_iOS_Alias(String title,String content,boolean flag,String...uids);
    title Android显示的标题,对iOS无作用   (iOS并没有标题这一说法)
    content  内容    iOS只显示这个  
    flag iOS false 开发环境  true生产环境 (实际上flag部署到服务器上我经常写死)
    uids 字符串数组 存储着别名 别名为用户的id    这个地方可以传单个字符串,也可以传一个数组,传数组的时候就可以推送多个用户了
    

    推送全部用户

    PushUtil.android_iOS_All(String titile,String content,boolean flag);
    很容易理解,全部用户不需要传别名。
    
    备注:
    • iOS有开发和生产环境这么一说,何为开发,就是iOS的App在工程师的电脑上才能安装,何为生产,就是iOS的App在AppStore里或蒲公英下手动下载的版本;实际上,正式发布的均为生产环境;
    • 推送多个人的时候,切记可以传一个数组,不要以循环的方式调用PushUtil.android_iOS_Alias(),因为我们去调极光其实还是蛮长时间的,一但循环开,就更不可救药了;
    • PushUtil里Tag就是指的是标签了。
      写于2017-03-17。

    相关文章

      网友评论

          本文标题:JavaServer集成极光推送

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