更多常见问题请点击这里。
3 月常见问题
1. 【即时通信】为什么无法收到离线消息推送,该怎么排查?
检查方法总结如下:
具体可以参考 文档。
2. 【云引擎】怎么上传整个文件目录下的文件到云端?
可以使用 命令行工具 CLI 上传:
使用 upload
命令既可以上传单个文件,也可以批量上传一个目录下(包括子目录)下的所有文件到 LeanCloud 云端。
$ lean upload public/index.html
Uploads /Users/dennis/programming/avos/new_app/public/index.html successfully at: http://ac-7104en0u.qiniudn.com/f9e13e69-10a2-1742-5e5a-8e71de75b9fc.html
文件上传成功后会自动生成在 LeanCloud 云端的 URL,即上例中 successfully at:
之后的信息。
上传 images 目录下的所有文件:
$ lean upload images/
3. 【云引擎】用户反馈模块下线以后还能获取用户反馈数据吗?
「用户反馈」模块已经下线,新版控制台不再提供用户反馈页面。
一段时间内可以通过 用户反馈组件 API 接口获取历史记录。
用户反馈组件 API 后续也会下线,以后该接口也不再支持获取用户的反馈数据。建议尽快使用 数据存储服务 来替代用户反馈功能。
2 月常见问题
1.【推送】_Installation 中的 valid 字段指的是什么,valid 为什么是 false?
Valid 表示当前这条设备记录是否有效,是 false 表示这条记录失效了,比如长时间未使用或者使用 LeanCloud 平台推送但是推送设备并未登录。
比如 Android 设备未执行以下代码打开「启动推送服务」,valid 的值就会一直是 false。
// 设置默认打开的 Activity
PushService.setDefaultPushCallback(this, PushDemo.class);
如果某个设备不想收到推送提醒,也可以将 _Installation
表中相应安装对象的 valid
字段修改为 false
。
2. 【云引擎】hook 函数算 API 请求次数吗,afterUpdate 执行一次算 1 次请求次数吗?
AfterUpdate 是在云引擎内执行的,执行 afetrUpdate 不算 API 请求,自然也不计入 API 请求数。如果 afterUpdate 里发起了 API 请求,那么照常计算 API 请求数(和客户端请求 API 一样)。
3. 【云引擎】前端如何调用云引擎分组中的cloud.js?
2020 年 10 月份云引擎已经在所有分组上支持了云函数,如果您的应用的不同分组上的云函数不存在重复定义的,客户端直接调用云函数,在云引擎这边能自动根据名称路由到正确的分组(对客户端来说是透明的)。
同样,云函数不存在重复定义的前提下,如果您需要在某个云引擎实例内调用其他分组上的云函数,那么传入 remote: true
即可,详见文档。
1 月常见问题
1.【云引擎】定时任务有超时限制吗?
我们建议将代码中的任务转化为异步队列处理,以优化运行时间,避免云函数或定时任务发生超时。
例如:
在存储服务中创建一个队列表,包含 status
列;
接到任务后,向队列表保存一条记录,status
值设置为 处理中
,然后将请求结束掉,将队列对象的 id 发给客户端(旧版本的 SDK 使用 response.success(id)
):
return new Promise((resolve, reject) => {
resolve(id);
});
当业务处理完毕,根据处理结果更新刚才的队列对象状态,将 status
字段设置为 完成
或者 失败
;
在任何时候,在控制台通过队列 id
可以获取某个任务的执行结果,判断任务状态。
详情参考文档: 超时的处理方案。
2.【即时通信】怎么才能取到超过 100 条未读的真实未读条数?
目前公有云不支持单个会话里单个成员的未读数超过 100。
通常来说,客户端的 UI 界面也不需要精确展示超过 100 的未读数,一般的处理方式是显示 99+ 。
然后消息查询接口是可以根据消息 ID 以及消息时间戳的组合条件查询所有历史消息的,所以它能支持 UI 展示一个会话里的所有消息,不会存在遗漏消息的情况。
详细用法参考文档:聊天记录查询。
3.【数据存储】日志表如何设计。比如某个时间点线程和访问量突然增加,想知道是谁访问的,这种情况应该怎么设计日志表?
日志表是指用来存储只增不减不改的数据(以日志为代表),并不仅用来保存访问日志。日志表的使用和普通表一样,都是通过我们的 SDK 来提交 AVObject。但是日志表与普通表还有一些差异:
日志表不能实时展示,在控制台页无法看到当天的日志表数据(延后一天集中导入);
日志表只能通过离线数据分析进行查询,不能通过普通的 AVQuery 查询。
如果想知道访问量的增减情况,光用日志表可能解决不了这个问题,因为一般不会在客户端同时提交两条数据:一条是正常的数据,一条是日志数据(记录你想要记录的客户端信息)。一般这种情况下,需要自己在云引擎里进行记录,并调用 API 将访问信息保存到日志表。
对于访问量的统计,可以看一下控制台的用量统计,那里可以找到什么平台对什么 Class 的什么操作请求量比较大,然后可以结合业务代码判断一下是什么原因导致的。