文档

服务端集成

更新时间:

直播互动消息是用于加强直播间消息沟通、提升交互体验的服务。提供了丰富、易集成的SDK,可在用户开发的直播应用中轻松集成评论、弹幕、点赞等能力。本文介绍互动消息服务端集成步骤。

前提条件

  • 您已经创建好视频直播(包含互动消息)相关API权限调用账号,并创建RAM用户。详细说明,请参考创建RAM用户并授权

  • 您已经创建了互动消息应用,并记录App相关信息。如未创建,请前往视频直播控制台创建。

部署AppServer

  1. 创建好互动消息应用后,您会得到App对应的以下信息:

    1. 应用AppID

    2. 应用鉴权AppKey

    3. 应用签名AppSign

    4. 开通区域(也叫数据中心),是您选择的App开通数据中心

      您需要将以上信息,记录到您的后端存储服务中。

  2. 实现您的AppServer。详细说明,请参考AppServer Demo

    AppServer主要功能之一是提供客户端登录阿里云互动消息服务的凭证。image.png

    Token采用以下算法生成,其中role说明请参考下文身份权限系统说明:

    token = sha256(appId + appKey  + userId + nonce + timestamp + role)

    字段

    说明

    限制

    appId

    用户的AppID

    与开通时控制台返回一致

    appKey

    开通时返回的AppKey

    与开通时控制台返回一致

    userId

    要登录的用户的ID

    仅限A-Z,a-z,0-9及"_",最长64字节

    nonce

    格式:"AK-随机串", 最长64字节

    仅限A-Z,a-z,0-9及"_",可为空

    role

    角色,为admin时,表示该用户可以调用“管控类”接口。

    可为空,如果要给当前用户admin权限,固定传“admin”,否则表示该用户不允许调用管控类接口。参考身份权限系统。

    timestamp

    过期时间,过期时间 = 当前时间+过期时长,单位秒

    从1970到过期时间的秒数

    生成完Token,需要将Token连同appId,userId,nonce,role,timestamp及AppSign信息发送给客户端。请求Token返回示例如下:

    {
        "auth": {
            "nonce": "产生token所用的nonce",
            "timestamp": 131231234, //<传产生token所传递的timestamp值,数值类型>
            "role": "产生token所传递的role",
            "user_id": "产生token所用的userid"
        },
        "app_id": "{您的应用AppID}", 
        "app_sign": "{您的应用AppSign}",
        "app_token": "{生成的token}"
    }

身份权限系统说明

登录授予角色

授予方式:登录时传入role值

角色名

role值

说明

普通用户

非admin

可以调用加入群组,发送消息等常规操作

管理员身份

admin

普通用户操作,管控类操作,如:创建群组

群组身份角色

角色名

身份获取方式

说明

群组创建者

群组创建者被自动授予

可以调用群组管控接口,如禁言,删除群组,发送消息不受禁言影响

群组管理员

创建群组时指定,或调用修改群组信息指定

可以调用群组管控接口,如禁言,删除群组,发送消息不受禁言影响

其他用户

登录后调用加入群组进群。客户端登出或异常退出后,自动退出群组

加入、离开群组,发送消息等。发送消息受群组禁言影响

互动消息服务端SDK集成

您可以在您的业务服务器或AppServer中集成服务端接口。服务端接口地址请参考互动消息(新)。单击帮助文档中的调试按钮,可以进入SDK调用页面。您可以通过此页面查看SDK集成信息。

说明

SDK版本选择V1.0,当前视频直播(包含互动消息)SDK仅提供V1.0版本的SDK。点开SDK信息后,会显示当前最新的版本信息。建议您使用最新版本。SDK文档中提供了SDK下载集成说明。

image.png

说明
  • SDK集成需要输入调用RAM凭证。这里填写您在前置步骤中创建好的RAM用户信息。

  • 区域填写您创建App的数据中心。当前开通的数据中心为上海(cn-shanghai)、新加坡(ap-southeast-1)。

    • 您可以根据您的应用主要服务区域,选择已开通的数据中心。不同数据中心之间数据相互隔离。

    • 所有的服务端接口在调用时,传递的数据中心应该与您开通时的数据中心保持一致,否则会造成无效调用。

        // Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set.
        DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        /** use STS Token
        DefaultProfile profile = DefaultProfile.getProfile(
            "<your region id>",           // The region ID
            System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),       // The AccessKey ID of the RAM account
            System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),   // The AccessKey Secret of the RAM account
            System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN"));     // STS Token
        **/

        IAcsClient client = new DefaultAcsClient(profile);

服务端接口调用权限说明

通过集成服务端SDK,您可以在您的业务服务器中调用相关的接口。例如:向群组发送消息。详细接口说明,请参考互动消息(新)

服务端调用和客户端调用具有以下区别:

  • 服务端使用RAM用户鉴权。

  • 服务端调用具有最高权限,相关接口调用内部执行具有admin,creator权限。

  • 服务端发送消息不受禁言影响,不进行安全审核。

回调

您可以配置回调,监听应用的用户事件,包括:登录、登出、加入群组、离开群组事件。回调说明文档请参考创建互动消息应用

内容安全审核

内容安全审核分为二级设置,App级与消息级。

App级别的审核设置

分为三种安全审核方式:内置、自定义、不审核。您可以根据实际需要进行选择。内置安全审核使用的是阿里云内容安全审核服务,其中群消息使用公聊评论内容检测服务,私聊消息使用私聊互动内容检测服务。审核服务详细说明请参考使用文本审核增强版识别文本违规风险

消息级别的审核设置

在App开启安全审核的前提下,您可以在消息级别设置的审核操作包含以下内容,具体方式参考客户端发送消息到群组发送消息到用户接口。

  • 发送的消息是否要进行审核(例如:礼物消息等自定义的非聊天内容可以不进行审核)

  • 将发送的消息与待审核的内容分开(例如:待发送的内容文本为hello,但您自定义的消息包含用户头像等其他装饰信息,您可以选择将发送的消息与审核内容分开)

  • 本页导读 (1)
文档反馈