Покупка в приложении - Как определить, когда отображается предупреждение «Подтвердите покупку в приложении»

У меня все настроено в моем магазине, все работает отлично.

То, что я пытаюсь сделать сейчас, - это когда они нажимают кнопку, чтобы купить что-то из моего приложения, я показываю настраиваемый элемент типа 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];
15
задан James Webster 23 December 2013 в 15:56
поделиться