<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://docs-ai.easemob.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://docs-ai.easemob.com/feed.php">
        <title>环信机器人文档 start:490integrationcases</title>
        <description></description>
        <link>http://docs-ai.easemob.com/</link>
        <image rdf:resource="http://docs-ai.easemob.com/lib/tpl/haozki-2016-01-25/images/favicon.ico" />
       <dc:date>2026-04-05T09:51:26+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://docs-ai.easemob.com/start/490integrationcases/10nickname?rev=1552361088&amp;do=diff"/>
                <rdf:li rdf:resource="http://docs-ai.easemob.com/start/490integrationcases/20groupchatcase?rev=1552361088&amp;do=diff"/>
                <rdf:li rdf:resource="http://docs-ai.easemob.com/start/490integrationcases/30appchatcase?rev=1552361088&amp;do=diff"/>
                <rdf:li rdf:resource="http://docs-ai.easemob.com/start/490integrationcases/40movedata?rev=1552361088&amp;do=diff"/>
                <rdf:li rdf:resource="http://docs-ai.easemob.com/start/490integrationcases/50groupchatat?rev=1552361088&amp;do=diff"/>
                <rdf:li rdf:resource="http://docs-ai.easemob.com/start/490integrationcases/60groupchatat?rev=1552361088&amp;do=diff"/>
                <rdf:li rdf:resource="http://docs-ai.easemob.com/start/490integrationcases/70groupchatat?rev=1552361088&amp;do=diff"/>
                <rdf:li rdf:resource="http://docs-ai.easemob.com/start/490integrationcases/80groupchatat?rev=1552361088&amp;do=diff"/>
                <rdf:li rdf:resource="http://docs-ai.easemob.com/start/490integrationcases/90groupchatat?rev=1552361088&amp;do=diff"/>
                <rdf:li rdf:resource="http://docs-ai.easemob.com/start/490integrationcases/burn-after-reading?rev=1552361088&amp;do=diff"/>
                <rdf:li rdf:resource="http://docs-ai.easemob.com/start/490integrationcases/end2end-encryption?rev=1552361088&amp;do=diff"/>
                <rdf:li rdf:resource="http://docs-ai.easemob.com/start/490integrationcases/input-status?rev=1552361088&amp;do=diff"/>
                <rdf:li rdf:resource="http://docs-ai.easemob.com/start/490integrationcases/realtime-location-sharing?rev=1552361088&amp;do=diff"/>
                <rdf:li rdf:resource="http://docs-ai.easemob.com/start/490integrationcases/revoke-messages?rev=1552361088&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://docs-ai.easemob.com/lib/tpl/haozki-2016-01-25/images/favicon.ico">
        <title>环信机器人文档</title>
        <link>http://docs-ai.easemob.com/</link>
        <url>http://docs-ai.easemob.com/lib/tpl/haozki-2016-01-25/images/favicon.ico</url>
    </image>
    <item rdf:about="http://docs-ai.easemob.com/start/490integrationcases/10nickname?rev=1552361088&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T03:24:48+00:00</dc:date>
        <title>昵称和头像的显示与更新</title>
        <link>http://docs-ai.easemob.com/start/490integrationcases/10nickname?rev=1552361088&amp;do=diff</link>
        <description>昵称和头像的显示与更新

----------

[昵称和头像的获取和显示流程]

方法一：从 APP 服务器获取昵称和头像

	*  昵称和头像的获取：当收到一条消息（群消息）时，得到发送者的用户 ID，然后查找手机本地数据库是否有此用户 ID 的昵称和头像，如没有则调用 APP 服务器接口通过用户 ID 查询出昵称和头像，然后保存到本地数据库和缓存，下次此用户发来信息即可直接查询缓存或者本地数据库，不需要再次向 APP 服务器发起请求。…</description>
    </item>
    <item rdf:about="http://docs-ai.easemob.com/start/490integrationcases/20groupchatcase?rev=1552361088&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T03:24:48+00:00</dc:date>
        <title>群聊</title>
        <link>http://docs-ai.easemob.com/start/490integrationcases/20groupchatcase?rev=1552361088&amp;do=diff</link>
        <description>群聊

----------

方法一：群成员信息保存在环信服务器

	*  环信服务器维护：groupid、owner、memeber、maxUser。
	*  APP 服务器保存除以上属性外的其他数据

由手机端创建群：通过 SDK 提供的方法创建某群，创建成功后把所有数据（群 ID，群头像，群名称，标签等信息）放到 APP 服务器留存，当用户通过条件（附近的群、条件筛选等）得到群列表，查看群信息时，通过 groupid 到自己服务器获取群的用户数据（群名称、类别、头像等信息），从环信服务器获取群的群成员信息。…</description>
    </item>
    <item rdf:about="http://docs-ai.easemob.com/start/490integrationcases/30appchatcase?rev=1552361088&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T03:24:48+00:00</dc:date>
        <title>跨 APP 聊天</title>
        <link>http://docs-ai.easemob.com/start/490integrationcases/30appchatcase?rev=1552361088&amp;do=diff</link>
        <description>跨 APP 聊天

----------

如果您需要两个 APP 之间可以互相通信，只要将 AppKey 写成同一个就可以实现跨 APP 聊天。同时，您需要在环信管理后台上传对应 APP 的推送证书（可以是多个），这样可以确保您的两个 APP 都能收到推送。</description>
    </item>
    <item rdf:about="http://docs-ai.easemob.com/start/490integrationcases/40movedata?rev=1552361088&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T03:24:48+00:00</dc:date>
        <title>数据平滑迁移</title>
        <link>http://docs-ai.easemob.com/start/490integrationcases/40movedata?rev=1552361088&amp;do=diff</link>
        <description>数据平滑迁移

----------

如何实现将自己聊天系统下的用户迁移到环信的聊天系统中，鉴于新用户已在环信聊天系统注册，而老的用户还在自己的系统上，如此，在环信的新用户和自己聊天系统下的用户无法通信，基于这种情况，给出如下三种方案：</description>
    </item>
    <item rdf:about="http://docs-ai.easemob.com/start/490integrationcases/50groupchatat?rev=1552361088&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T03:24:48+00:00</dc:date>
        <title>群组@功能</title>
        <link>http://docs-ai.easemob.com/start/490integrationcases/50groupchatat?rev=1552361088&amp;do=diff</link>
        <description>群组@功能

----------

群组中，@某人的和群组普通消息没有区别，只是针对被@的用户在 UI 上显示会有不同。可以通过环信的扩展消息来实现。

	*  发送方将想要@的人的环信 ID 通过扩展字段放到扩展消息中，并把消息发到群里。</description>
    </item>
    <item rdf:about="http://docs-ai.easemob.com/start/490integrationcases/60groupchatat?rev=1552361088&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T03:24:48+00:00</dc:date>
        <title>阅后即焚</title>
        <link>http://docs-ai.easemob.com/start/490integrationcases/60groupchatat?rev=1552361088&amp;do=diff</link>
        <description>阅后即焚

----------

这个页面迁移啦～请访问：&lt;http://docs.easemob.com/start/490integrationcases/burn-after-reading&gt;</description>
    </item>
    <item rdf:about="http://docs-ai.easemob.com/start/490integrationcases/70groupchatat?rev=1552361088&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T03:24:48+00:00</dc:date>
        <title>消息回撤</title>
        <link>http://docs-ai.easemob.com/start/490integrationcases/70groupchatat?rev=1552361088&amp;do=diff</link>
        <description>消息回撤

----------

这个页面迁移啦～请访问：&lt;http://docs.easemob.com/start/490integrationcases/revoke-messages&gt;</description>
    </item>
    <item rdf:about="http://docs-ai.easemob.com/start/490integrationcases/80groupchatat?rev=1552361088&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T03:24:48+00:00</dc:date>
        <title>输入状态提示</title>
        <link>http://docs-ai.easemob.com/start/490integrationcases/80groupchatat?rev=1552361088&amp;do=diff</link>
        <description>输入状态提示

----------

这个页面迁移啦～请访问：&lt;http://docs.easemob.com/start/490integrationcases/input-status&gt;</description>
    </item>
    <item rdf:about="http://docs-ai.easemob.com/start/490integrationcases/90groupchatat?rev=1552361088&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T03:24:48+00:00</dc:date>
        <title>实时位置共享</title>
        <link>http://docs-ai.easemob.com/start/490integrationcases/90groupchatat?rev=1552361088&amp;do=diff</link>
        <description>实时位置共享

----------

这个页面迁移啦～请访问：&lt;http://docs.easemob.com/start/490integrationcases/realtime-location-sharing&gt;</description>
    </item>
    <item rdf:about="http://docs-ai.easemob.com/start/490integrationcases/burn-after-reading?rev=1552361088&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T03:24:48+00:00</dc:date>
        <title>阅后即焚</title>
        <link>http://docs-ai.easemob.com/start/490integrationcases/burn-after-reading?rev=1552361088&amp;do=diff</link>
        <description>阅后即焚

----------

阅后即焚：用户A发送消息，当用户B接收并查看消息后，消息将同时从用户A和用户B的设备上删除。

[阅后即焚消息传递过程]

用户A发送消息给用户B，当用户B查看消息后，发送已读回执给用户A，并删除掉查看后的消息，用户A收到消息回执，同时删除消息。</description>
    </item>
    <item rdf:about="http://docs-ai.easemob.com/start/490integrationcases/end2end-encryption?rev=1552361088&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T03:24:48+00:00</dc:date>
        <title>端到端加密方案</title>
        <link>http://docs-ai.easemob.com/start/490integrationcases/end2end-encryption?rev=1552361088&amp;do=diff</link>
        <description>端到端加密方案

目的

用户可以在现有SDK及环信后台服务基础上实现端到端加密（End2End Encryption）。

方案概述

使用CA认证中心的方式来实现端到端加密服务。用户在某台设备第一次登录的时候会产生用户密钥相关信息，发送到CA认证中心进行保存。CA存储密钥相关信息包含以下内容：</description>
    </item>
    <item rdf:about="http://docs-ai.easemob.com/start/490integrationcases/input-status?rev=1552361088&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T03:24:48+00:00</dc:date>
        <title>输入状态提示</title>
        <link>http://docs-ai.easemob.com/start/490integrationcases/input-status?rev=1552361088&amp;do=diff</link>
        <description>输入状态提示

----------

输入状态提示：当A用户正在输入文字的时候，聊天的对方可以收到用户A正在输入的提示。

[输入状态提示]

监听用户A输入状态，一旦有文字输入，就每隔几秒通过透传消息将输入状态发送到聊天接受方B，B客户端收到输入状态透传后，提示用户A正在输入。</description>
    </item>
    <item rdf:about="http://docs-ai.easemob.com/start/490integrationcases/realtime-location-sharing?rev=1552361088&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T03:24:48+00:00</dc:date>
        <title>实时位置共享</title>
        <link>http://docs-ai.easemob.com/start/490integrationcases/realtime-location-sharing?rev=1552361088&amp;do=diff</link>
        <description>实时位置共享

----------

实时位置共享：向聊天参与者实时发送自己的位置信息。

[实时位置共享]

当A用户开启位置共享，需要实时监听自己的位置变化，同时在坐标变化时向B用户发送一条带有自己坐标的透传信息。</description>
    </item>
    <item rdf:about="http://docs-ai.easemob.com/start/490integrationcases/revoke-messages?rev=1552361088&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T03:24:48+00:00</dc:date>
        <title>消息回撤</title>
        <link>http://docs-ai.easemob.com/start/490integrationcases/revoke-messages?rev=1552361088&amp;do=diff</link>
        <description>消息回撤

----------

消息回撤：当A用户发消息给B用户后，可以在一段时间内将消息回撤。

[消息回撤过程]

A用户发消息给B用户，当需要回撤的时候，将要回撤消息的id通过扩展消息发送给B，B检测到回撤的透传消息后，将对应messageid的消息从数据库删除。</description>
    </item>
</rdf:RDF>
