Ordenação personalizada de participantes
A ordenação personalizada de participantes permite que você controle o posicionamento dos participantes nos layouts de grade e PiP com base nos valores de atributos personalizados nos tokens de participantes, incluindo o posicionamento dos participantes em destaque e a seleção de participantes para a janela PiP. Isso fornece um posicionamento determinístico do participante e permite layouts baseados em funções.
Como funciona a ordenação personalizada
Quando participantOrderAttribute é especificado em sua configuração de layout, os participantes são ordenados de acordo com as seguintes regras:
-
Os participantes com o atributo de ordenação especificado em seus tokens são posicionados primeiro, classificados numericamente pelos valores dos atributos.
-
Os participantes sem o atributo de ordenação retornam à ordenação por tempo de chegada e são posicionados após os participantes ordenados.
-
Quando vários participantes têm valores de ordenação idênticos, eles são sub-classificados de acordo com o horário de chegada ao estágio.
-
A ordenação usa classificação numérica (não lexicográfica), então “10” vem depois de “9” (não depois de “1”).
-
Os valores negativos também são compatíveis. Eles são posicionados antes dos valores positivos.
-
Valores não numéricos (por exemplo, “abc”, “1.5”) são tratados como inválidos e esses participantes retornam à ordenação por tempo de chegada.
Importante: a ordenação de participantes (seja com base no horário de chegada ou personalizada) entra em vigor após o início da composição. A ordem correta dos participantes não é garantida para os participantes que entrarem no estágio antes do início da composição.
Criando tokens com atributos de ordenação
Para usar a ordenação personalizada de participantes, inclua o atributo de ordenação em seus tokens de participante ao criá-los:
aws ivs-realtime create-participant-token --stage-arn "arn:aws:ivs:us-east-1:123456789012:stage/u9OiE29bT7Xp" --attributes order=1 aws ivs-realtime create-participant-token --stage-arn "arn:aws:ivs:us-east-1:123456789012:stage/u9OiE29bT7Xp" --attributes order=2 aws ivs-realtime create-participant-token --stage-arn "arn:aws:ivs:us-east-1:123456789012:stage/u9OiE29bT7Xp" --attributes order=3
Você pode combinar o atributo custom-participant-order com os atributos para selecionar participantes para o slot em destaque e a janela PiP:
aws ivs-realtime create-participant-token --stage-arn "arn:aws:ivs:us-east-1:123456789012:stage/u9OiE29bT7Xp" --attributes order=2,isFeatured=true aws ivs-realtime create-participant-token --stage-arn "arn:aws:ivs:us-east-1:123456789012:stage/u9OiE29bT7Xp" --attributes order=3,isFeatured=true aws ivs-realtime create-participant-token --stage-arn "arn:aws:ivs:us-east-1:123456789012:stage/u9OiE29bT7Xp" --attributes order=4,isPip=true
Exemplo de casos de uso
Exemplo de casos de uso incluem:
-
Posicionamento consistente: os participantes mantêm suas posições ao se reconectarem com o mesmo token.
-
Posicionamento baseado em funções: por exemplo, você pode especificar professores com order=1 e alunos com order=2.
-
Layouts baseados em prioridades: os participantes VIP com valores de ordem mais baixos apareceriam primeiro.
-
Layouts dinâmicos: você pode combinar ordens personalizadas com
featuredParticipantAttributeepipParticipantAttributepara cenários complexos. -
Interações entre estágios: ao usar a replicação de participantes para cenários como competições do Modo VS, em que streamers de diferentes estágios interagem, você pode substituir os atributos de ordenação para controlar o posicionamento na composição do estágio de destino.
Observação: para casos de uso de replicação de participantes, você pode substituir os atributos do participante (incluindo o atributo de ordem) conforme necessário ao iniciar uma replicação para obter o layout desejado no estágio de destino.
Compatibilidade retroativa
A ordenação personalizada de participantes é um recurso opcional e é totalmente compatível com versões anteriores. As composições existentes participantOrderAttribute continuam funcionando inalteradas, usando a ordem no horário de chegada. Quando participantOrderAttribute é definido como uma string vazia, o sistema ignora totalmente a ordenação personalizada e volta ao comportamento padrão.