

# Ordinamento personalizzato dei partecipanti
<a name="ssc-getting-started-custom-participant-ordering"></a>

L'ordinamento personalizzato dei partecipanti consente di controllare il posizionamento dei partecipanti nei layout a griglia e PiP in base ai valori degli attributi personalizzati nei token dei partecipanti, incluso il posizionamento dei partecipanti in primo piano e la selezione dei partecipanti per la finestra PiP. Ciò fornisce un posizionamento deterministico dei partecipanti e consente layout basati sui ruoli.

## Come funziona l'ordinamento personalizzato
<a name="ssc-getting-started-custom-participant-ordering-how-custom-ordering-works"></a>

Quando `participantOrderAttribute` è specificato nella configurazione del layout, i partecipanti vengono ordinati in base alle seguenti regole:
+ I partecipanti con l'attributo di ordinamento specificato nei relativi token vengono posizionati per primi, ordinati numericamente in base ai valori degli attributi.
+ I partecipanti senza l'attributo di ordinamento tornano all'ordine in base all'ora di arrivo e vengono posizionati dopo i partecipanti ordinati.
+ Quando più partecipanti hanno valori di ordinamento identici, vengono suddivisi in base all'ora di arrivo nella fase.
+ L'ordinamento utilizza l'ordinamento numerico (non lessicografico), quindi "10" viene dopo "9" (non dopo "1").
+ Sono supportati valori negativi. Sono posizionati prima dei valori positivi.
+ I valori non numerici (ad esempio, "abc", "1,5") vengono considerati non validi e tali partecipanti ricorrono all'ordine in base all'ora di arrivo.

**Importante:** l'ordine dei partecipanti (basato sull'orario di arrivo o personalizzato) ha effetto dopo l'inizio della composizione. Il corretto ordine dei partecipanti non è garantito per i partecipanti che si uniscono alla fase prima dell'inizio della composizione.

## Creazione di token con attributi di ordinamento
<a name="ssc-getting-started-custom-participant-ordering-creating-tokens-with-ordering-attributes"></a>

Per utilizzare l'ordinamento personalizzato dei partecipanti, includi l'attributo di ordinamento nei token dei partecipanti al momento della loro creazione:

```
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
```

Puoi combinare l'attributo custom-participant-order con gli attributi per la selezione dei partecipanti per lo slot in primo piano e la finestra 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
```

## Casi d'uso di esempio
<a name="ssc-getting-started-custom-participant-ordering-example-use-cases"></a>

Ecco alcuni esempi di casi d'uso:
+ Posizionamento coerente: i partecipanti mantengono la propria posizione quando si ricollegano con lo stesso token.
+ Posizionamento basato sui ruoli: ad esempio, puoi specificare gli insegnanti con order=1 e gli studenti con order=2.
+ Layout basati sulle priorità: i partecipanti VIP con valori di ordine inferiori verranno visualizzati per primi.
+ Layout dinamici: puoi combinare l'ordinamento personalizzato con `featuredParticipantAttribute` e `pipParticipantAttribute` per scenari complessi.
+ Interazioni tra fasi: quando si utilizza la replica dei partecipanti per scenari come le competizioni in modalità VS in cui interagiscono streamer di diverse fasi, è possibile ignorare gli attributi di ordinamento per controllare il posizionamento nella composizione della fase di destinazione.

**Nota:** per i casi d'uso relativi alla replica dei partecipanti, è possibile sovrascrivere gli attributi dei partecipanti (incluso l'attributo order) in base alle esigenze quando si avvia una replica per ottenere il layout desiderato nella fase di destinazione.

## Compatibilità con le versioni precedenti
<a name="ssc-getting-started-custom-participant-ordering-backward-compatibility"></a>

L'ordinamento personalizzato dei partecipanti è una funzionalità facoltativa ed è completamente compatibile con le versioni precedenti. Le composizioni esistenti senza `participantOrderAttribute` continuano a funzionare invariate, utilizzando l'ordinamento in base all'orario di arrivo. Quando `participantOrderAttribute` è impostato su una stringa vuota, il sistema ignora completamente l'ordinamento personalizzato e torna al comportamento predefinito.