2012-03-22 12 views
7

Siamo in procinto di rilasciare un'applicazione su Android Market, con fatturazione in-app per la sottoscrizione che sblocca alcune funzioni per un periodo di sottoscrizione.Buoni per fatturazione in-app

Il mio capo ora vuole che io per implementare il numero di "liberi abbonamenti" variabile, nel senso che:

  1. I download "fortunato utente" & installa l'applicazione da Android Market, come qualsiasi altro cliente (sempre gratis da installare, ma le funzionalità premium richiedono il pagamento tramite la fatturazione in-app).
  2. L ' "utente fortunato" riceve qualche chiave via e-mail che consente di lui o di lei per evitare di passare attraverso il processo di fatturazione di checkout in-app (cioè effettivamente pagare).
  3. La chiave può essere utilizzata solo una volta.
  4. L'inserimento del codice tramite una voce di menu, consente di abbonamento per X mesi, come se ha effettivamente pagato tramite in-app Billing.

Il "tasto" funziona fondamentalmente come un coupon, ma non ho trovato alcuna opzione del genere nel Publisher's Console.

Sapete di qualsiasi funzione o un modo semplice per implementare quanto sopra senza duplicare il database dei clienti sul nostro (l'editori) server?

+0

Non è la parte principale della domanda come si può impedire all'utente di utilizzare il codice più volte? Perché l'attivazione delle "Funzioni Premium" non dovrebbe essere un problema. – theomega

risposta

8

In realtà mi sono tuffato in questo argomento forse 2, 3 mesi fa. La mia conclusione è stata che al momento non è possibile configurare questo sistema, senza utilizzare il proprio server.

Generazione unici coupon codici e scadenza al utilizzo è abbastanza semplice. Permetti all'utente di inserire il codice, inviare una richiesta POST al tuo server, cancellarne il codice sia lato client che lato server e vedere se corrispondono. Quindi, scade il codice serveride e sei pronto. Rende comunque la tua app vulnerabile alla pirateria (se non lo è già); se hai un'app di alto profilo, assicurati di implementare i controlli di sicurezza (ad esempio controlla i certificati SSL per prevenire un attacco man-in-the-middle).

La parte difficile è ripristinare precedentemente acquisito 'omaggi' quando gli utenti reinstallazione applicazione o cambiare i telefoni/firmware. A tal fine, avrai bisogno di una forma di identificazione stabile e affidabile (cross-device) (ad esempio, l'accesso all'account Google principale dell'utente sul telefono). Se si utilizzano gli indirizzi e-mail forniti dall'utente, è troppo facile inserire semplicemente l'indirizzo e-mail di qualcun altro. Se dovessi implementare un sistema di coupon, ti consiglierei di non reintegrare gli "omaggi".

+0

Grazie per l'ottima risposta, che potrebbe salvarmi un sacco di tentativi ed errori. Nota che la vulnerabilità alla pirateria non è un problema, perché anche i metodi più sicuri (incluso SSL) sono vulnerabili alla pirateria, come mostrato in [questo articolo] (http://techcrunch.com/2011/11/14/siri-cracked -open-teoricamente-apertura-it-up-to-altre apparecchiature-o-even-android /). Non ha senso cercare di proteggere contro l'hacker determinato. Basta renderlo * più conveniente * per l'utente finale da pagare ... :) –

+0

Sì, sono assolutamente d'accordo! Il problema è: il tuo capo non può;) – Reinier

-2

si può aggiungere uno schermo per inserire un coupon.
e l'utente può entrare e inserire il suo codice e se è corretto puoi dargli quello che vuoi.

Problemi correlati