2012-01-31 22 views
9

Ho il mio negozio tutte le impostazioni, tutto funziona perfettamente.Acquisto InApp - Come rilevare quando viene visualizzato l'avviso "Conferma il tuo acquisto in-app"

Quello che sto cercando di fare ora è quando fanno clic su un pulsante per acquistare qualcosa dalla mia app, sto visualizzando un tipo di UIActivityIndicator personalizzato per mostrare agli utenti che le cose stanno effettivamente caricando (e per fermarle da tornare indietro nel caso in cui l'avviso impieghi 10+ secondi per essere visualizzato).

Ho un timeout impostato per eseguire dopo un ritardo di 30 secondi per nascondere ActivityIndicator nel caso in cui l'archivio non risponda in modo che gli utenti non restino bloccati in attesa per sempre. Tutto ciò funziona bene.

Il problema si verifica quando viene visualizzato l'avviso "Conferma l'acquisto dell'app in ingresso", non sono sicuro di come ricevere la notifica che è stato visualizzato in modo da poter nascondere ActivityIndicator che ho ancora in esecuzione nella parte posteriore.

Ci sono metodi per rilevare quando l'utente fa clic su Annulla o Acquista che ho ma vorrei nascondere ActivityIndicator prima che ne colpisca uno in modo che gli utenti non lo vedano in background mentre lo leggono.

Ho trascurato un delegato che avrebbe funzionato per questo? O dovrò scrivere qualcosa di personalizzato per far funzionare questo lavoro nel modo che voglio?

Grazie!


Ho provato anche l'attuazione del UIAlertViewDelegate con questo metodo però doens't catturare i acquisto in-app viste avvisi :(

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

Nel caso in cui nessun altro è interessato a una soluzione

Quando si chiama il carico e si avvia la connessione al negozio, è possibile aggiungere un osservatore da catturare quando il telefono si dimetterà mentre è attivo. il metodo scelto viene chiamato e puoi annullare il tuo monitor dell'attività.

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

penso che sia un buon soluzione come qualsiasi. Bel lavoro. – TomSwift

+0

Bella soluzione, ma posso chiederti come fai a sapere quando l'utente fa clic su "Acquista"? Questo è quello con cui sto lottando in questo momento. –

+1

Nella classe di gestione degli acquisti In App nel (facoltativo) provideContent: (NSString *) metodo productIdentifier che è possibile pubblicare su NSNotificationCenter. Da quello che ricordo, i metodi vengono chiamati solo quando l'utente acquista effettivamente qualcosa. – rob1302

risposta

Problemi correlati