У меня все настроено в моем магазине, все работает отлично.
То, что я пытаюсь сделать сейчас, - это когда они нажимают кнопку, чтобы купить что-то из моего приложения, я показываю настраиваемый элемент типа UIActivityIndicator, чтобы показать пользователям, что что-то на самом деле загружается (и чтобы они не назад, если на появление предупреждения уходит более 10 секунд).
У меня установлен тайм-аут для выполнения после 30-секундной задержки, чтобы скрыть ActivityIndicator на случай, если магазин не отвечает, чтобы пользователи не застряли в ожидании вечно. Все это работает нормально.
Проблема заключается в том, что когда отображается предупреждение «Подтвердите покупку в приложении», я не знаю, как получить уведомление о его появлении, поэтому я могу скрыть ActivityIndicator, который у меня все еще запущен, сзади.
Существуют методы определения, когда пользователь нажимает кнопку «Отменить» или «Купить», которые у меня есть, но я хотел бы скрыть ActivityIndicator до того, как он нажмет на один, чтобы пользователи не видели его в фоновом режиме, пока читают.
Не упустил ли я из виду делегата, который мог бы работать для этого? Или мне придется написать что-то нестандартное, чтобы все работало так, как я хочу?
Спасибо!
Я также пробовал реализовать UIAlertViewDelegate с помощью этого метода, однако он не улавливает представления предупреждений о покупках в приложении: (
- (void)didPresentAlertView:(UIAlertView *)alertView;
На случай, если кто-то еще заинтересован в решении, которое я придумал.
Когда вы вызываете load и начинаете подключаться к своему магазину, вы можете добавить наблюдателя, который будет отслеживать, когда ваш телефон перестанет быть активным. Таким образом, когда появляется предупреждение In App, вызывается выбранный вами метод, и вы можете отменить свой монитор активности.
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(inAppAlertAppeared:)
name:UIApplicationWillResignActiveNotification
object:nil];