Vorrei utilizzare la fatturazione in-app nella mia applicazione Android (invece di creare 2 versioni dell'applicazione - gratuita e pro). Se l'utente ha pagato, dovrebbero essere disponibili opzioni aggiuntive in Preferenze. La mia applicazione sincronizza i dati con il sito web (non il mio). Ogni volta che si verifica la sincronizzazione, vorrei verificare se l'utente ha pagato o meno. Come devo fare?Come verificare se l'utente ha pagato su Android?
risposta
Penso che il mezzo più semplice per te sarebbe quello di usare Gestito Acquista. Più su di esso è a http://developer.android.com/guide/market/billing/billing_admin.html#billing-purchase-type
Il "gestire per conto utente" acquisto tipo è utile se si vendono oggetti come i livelli di gioco o funzioni dell'applicazione. Questi articoli sono non transitori e di solito devono essere ripristinati ogni volta che l'utente reinstalla l'applicazione , cancella i dati sul dispositivo o installa l'applicazione su un nuovo dispositivo.Aggiornamento
: sito web e API aggiornata riferiscono adesso https://developer.android.com/google/play/billing/api.html
Grazie, sembra che questo sia esattamente quello che stavo cercando. –
Penso che pubblichi questo commento nel posto sbagliato ??? – the100rabh
Destra, cancellato)) –
Ci sono molti modi per farlo, cercherò di darvi alcuni dei più utilizzati
- per quanto riguarda gli account utente? la tua applicazione può supportare gli utenti? se lo fa, è praticamente risolto con 1 utente per 1 account. aggiungi un flag al tuo DB per ogni utente. questo è il modo più sicuro, è molto facile sapere se qualcuno sta rubando da te questo è il motivo per cui tutti gli MMO (come WOW) usano questo tipo di controllo. puoi facilmente sapere se c'è più di un utente su un account pure
lo svantaggio è che richiede più elaborazione e qualche supporto è il caso che l'account di qualcuno viene rubato o altro supporto utente di quel tipo.
è possibile salvare una sorta di chiave all'interno dell'applicazione. e qualche altra chiave sul server. se la chiave corrisponde (1 a 1 o dopo qualche manipolazione) allora hai te stesso un utente a pagamento, altro non lo fai. Quando qualcuno acquista l'applicazione, cambia la chiave sul dispositivo.
basta fare ciò che non si vuole fare e avere 2 applicazioni gratuite e pagate sarà probabilmente meno lavoro dell'altra 2 lista sopra.
ci sono molti modi di fare quello che vuoi. ma ti dirò questo: la maggior parte delle applicazioni usa il metodo 2 ma nella direzione opposta, che significa chiave seriale. Non penso che creerai un mmo quindi non c'è bisogno dell'opzione 1 a meno che tu non voglia che qualcuno vi hackerò la tua applicazione (che presumo non importa cosa tu faccia sarà hackerato nel mondo di oggi. chi paga e accetta chi non lo fa)
il metodo 3 è semplicemente facile secondo me soprattutto quando si desidera rimuovere solo le opzioni di menu, ma crea anche repository duplicati per il codice.
buona fortuna. qualunque cosa tu decida è buona, fai una protezione dal furto, se qualcuno vuole rubarla, lo faranno, non combatterla (anche la PS3 è stata hackerata alla fine)
Grazie per la risposta dettagliata. La mia applicazione non supporta gli account utente e non ho il mio server. Stavo pensando anche a 2 app, ma non voglio conservare 2 copie di una sola applicazione (dovrò modificarle entrambe, se le modifiche sarebbero necessarie). –
beh se non si ha accesso ai dati sul server, è davvero una questione di applicazione sia completa che gratuita. se il server non è sotto il tuo controllo, nulla sarà in grado di dire all'applicazione "tutto il tuo"/"tuo libero" ciò che puoi fare con le 2 applicazioni è avere un "file di configurazione" o un file di registro. e passare da uno all'altro, gratis e completi sarebbe la stessa applicazione ma il file di registrazione sarebbe diverso (e obbligatorio) e per gli aggiornamenti, gli utenti dovranno solo scaricare il file di registro. è possibile per te? – Gleeb
- 1. Come verificare se EditText ha un valore in Android/Java
- 2. Come verificare se ngIf ha preso effetto
- 3. Come verificare se grep non ha output?
- 4. Come verificare se Handler ha un'attività attiva?
- 5. Come verificare se DbContext ha una transazione?
- 6. Come verificare se il selettore ha qtip?
- 7. Come posso verificare se un'app funziona su Android?
- 8. Come verificare se un'app Firebase è già inizializzata su Android
- 9. Come verificare se le cuffie Bluetooth sono collegate su Android?
- 10. Verificare se il controllo ha eventi su Click EventHandler
- 11. Come verificare se Android "Dati mobili" è
- 12. Come verificare se l'utente ha un'autent Session Firebase iOS?
- 13. Verificare se Html.ValidationSummary() ha un valore
- 14. Verificare se un oggetto ha una proprietà
- 15. È necessario verificare se l'elemento ha attributo?
- 16. Android - Come verificare se l'abbonamento è rinnovato?
- 17. Verificare se genitore ha classe utilizzando LESS
- 18. Verificare se la variabile ha il valore ''
- 19. Come verificare se l'URI della richiesta ha qualche parametro
- 20. Come verificare se l'input del modulo ha valore
- 21. Cosa devo fare per essere pagato su Scheme?
- 22. Come verificare se l'utente ha caricato un file in PHP?
- 23. Come verificare se un descrittore di file ha dati disponibili?
- 24. Come verificare se un processo ha i diritti amministrativi
- 25. Django come verificare se l'oggetto ha una proprietà in vista
- 26. Come posso verificare se l'utente ha la Timeline di Facebook?
- 27. Come verificare se l'audio HTML5 ha raggiunto errori diversi
- 28. Come verificare se il numero ha un decimale?
- 29. Come verificare se un oggetto ha determinati metodi/proprietà?
- 30. come verificare se una stringa ha spazi nella shell bash
All: la mia domanda è primaria su nuove funzionalità di fatturazione in-app (con l'utilizzo di Android Market). Quindi, la domanda è come verificare con Android Market che l'utente abbia acquistato l'applicazione. –
http://stackoverflow.com/a/991120/884674 –