2012-01-31 11 views
9

Mam wszystko skonfigurowane w sklepie, wszystko działa idealnie.Zakup InApp - sposób wykrywania, kiedy wyświetlany jest komunikat "Potwierdź zakup w aplikacji"

Co próbuję teraz zrobić, to po kliknięciu przycisku, aby kupić coś z mojej aplikacji, wyświetlam niestandardową rzecz typu UIActivityIndicator, aby pokazać użytkownikom, że rzeczy faktycznie ładują się (i aby powstrzymać ich przed wracając na wypadek, gdyby alarm zajął 10+ sekund).

Mam ustawiony limit czasu, aby wykonać po 30 sekundach opóźnienia, aby ukryć ActivityIndicator, gdy sklep nie odpowiada, aby użytkownicy nie utknęli w nieskończoność. Wszystko działa poprawnie.

Problem polega na wyświetleniu komunikatu "Potwierdź zakup w aplikacji", nie jestem pewien, jak uzyskać powiadomienie, że się pojawił, więc mogę ukryć ActivityIndicator, który wciąż mam na odwrocie.

Istnieją metody wykrywania, kiedy użytkownik uderza Anuluj lub Kup, które mam, ale chciałbym ukryć ActivityIndicator przed ich uderzeniem, aby użytkownicy nie widzieli go w tle podczas czytania.

Czy przeoczyłem delegata, który nad tym pracował? Czy będę musiał napisać coś niestandardowego, aby to działało tak, jak chcę?

Dzięki!


Próbowałem też wdrożenie UIAlertViewDelegate z tej metody jednak doens't złapać In-App Zakup powiadomienie widoki :(

- (void)didPresentAlertView:(UIAlertView *)alertView; 

W przypadku ktoś jest zainteresowany w roztworze Zrobiłem:

Po wywołaniu ładowania i rozpoczęciu łączenia z Twoim sklepem możesz dodać obserwatora, aby złapać, gdy telefon zrezygnuje z aktywności. wybrana metoda zostanie wywołana i możesz anulować swój monitor aktywności.

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(inAppAlertAppeared:) 
              name:UIApplicationWillResignActiveNotification 
              object:nil]; 
+0

myślę, że jest równie dobrym rozwiązaniem jak każda inna. Dobra robota. – TomSwift

+0

Dobre rozwiązanie, ale czy mogę zapytać, skąd wiadomo, kiedy użytkownik klika "Kup"? Właśnie z tym walczę. –

+1

W klasie menedżera zakupu aplikacji w (void) provideContent: (NSString *) productIdentifier method można publikować w NSNotificationCenter. Z tego co pamiętam, że metody są wywoływane tylko wtedy, gdy użytkownik faktycznie coś kupi. – rob1302

Odpowiedz

Powiązane problemy