In-app billing per comuni mortali – puntata 2

In questa seconda puntata spieghiamo brevemente come funziona l’architettura del billing in-app e cominciamo a inserire i primi metodi e classi nel nostro progetto.

L’Architettura

La gestione delle richieste dall’in-app billing utiliza principalmente una sequenza di messaggi asincroni per soddisfare le richieste fra l’applicazione e i server di google. Tutte le richieste che fa la nostra applicazione relative agli acquisti, non interagiscono direttamente con i server di google, bensí inviano le loro richieste tramite IPC al servizio relativo nell’applicazione del Google Play store.  Ovviamente se noi vogliamo possiamo interagire con dei nostri server per gestire gli acquisti, una volta effettuati, degli utenti. Ma mai la nostra applicazione, ne il nostro server entreranno nel merito della transazione (tranne per i suoi contenuti quali risultato, oggetti ordinati, etc).

Come detto precedentemente i componenti fondamentali su cui si basa una implementazione dell’in-app billing sono il Servizio, il BroadCastReceiver e una componente relativa alla sicurezza.

Ovviamente se necessario la nostra applicazione deve gestire anche il salvataggio delle impostazioni dopo l’acquisto.

Lo schema in figura rappresenta brevemente come avviene la comunicazione fra il servizio in-app di google play e la nostra applicazione.

Continue reading In-app billing per comuni mortali – puntata 2

Effettuare le patch tramite svn e applicarle ai nostri progetti

Se abbiamo effettuato delle modifiche a un progetto scaricato tramite svn, e vogliamo prima di committarle sul repository, far girare una patch, per creare un file contenente le nostre modifiche ci basta portarci all’interno della root del progetto e dare il comando:

svn diff > nomefileoutput.diff

Questo inserisce la nostra patch nel file nomefileoutput.diff. A questo punto se noi vogliamo applicare questa patch ai nostri sorgenti ci basta copiare il file all’interno della root del progetto e dare il comando:

patch -p0 -i nomefileoutput.diff

Dove

  • -i nomfileoutput é il file che contiene la patch e
  • -p0 indica quanti sono gli ” / ” che la patch deve considerare dei path contenuti all’interno del file diff. Quindi con -p0 se all’interno della patch vi é un file con il path /home/pippo/pluto il comando prenderá in considerazione il path intero. Se invece abbiamo -p1 eliminerá  /home e prenderá in considerazione silo /pippo/pluto, etc.

In questo modo abbiamo applicato la nostra patch sul progetto. Facile no?

In-app billing per comuni mortali – puntata 1

Iniziamo questa nuova serie di articoli a puntate dedicata all’utilizzo del nuovo servizio di in-app billing di google per i telefonini android che ci consente di ricevere pagamenti direttamente all’interno della nostra applicazione.  Inizialmente questa guida avrei voluto farla in un unico post, ma arrivato alla decima pagina e ancora non avevo finito, mi sono reso conto che forse sarebbe stato meglio suddividerla in piú articoli. E quindi iniziamo questa prima puntata introducendo le caratteristiche del servizio, vedendo quali pacchetti andranno installati e quali sono i primi passi da fare per abilitarlo all’interno della nostra applicazione.

Il billing in-app per le applicazioni android come detto precedentemente permette all’utente di effettuare degli acquisti direttamente dalla nostra applicazione, utilizzando i servizi del Play store senza doverci piú preoccupare della gestione delle transazioni, il tutto avverrá in maniera molto simile a quanto accade gia per l’acquisto di un app, utilizzando anche le stesse informazioni finanziarie, fornendo cosí anche agli utenti una discreta sicurezza sul sistema che si sta adottando per gestire le transazioni. Come tutte le cose ci sono dei pro e dei contro, vediamoli brevemente:

Continue reading In-app billing per comuni mortali – puntata 1