Sto creando un'applicazione di punteggi live per Rugy League . Mostra i punteggi in tempo reale mentre si sta verificando una partita. In Rugby League il match clock può essere messo in pausa in qualsiasi momento durante la partita (simile al Basket).
Ho problemi a sincronizzare accuratamente la rappresentazione temporale di una corrispondenza nella mia app con il tempo di corrispondenza effettivo ottenuto da un feed live.
Attuazione
Quando si verifica una partita, recupero i dati da un feed live ogni 5 secondi. Questo feed contiene informazioni aggiornate come il tempo di partita, i punteggi ecc.
Nella mia app, avvio un match clock interno durante una partita dal vivo. La ragione di ciò è mostrare il tempo che spunta all'utente (00:01 .... 00:02 ... 00:03). Questo orologio interno continua a ticchettare, ma viene aggiornato ogni volta che ottengo nuove informazioni dal feed live. Il match clock interno può talvolta essere avanti / indietro rispetto al tempo di match effettivo e in questi casi viene corretto per riflettere il tempo di match effettivo.
Pubblicazioni
Il match clock interno salta avanti e indietro di tanto in tanto quando deve correggersi in base ai dati dal feed live.
Quindi il match clock interno può essere inaccurato di circa 10 secondi o anche di più a seconda dell'errore di rete o di altri fattori.
Il mio problema con questa implementazione è l'inaccuratezza dell'orologio interno (nell'app). Idealmente, "salta" di meno ed è sincronizzato con l'evento dal vivo.
Quindi, se hai mai dovuto fare qualcosa del genere, la domanda è: come hai sincronizzato la tua app con eventi sportivi dal vivo quando l'accuratezza del tempo è un fattore importante?
Apri a qualsiasi tecnica / concetto che puoi condividere.