Как сделать покупку отключения рекламы гугл плей перманентной?

Всем добрый день!

Делаю игрушку на юнити под гугл плей, дошел до мест связанных с монетизацией.
И задался таким вопросом. Вот создал я продукт non consumable на отключение рекламы. Он должен будет спокойно сработать пока игра стоит на устройстве. Но что произойдет, если игрок сменит девайс? Или просто на какое-то время удалит игру.
Нет ли какой нибудь функции в серверах гугл плея, чтоб узнать, а был ли куплен этот “итем”?

У меня есть только смутные предположения по реализации этой механики, допустим через сохранение в облаке. Но и с ним не все гладко. В моей игре игрок может сбрасывать прогресс, она офлайн. Итог, как угадать когда данные нужно загрузить с сервера, а когда загрузить на сервер? Он может сбросить прогресс и начать по новой без сети… Потом подключиться к сети и игра такая “о, что-то его дата меньше моей, давай дам ему сохранение с облака”…

Если найдется гуру, который сможет мне объяснить это на пальцах, будет очень круто))
Заранее спасибо!

Наверно оно само всё сделает.

Restoring Transactions | In App Purchasing | 3.2.1

On platforms that support it (e.g. Google Play and Universal Windows Applications) Unity IAP automatically restores any products the user owns during the first initialization following reinstallation; the ProcessPurchase method of your IStoreListener will be called for each owned item.

Тоже находил этот кусочек кода, но не понял как его реализовать :slight_smile:
Где именно в программе его использовать? В каком виде вернутся Id’шники?
Чем дольше сижу за разработкой, тем больше понимаю, что ничего не понимаю :upside_down_face:

Какой? extensions.GetExtension<IAppleExtensions> ().RestoreTransactions это для айфонов. Для гугл.плея написано, что оно само всё сделает, и вызовет ProcessPurchase.

Сейчас как покупка обрабатывается?

Мне это и не понятно.
Как игра получит нужный Id и реализует код с ним связанный :upside_down_face:

    public void OnPurchaseComplete(Product product)
    {
        switch (product.definition.id)
        {
            case "slime_disabling_ads":
                DisablingAds();
                break;
        }  
    }

Сама при запуске прогонит себя по всему switch (если он будет большим) и выполнит действия на все non consumable продукты?
Похоже пора перестать думать, скомпилировать игру и залить на гугл для проверки опытным путем :upside_down_face: