А в чем проблема-то ? Приложение по какому-то алгоритму периодически отдает данные на сервер. Время последнего сеанса связи - в базе есть, когда надо закончить - сервер наверное, тоже знает. И что-то предлагает делать по истечении какого-то лимита времени.
Само приложение без Интернета тоже должно сохранять свой последний статус, и запустившись заново - синхронизировать свое состояние с сервером, и орать юзеру о том, что он "всё проср .... очил"