Azione dispositivo

I richiedenti possono chiedere a un fornitore di intraprendere un'azione. Se l'azione è supportata dal fornitore, deve essere riconosciuta ed eseguita, altrimenti deve essere ignorata.

Nome del gruppo di messaggi Valore
Evento azione dispositivo 0x04
Nome del codice di azione del dispositivo Valore
Squilla 0x01

Far squillare un dispositivo

Un caso d'uso di queste azioni è la richiesta del Cercatore al Fornitore di suonare, ad esempio quando un utente ha perso il dispositivo e deve localizzarlo. Quando viene ricevuta l'azione di squillo, il fornitore deve iniziare a riprodurre un file audio precaricato a un volume sufficientemente alto da consentire all'utente di individuarlo. È consigliabile aumentare gradualmente il volume nel tempo, da un livello basso a quello massimo. La suoneria deve continuare finché non viene ricevuta un'azione aggiuntiva che indica l'interruzione o finché non è trascorso un valore di timeout.

Nel messaggio verranno inclusi dati aggiuntivi per indicare se la suoneria deve essere avviata o interrotta, che possono essere espansi per supportare i fornitori con più componenti (un auricolare sinistro e uno destro). Nel primo byte, i bit verranno impostati su 1 per richiedere l'inizio di una suoneria o su 0 per richiedere l'interruzione di una suoneria.

Ad esempio, se il primo byte di dati aggiuntivi è impostato su:

  • 0x00 (0b00000000): tutti i componenti devono smettere di squillare
  • 0x01 (0b00000001): Fai squillare destro, interrompi squillo sinistro
  • 0x02 (0b00000010): Fai squillare il dispositivo sinistro, interrompi la suoneria del dispositivo destro
  • 0x03 (0b00000011): Suona sia a sinistra che a destra

Per i fornitori che non supportano la suoneria individuale, deve essere considerato solo 1 bit:

  • 0x00 (0b00000000): Interrompi suoneria
  • 0x01 (0b00000001): Avvia squillo

Il secondo byte nei dati aggiuntivi, se presente, rappresenta il timeout in secondi. Questo valore deve essere utilizzato dal fornitore per determinare per quanto tempo deve squillare prima di disattivarsi. In base all'esempio di squillo sopra e a un timeout di 60 secondi, 0x013C verrà trasmesso come dati aggiuntivi.

Sincronizzazione dello stato della suoneria con i richiedenti

I fornitori potrebbero voler inviare una notifica a un utente che ha richiesto l'aiuto quando modificano lo stato della suoneria, ad esempio se un gesto causa l'interruzione della suoneria. Il richiedente può quindi ricevere il messaggio e aggiornare la UI, se necessario.

Il fornitore deve seguire lo stesso formato del messaggio definito nell'esempio precedente. Il cercatore ascolterà questo messaggio e fornirà una conferma quando lo riceverà.

Confermare un'azione

Quando viene ricevuta un'azione, deve essere confermata in modo che il richiedente sappia se l'azione è stata eseguita o meno. Se non viene ricevuta una conferma entro 1 secondo dall'invio di un'azione (o se viene ricevuta una conferma negativa), Seeker presuppone che l'azione non sia attualmente supportata.