2010-08-02 19 views
8

Ho un'applicazione gratuita che ha un numero di applicazioni di aggiornamento a pagamento che è possibile acquistare per questo. Il gioco di base è gratuito e rimane l'applicazione che l'utente avvia sempre, rileva la presenza delle altre applicazioni e sblocca varie funzionalità di aggiornamento a seconda dei casi.Come verificare il permesso di licenza Android per altre applicazioni

Volevo utilizzare il nuovo servizio di licenza per rilevare se le applicazioni acquistate erano autorizzate e passare il nome del pacchetto al servizio di licenza per verificare se è autorizzato (e seguendo ciecamente il campione ho stupidamente pensato che passare il nome del pacchetto per l'offuscatore significava che il nome del pacchetto era passato al server delle licenze - oops). Tuttavia mi sono appena reso conto di quanto fosse stupido, e in ogni caso ho colpito un muro di mattoni: "Se hai già pubblicato la tua applicazione come gratuita, non sarai in grado di caricare una versione aggiornata che include la licenza (cioè, un'applicazione che utilizza lo stesso nome di pacchetto e che include il permesso di licenza) ".

Quindi, una domanda in due parti: c'è qualche piano per implementare quello che sto cercando: per controllare da un'applicazione gratuita se una delle mie altre applicazioni pubblicate a pagamento sono concesse in licenza?

In caso contrario, quale sarebbe il modo migliore per ottenere ciò che sto cercando? Sto pensando magari di inviare un intento a ciascuno degli aggiornamenti installati, convincerli a eseguire il controllo delle licenze, e quindi ottenere gli aggiornamenti per passare la risposta indietro alla mia applicazione di base. Sembra un po 'complicato - qualche idea migliore?

Grazie carichi!

risposta

7

Quindi, una domanda in due parti: esiste un piano per implementare ciò che sto cercando: controllare da un'applicazione gratuita se una delle mie altre applicazioni pubblicate a pagamento è autorizzata?

Non c'è modo di farlo.

In caso contrario, quale sarebbe il modo migliore per ottenere ciò che sto cercando? Sto pensando magari di inviare un intento a ciascuno degli aggiornamenti installati, convincerli a eseguire il controllo delle licenze, e quindi ottenere gli aggiornamenti per passare la risposta indietro alla mia applicazione di base. Sembra un po 'complicato - qualche idea migliore?

Sembra il modo più ragionevole per farlo, presupponendo che non ci sia altro modo di comunicare tra i client (ad esempio, memoria condivisa in cui è possibile scrivere lo stato della licenza).

Probabilmente vorrete assicurarvi di proteggere questi metodi con permessi personalizzati, in modo che solo le vostre app possano trasmettere lo stato della licenza alle vostre app.

+1

+1 per notare che qualcuno potrebbe falsificare gli intenti se non adeguatamente protetto e creare i propri pacchetti di aggiornamento falsi – Janusz

+0

Grazie per quello Christopher - apprezzato. –

+0

+1 Idea intelligente, anche se non sono sicuro che sia effettivamente fattibile. – yorkw

Problemi correlati