Когда пользователь переустанавливает ваше приложение, ему должны быть предоставлены все нерасходуемые или возобновляемые продукты по подписке, которые у него уже есть. Магазины приложений ведут постоянную запись нерасходуемых и возобновляемых продуктов подписки каждого пользователя, которые Unity IAPаббревиатура Unity в приложении Купить
См. в Словарь. Непродлеваемые подписки на платформах Apple восстановить нельзя. Если вы используете продукты с непродлеваемой подпиской на платформах Apple, вы должны вести учет активных подписок и синхронизировать подписку между устройствами.
На платформах, которые его поддерживают (например, в Google Play и универсальных приложениях для Windows), Unity IAP автоматически восстанавливает любые продукты, которыми владеет пользователь, во время первой инициализации после переустановки; метод ProcessPurchase
вашего IStoreListener
будет вызываться для каждого находящегося в собственности элемента.
На платформах Apple пользователи должны вводить свой пароль для получения предыдущих транзакций, поэтому ваше приложение должно предоставить пользователям кнопку, позволяющую им это сделать. Во время этого процесса метод ProcessPurchase
вашего IStoreListener
будет вызываться для любых элементов, которыми уже владеет пользователь.
/// <summary>
/// Your IStoreListener implementation of OnInitialized.
/// </summary>
public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
{
extensions.GetExtension<IAppleExtensions> ().RestoreTransactions (result => {
if (result) {
// This does not mean anything was restored,
// merely that the restoration process succeeded.
} else {
// Restoration failed.
}
});
}