Я думаю, что вариант 2) («сервер отправляет уведомление клиенту, когда новый файл доступен») потребует запуска службы на клиенте, чтобы «прослушать» уведомление -> Это перебор
То, что я бы сделал, аналогично вашему варианту 1), за исключением того, что оно не зависит от часов клиента и сервера:
Версия ваших ресурсов и хранилище:
- На сервересторона, в txt или xml файле, последняя версия каждого актива, доступного на сервере
- На стороне клиента текущая версия каждого актива номер версии последней
На стороне клиента вы затем периодически извлекаете файл txt / xml и определяете, нужно ли вам загружать новые ресурсы.