He estado buscando una solución integral para esto, pero no puedo encontrar algo sólido.
Tengo una tabla que rastrea tu posición actual en el video para que puedas continuar donde estabas anteriormente. También quiero realizar un seguimiento del tiempo de visualización para determinar si una persona lo vio todo el tiempo (o al menos el 90% del tiempo). Obviamente, esto nunca será 100% perfecto, pero quiero que realmente valga la pena.
Mi idea actual es tener una matriz en javascript que es la duración del video y en el evento de actualización de tiempo establecido cada segundo que se ha reproducido en 1 para marcarlo como visto. Luego, en el evento final, verifique si es mayor o igual al ~ 90% de la duración del video. Eso debería funcionar si el usuario mira tanto tiempo de una vez y también ignora a un usuario que busca "engañar" el video para que se marque como visto.
Ahora, ¿qué pasa si ven el 25% del video y luego regresan al día siguiente para terminar el resto? ¿Sería una mala idea serializar la matriz antes mencionada en una cadena y almacenarla en la tabla SQL? ¿De esa manera puedo extraerlo en la próxima visita y usarlo para mantener el tiempo de visualización? Si no, ¿cuál sería una mejor alternativa?