As mensagens interativas aprimoram a comunicação em salas ao vivo ao habilitar recursos como comentários, comentários flutuantes e curtidas. O ApsaraVideo Live oferece SDKs fáceis de integrar para adicionar essas funcionalidades aos seus aplicativos de transmissão ao vivo.
Pré-requisitos
Crie uma conta Alibaba Cloud com acesso à API do ApsaraVideo Live e um usuário do Resource Access Management (RAM) com as permissões relevantes. Para mais informações, consulte Criar um usuário RAM e conceder permissões ao usuário RAM.
Crie um aplicativo de mensagens interativas e registre as informações relevantes. Caso não tenha um aplicativo disponível, crie-o no console do ApsaraVideo Live.
Implantar um AppServer
-
Após criar um aplicativo de mensagens interativas, obtenha as seguintes informações:
ID do aplicativo (AppID)
Chave do aplicativo (AppKey)
Assinatura do aplicativo (AppSign)
-
Região onde o aplicativo reside, correspondente ao centro de transmissão ao vivo onde ele foi implantado.
Armazene essas informações no seu backend.
-
Implemente seu AppServer.
O AppServer fornece credenciais para que os clientes façam login nas mensagens interativas da Alibaba Cloud.

Gere o token usando o algoritmo abaixo. Para detalhes sobre funções, veja a seção "Permissões baseadas em identidade".
token = sha256(appId + appKey + userId + nonce + timestamp + role)Campo
Descrição
Limite
appId
ID do aplicativo.
O console retorna este ID durante a criação do aplicativo.
appKey
AppKey.
O console retorna esta chave durante a criação do aplicativo.
userId
ID do usuário.
Pode ter até 64 caracteres, contendo apenas letras, dígitos e sublinhados (_).
nonce
Nonce. Segue o formato AK-String e pode ter até 64 bytes.
Aceita apenas letras, dígitos e sublinhados (_). Este campo também pode ficar vazio.
role
Função. O valor admin indica que o usuário tem permissão para operações de gerenciamento.
Campo opcional. Defina como admin para conceder permissões de administrador. Qualquer outro valor impede operações de gerenciamento. Consulte a seção "Permissões baseadas em identidade" deste tópico para mais detalhes.
timestamp
Tempo de expiração. Unidade: segundos. Tempo de expiração = Hora atual + Período de validade.
Valor em timestamp Unix, representando os segundos decorridos desde 00:00:00 UTC de 1º de janeiro de 1970 até a expiração do token.
Após gerar o token, envie-o junto com appId, userId, nonce, role, timestamp e a assinatura do aplicativo para o cliente. Exemplo de código:
{ "auth": { "nonce": "The nonce that is specified when you generate the token.", "timestamp": 131231234, //<The timestamp that is specified when you generate the token, which is a numeric value.> "role": "The role that is specified when you generate the token.", "user_id": "The user ID that is specified when you generate the token." }, "app_id": "{Your application ID.}", "app_sign": "{Your application signature.}", "app_token": "{The generated token.}" }
Permissões baseadas em identidade
Funções de login
A função de login do usuário é definida no momento da autenticação.
|
Nome da função |
Valor |
Descrição |
|
Usuário comum |
Qualquer valor diferente de admin |
Executa operações padrão, como entrar em um grupo e enviar mensagens. |
|
Administrador |
admin |
Realiza tanto operações comuns quanto de gerenciamento, incluindo a criação de grupos. |
Funções relacionadas a grupos
|
Nome da função |
Método de atribuição |
Descrição |
|
Criador do grupo |
Atribuída automaticamente ao usuário que cria o grupo. |
Permite operações de gerenciamento, como silenciar usuários ou o grupo e excluir o grupo. Mesmo com o grupo silenciado, este usuário continua podendo enviar mensagens. |
|
Administrador do grupo |
Designada pelo criador durante a criação do grupo ou via chamada de API para modificar informações do grupo. |
Habilita operações de gerenciamento, incluindo silenciar usuários ou o grupo e excluir o grupo. Mantém a capacidade de envio de mensagens mesmo se o grupo estiver silenciado. |
|
Outros |
Concedida automaticamente a quem entra no grupo sem ser criador ou administrador. Se o usuário fizer logout ou sair devido a uma exceção, ele deixa o grupo automaticamente. |
Permite entrar e sair de grupos, além de enviar mensagens. Porém, não é possível enviar mensagens caso o grupo esteja silenciado. |
Integrar mensagens interativas no lado do servidor
Integre a API do lado do servidor em seu servidor de negócios ou AppServer. Para detalhes sobre as operações de API, consulte Mensagens Interativas (Novo). Clique em Debug na página de uma operação no OpenAPI Explorer para visualizar as informações de integração do SDK.
O ApsaraVideo Live disponibiliza SDKs (incluindo o de mensagens interativas) nas versões 1,0 e 2,0. Recomendamos o uso da V2.0.
-
No código de exemplo a seguir, especifique a região onde reside o aplicativo criado. Valores válidos: cn-shanghai e ap-southeast-1 (Singapura).
Escolha a região conforme suas necessidades de negócio ao criar o aplicativo. Os dados entre regiões diferentes são isolados.
Ao chamar uma operação de API, a região especificada deve corresponder à região do aplicativo. Caso contrário, a chamada será inválida.
// Configure Credentials authentication information, including ak, secret, token
StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
// Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set.
.accessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
.accessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
//.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // use STS token
.build());
// Configure the Client
AsyncClient client = AsyncClient.builder()
.region("cn-qingdao") // Region ID
//.httpClient(httpClient) // Use the configured HttpClient, otherwise use the default HttpClient (Apache HttpClient)
.credentialsProvider(provider)
//.serviceConfiguration(Configuration.create()) // Service-level configuration
// Client-level configuration rewrite, can set Endpoint, Http request parameters, etc.
.overrideConfiguration(
ClientOverrideConfiguration.create()
// Endpoint. Visit https://api.alibabacloud.com/product/live for reference.
.setEndpointOverride("live.aliyuncs.com")
//.setConnectTimeout(Duration.ofSeconds(30))
)
.build();
Permissões de chamada de API no lado do servidor
Após integrar o SDK do servidor do ApsaraVideo Live, chame operações de API a partir do seu servidor de negócios, como o envio de mensagens para grupos. Para mais detalhes, consulte Mensagens interativas (novo).
Existem diferenças importantes entre chamadas no lado do servidor e no lado do cliente:
A autenticação no servidor utiliza usuários RAM.
Chamadas pelo servidor possuem o privilégio mais alto, garantindo permissões de administrador e criador.
Mesmo com o grupo silenciado, chamadas via servidor ainda permitem o envio de mensagens. Além disso, mensagens enviadas dessa forma não passam por moderação de conteúdo.
Callbacks
Configure callbacks para monitorar eventos do aplicativo, como login, logout, entrada e saída de grupos. Para mais informações, consulte CreateLiveMessageApp.
Moderação de conteúdo
Configurações de moderação no nível do aplicativo
Configurações de moderação no nível da mensagem
Se você ativar a moderação de conteúdo para o aplicativo, defina as seguintes configurações no nível da mensagem.
Defina se uma mensagem enviada deve passar por moderação. Por exemplo, opte por não moderar conteúdos personalizados fora do chat, como mensagens de presente.
Separe a mensagem enviada da parte do conteúdo que deseja moderar. Se o texto de uma mensagem personalizada for "olá", mas incluir informações adicionais como o avatar do usuário, isole o texto das informações extras pendentes de moderação.