2012-02-17 14 views
6

Sto cercando un piccolo tutorial o una spiegazione per come posso rimuovere la pubblicità nella mia applicazione con l'acquisto di inn-app? Inserirò alcuni annunci con AdMob nella mia app, ma voglio anche che l'utente possa disabilitare la pubblicità quando paga una piccola donazione. Conoscete un lato o tutorial in cui posso trovare una piccola spiegazione passo passo per fare questo? O devo pubblicare 2 versioni della mia app? Uno con annuncio e uno senza pubblicità per il pagamento?Rimozione degli annunci con acquisto in-app

risposta

5

Non utilizzare il metodo SharedPreferences perché se l'utente svuota i dati dell'app o disinstalla/reinstalla l'app, lo stato senza annunci andrà perso.

Un paio di idee:

  1. Se la vostra applicazione ha alcun tipo di accesso basato sul web o autorizzazione, è possibile bandiera l'utente come aver comprato la versione gratuita ad aggiornando i dati dei clienti del database web e quindi disattivare annunci in codice dopo l'accesso e la verifica. Questo ha il vantaggio di seguire l'utente sui nuovi dispositivi.
  2. Utilizzare uno dei vari modi per ottenere un ID dispositivo univoco e archiviarlo in un database del server Web. All'avvio, interrogare il DB per verificare se il dispositivo è privo di pubblicità. Vedi Android Unique Device ID. Questo funzionerà solo per quel particolare dispositivo però.

L'approccio di due app è abbastanza semplice da svolgere anche il lavoro. :)

+0

suona come buone idee, ma non ho un autenticazione o un account di accesso per l'utente (perché non è necessario). Non riesci a gestire questa informazione? Penso che il mercato sappia anche se l'utente ha acquistato l'inn-app-stuff o no. Non è possibile controllarlo dal mercato? – Informatic0re

+2

Vedere la sezione "Ripristino delle informazioni sulla transazione" dei documenti [qui] (http://developer.android.com/guide/market/billing/billing_integrate.html). In breve: Una richiesta RESTORE_TRANSACTIONS ... ... contiene le informazioni dettagliate sulla transazione. Le informazioni sulla transazione sono contenute in una stringa JSON firmata (non crittografata). 'Bundle request = makeRequestBundle (" RESTORE_TRANSACTIONS "); request.putLong (REQUEST_NONCE, mNonce); Risposta del pacchetto = mService.sendBillingRequest (richiesta); // Fai qualcosa con questa risposta. – Maz

+1

Piccola correzione: se l'utente disinstalla e installa l'app, i dati di 'SharedPreference' non vengono rimossi. Viene rimosso ** solo ** quando l'utente cancella intenzionalmente i dati dell'app nella pagina di disinstallazione dell'app o formatta il dispositivo. Altrimenti, la tua risposta è corretta. –

1

Questa presentazione sembra spiegare un esempio e include un collegamento al codice sorgente all'indirizzo github: http://gotocon.com/dl/2011/GeekNights/Tjen_penge_p%C3%A5_Android_ARH.pdf. Memorizza l'aggiornamento acquistato su sharedpreference.

Comunque, sto ancora cercando una soluzione più sicura e robusta che funziona il caso d'uso ha spiegato qui: http://vlingo-en.custhelp.com/app/answers/detail/a_id/1785/~/moving-in-app-purchase-(ad-removal)-to-new-android-phone/p/180

+2

Si prega di correggere il collegamento di vlingo-en. Era rotto –

Problemi correlati