Update translations
This commit is contained in:
parent
4af1379d1e
commit
1030e735c0
96 changed files with 13449 additions and 0 deletions
68
locales/zh-Hans/client-server-api/modules/send_to_device.md
Normal file
68
locales/zh-Hans/client-server-api/modules/send_to_device.md
Normal file
|
@ -0,0 +1,68 @@
|
|||
### 设备间消息发送(Send-to-Device messaging)
|
||||
|
||||
本模块为客户端提供了一种交换信令消息的方式,这些消息不会作为共享通信历史的一部分被永久存储。每条消息将精确地送达每个客户端设备一次。
|
||||
|
||||
该 API 的主要动机是用于交换在房间有向无环图(DAG)中无意义或不希望持久保存的数据——例如,一次性身份验证令牌或密钥数据。它并不适用于会话内容,会话内容应使用常规的 [`/rooms/<room_id>/send`](/client-server-api/#put_matrixclientv3roomsroomidsendeventtypetxnid) API 发送,以保持 Matrix 协议的一致性。
|
||||
|
||||
#### 客户端行为
|
||||
|
||||
要向其他设备发送消息,客户端应调用 [`/sendToDevice`](/client-server-api/#put_matrixclientv3sendtodeviceeventtypetxnid)。每个事务中,每台设备只能发送一条消息,且所有消息的事件类型必须一致。请求体中的设备ID可以设置为 `*`,以请求将消息发送到所有已知设备。
|
||||
|
||||
如果有等待客户端接收的设备间消息,这些消息将通过 [`/sync`](/client-server-api/#get_matrixclientv3sync) 返回,详见[对 /sync 的扩展](/client-server-api/#extensions-to-sync)。客户端应检查每个返回事件的 `type` 字段,并忽略其无法识别的事件。
|
||||
|
||||
#### 服务器行为
|
||||
|
||||
服务器应为本地用户存储待发送消息,直到它们成功送达目标设备。当客户端使用与有待发送消息的设备相关联的访问令牌调用 [`/sync`](/client-server-api/#get_matrixclientv3sync) 时,服务器应按到达顺序在响应体中列出这些待发送消息。
|
||||
|
||||
当客户端再次使用第一次响应中的 `next_batch` 令牌调用 `/sync` 时,服务器应推断该响应中的所有设备间消息已成功送达,并从存储中删除它们。
|
||||
|
||||
如果有大量待发送的设备间消息,服务器应限制在每次 `/sync` 响应中发送的消息数量。建议合理的上限为 100 条消息。
|
||||
|
||||
如果客户端向远程域的用户发送消息,这些消息应通过[联邦协议(federation)](/server-server-api#send-to-device-messaging)发送至远程服务器。
|
||||
|
||||
#### 协议定义
|
||||
|
||||
{{% http-api spec="client-server" api="to_device" %}}
|
||||
|
||||
##### 对 /sync 的扩展
|
||||
|
||||
本模块在 [`/sync`](/client-server-api/#get_matrixclientv3sync) 响应中增加了以下属性:
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
|------------|-------------|--------------------------------------------------------------------|
|
||||
| to_device | ToDevice | 可选。关于本客户端设备的设备间消息(send-to-device)信息。 |
|
||||
|
||||
`ToDevice`
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
|------------|-------------|----------------------------------------|
|
||||
| events | [Event] | 设备间消息列表。 |
|
||||
|
||||
`Event`
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
|-----------|----------------|------------------------------------------------------------------------------------------|
|
||||
| content | EventContent | 本事件的内容。此对象中的字段将根据事件类型有所不同。 |
|
||||
| sender | string | 发送本事件的 Matrix 用户ID。 |
|
||||
| type | string | 事件类型。 |
|
||||
|
||||
示例响应:
|
||||
|
||||
```json
|
||||
{
|
||||
"next_batch": "s72595_4483_1934",
|
||||
"rooms": {"leave": {}, "join": {}, "invite": {}},
|
||||
"to_device": {
|
||||
"events": [
|
||||
{
|
||||
"sender": "@alice:example.com",
|
||||
"type": "m.new_device",
|
||||
"content": {
|
||||
"device_id": "XYZABCDE",
|
||||
"rooms": ["!726s6s6q:example.com"]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue