Ну вообще вы все правильно написали - делаете что то похожее на кукизы. Конкретно - при отправке проверяете - если файла какого то условного нет - отправляете, создаете файл и пишете туда время последней отправки. Если файл есть - читаете оттуда время отправки, вычисляете сколько времени прошло, если достаточно - отправляете и перезаписываете файл. Как то так.
Минусы - можно читерить переводом времени на девайсе или сносом-установкой приложения.
Можно вместо файла использовать бд встроенную, но как то это излишне, мне кажется.