zoukankan      html  css  js  c++  java
  • apicloud 消息推送与接收

    待解决的问题,如下:

      在使用apicloud 的时候我们,在开发用户登录的时候可能会遇到这样的问题,当有2个设备a,b同事使用的app的时候并且是同一个人登录,我们需要去做判断,即大家常说的单点登录。

    解决办法:

      这里我们需要有几个重点的事情要去做,比如现在有个用户Q同时拥有2个手机a,b

    •  帐号的时候固定的,唯一变化的是设备,这里我们需要记录一个token或者是设备ID,apicloud的api对象里提供了这2个全局属性,可以获取到,我这边使用设备ID记录(需要注意的时候安卓平台设备id是唯一的,但是ios如果重新安装了app那么会发生改变),把获取到的设备ID保存到数据库用户表中,这样,当登录的设备发生改变时,我们就可以及时通知用户,“您的设备正在被别人登录”(当然,我们还可以通过获取设备的location地址加到提醒上,来个异地提醒什么的)。
    •  那么新问题来了,如果通知用户?一般情况下,如果我们搭建了自己的服务器的话,我们可以自己来实现推送,这里还是主要说没有怎么办(使用apicloud的一般都是个人开发者或者小公司,所有自己搭建服务器还不如使用数据云,花点小钱~~个人观点个人观点),官网提供的模块关于推送模块有许多,但是大多数并不支持自己动态发送推送,想要推送通知或者消息都要到具体的官网上进行推送(要么就是要你冲会员,比如个推),还好的是官网提供了数据云推送API,具体地址可以参考(apicloud推送通知咋整 )    ,参考官网就可以了    

    主要几个地方需要注意

    • 使用官网的推送功能时需要绑定模块  push
    • apk必须是使用云编辑的正式版
    • 在生成appKey的时候,记得要使用sha1进行编码,贴一下实例如下,还有几个地方大家要知道的,url是固定官网的地址(因为是人家的服务器嘛~),在配合push模块提供的bind()、setListener()函数,我们就可以使用单推并接收了,最终在setListener里编写具体逻辑,提供手机设备a:“你的设备被别人登录拉!!”
    // 发送通知
        function push() {
            var now = Date.now();
    
            var appKey = SHA1("A60926*******" + "UZ" + "*******-*******-*******-*******-*******" + "UZ" + now) + "." + now;
            api.ajax({
                url: 'https://p.apicloud.com/api/push/message',
                method: "post",
                headers: {
                    "X-APICloud-AppId": "A609*******",
                    "X-APICloud-AppKey": appKey,
                    "Content-Type": "application/json"
                },
                dataType: "json",
                data: {
                    "body": {
                        "title": "消息标题h1234",
                        "content": "消息内容ll",
                        "type": 1, //– 消息类型,1:消息 2:通知
                        "platform": 2, //0:全部平台,1:ios, 2:android
                    }
                }
            }, function(ret, err) {
                //coding...
                alert(JSON.stringify(ret))
                alert(JSON.stringify(err))
            });
        }

    成灰之前,抓紧时间做点事!!
  • 相关阅读:
    Condition控制线程通信
    Lock同步锁
    通过Callable接口创建线程
    CountDownLatch闭锁
    CopyOnWriteArrayList笔记
    原子变量与CAS算法
    Java网络编程之UDP
    Java网络编程之Socket
    Java网络编程之URLConnection
    Java中处理异常中return关键字
  • 原文地址:https://www.cnblogs.com/jony-it/p/10290046.html
Copyright © 2011-2022 走看看