Не могу сказать, что между этими тремя вариантами есть лучшая практика, вам просто нужно выбрать более подходящий подход для вас и вашего приложения. Первый вариант является наиболее простым для вас как разработчика, второй предлагает лучший пользовательский интерфейс, но вам необходимо внедрить биллинг в приложении в своем приложении. И третий подход - самый сложный, потому что вам нужен сервер для хранения ваших файлов. Я лично выбрал бы первый подход, так как у второго есть подводный камень - вам нужно, чтобы заблокированные вопросы были в apk вашей демо-версии, и это просто небезопасно. Гораздо более безопасный подход - не помещать их в демо-версию - это то, что дает вам первый подход. Тем не менее, это ваш выбор в качестве разработчика. Удачи!