leanCloud服务端推送信息(二)
上期总结了leanCloud集成,这次我们来说说具体使用。
首先说说RestApi请求不通/java服务端直接使用AVQuery/AVPush推送报权限问题。
这个基本就是因为权限的问题,有2个地方:
这里要去掉勾选。
这里find要设置为所有用户。
做完以上2点设置基本就不会有问题了。
下面是我使用Insomnia进行RestAPI接口测试:
hearder里需要这3个参数。
ContentType:设置请求编码与数据类型,
X-LC-Id:就是APPID
X-LC-Key:就是APPkey
数据类型选json,请求方式选POST。请求成功后右边会返回objectId(推送记录里的ID)跟时间。
左边where里的属性为查询对象过滤的,跟AVQuery里的where对应
这里要说说目标设备,目标设备就是根据where里查询_Installation里的对象,这个className里记录的就是安装app的设备信息。
这里要说的是成功设备为什么是0,其实原因是因为推送受手机设备安全限制,很多设备在app退出后不能推送,除非做成系统级的广播,这个也是可以做的,后面我找终端搞清楚再分享。
然后在说说自己拼接json的全串逻辑,其实这个按照官网的API在这个工具里测试成功后有个地方可以直接看到全串:
然后在说说java后端直接使用AVQuery/AVPush的使用,其实原理差不多,AVQuery/AVPush组合上次已经说过了,这次说说AVPush+CQL语句,上图:
关于CQL的详细使用大家可以上逛网看API,这里做多对象批量推送,其实可以用in查询过滤,反正跟SQL很像。这里要说的其实弹出内容是push.setMessage里的内容,与data里无关。
到此第二期就分享到这里,通过这个其实想到了一些idea,不过我不告诉你,呵呵。下期做极光的分享,敬请期待。