Prima di iniziare ad aggiungere la verifica della licenza alla tua applicazione, devi configurare il tuo account Google Account di pubblicazione Play, ambiente di sviluppo ed eventuali account di prova richiesti per la verifica la tua implementazione.
Configurazione di un account publisher
Se non hai ancora un account editore per Google Play, devi crearne uno utilizzando il tuo Account Google e accetti i Termini di servizio di Google Play.
Per ulteriori informazioni, consulta la guida introduttiva alla pubblicazione.
Se hai già un account editore su Google Play, utilizza Play Console per configurare le licenze.
Con Google Play Console puoi:
- Ottenere una chiave pubblica specifica dell'app per le licenze
- Eseguire il debug e testare l'implementazione delle licenze di un'applicazione prima del pubblicazione dell'applicazione
- Pubblica le applicazioni a cui hai aggiunto il supporto per le licenze
Impostazioni amministrative relative alle licenze
Puoi gestire diversi controlli amministrativi per le licenze di Google Play in Play Console. I controlli ti consentono di:
- Configura più "account di prova" identificate dall'indirizzo email. Le licenze server consente agli utenti che hanno eseguito l'accesso ad account di prova su un dispositivo o un emulatore di inviare controlli delle licenze e ricevono risposte statiche di test. Puoi configurare gli account nel pagina Dettagli account di Play Console.
- Configura le risposte di prova statiche che il server invia quando riceve un controllo della licenza per un'applicazione caricata nell'account editore, da un utente hai eseguito l'accesso all'account editore o a un account di prova. Puoi impostare le risposte del test nella pagina Dettagli account di Play Console.
- Ottenere la chiave pubblica dell'app per la licenza. Quando implementi licenza in un'applicazione, devi copiare la stringa della chiave pubblica nel un'applicazione. Puoi ottenere la chiave pubblica dell'app per ottenere la licenza nei Servizi e API (in Tutte le applicazioni).
![](https://developer.android.com/static/images/licensing_public_key.png?authuser=9&hl=it)
Figura 1. Il codice di licenza di un'app è disponibile nel Servizi e API in Play Console.
Per ulteriori informazioni su come utilizzare gli account di prova e il test statico risposte, consulta Configurazione di un ambiente di test di seguito.
Configurazione dell'ambiente di sviluppo
La configurazione dell'ambiente per le licenze comporta le seguenti attività:
- Configurazione dell'ambiente di runtime per lo sviluppo
- Scaricare l'LVL nell'SDK.
- Configurare la libreria di verifica delle licenze
- Inclusione del progetto della libreria LVL nella domanda
Nelle sezioni seguenti vengono descritte queste attività. Al termine della configurazione, puoi iniziare ad aggiungere Concessione in licenza dell'app.
Per iniziare, devi configurare un ambiente di runtime adeguato in cui puoi eseguire, eseguire il debug e testare l'implementazione della licenza della tua applicazione per la verifica e l'applicazione delle norme.
Configurazione dell'ambiente di runtime
Come descritto in precedenza, per controllare lo stato di licenza delle applicazioni non è necessario contattare direttamente il server di licenze, ma in virtù dell'associazione a un servizio fornito Google Play e avvio di una richiesta di controllo della licenza. Il team di Play Services gestisce quindi la comunicazione diretta con il server di licenze e infine instrada la risposta all'applicazione. Per eseguire il debug e il test la gestione delle licenze nella tua applicazione, devi configurare un ambiente di runtime include il servizio Google Play necessario, in modo che la tua applicazione possa per inviare richieste di controllo delle licenze al server di licenze.
Puoi utilizzare due tipi di ambiente di runtime:
- Un dispositivo Android che include l'applicazione Google Play oppure
- Un emulatore Android che esegue il componente aggiuntivo API di Google, livello API 8 (release 2) o successiva
In esecuzione su un dispositivo
Per utilizzare un dispositivo Android per di debug e test delle licenze, il dispositivo deve:
- Esegui una versione compatibile di Android 1.5 o versioni successive (livello API). 3 o successiva), e
- Esegui un'immagine di sistema su cui l'applicazione client Google Play è preinstallato.
Se Google Play non è preinstallato nell'immagine di sistema, l'applicazione non essere in grado di comunicare con il server di licenze di Google Play.
Per informazioni generali su come configurare un dispositivo per l'utilizzo nello sviluppo Consulta la pagina relativa all'utilizzo di dispositivi hardware per le app per Android.
Su un emulatore Android
Se non hai un dispositivo disponibile, puoi utilizzare un emulatore Android per il debug e i test licenze.
Le piattaforme Android fornite nell'SDK per Android loro non includono Google Play, devi scaricare il componente aggiuntivo API di Google di livello API 8 (o superiore), dal repository di SDK. Dopo il download devi creare una configurazione AVD che utilizzi quell'immagine di sistema.
Il componente aggiuntivo API di Google non include il client Google Play completo. Tuttavia, fornisce:
- Un servizio in background di Google Play che implementa
ILicensingService
, in modo che la tua applicazione possa per inviare i controlli delle licenze sulla rete al server di licenze. - Un insieme di servizi dell'account sottostanti che ti consentono di aggiungere un Account Google su
la durata di visualizzazione media e accedi utilizzando il tuo account editore o le credenziali dell'account di test.
L'accesso con il tuo account publisher o di prova ti consente di eseguire il debug e il test per l'applicazione senza doverla pubblicare. Per ulteriori informazioni, consulta la sezione Accesso a un account autorizzato di seguito.
Tramite SDK Manager sono disponibili diverse versioni del componente aggiuntivo delle API di Google, ma la versione per Android 2.2 e versioni successive include il necessario Play Services.
Per configurare un emulatore per l'aggiunta di licenze a un'applicazione: questi passaggi:
- Avvia Android SDK Manager, disponibile nel menu Strumenti di Android Studio.
(Strumenti > Android > SDK Manager) o eseguendo
<sdk>/tools/android sdk
. - Seleziona e scarica le API di Google per la versione di Android che vuoi scegliere come target (Android 2.2 o versioni successive).
- Al termine del download, apri Gestione AVD, disponibile in Android Studio
menu Strumenti (Strumenti > Android > Gestione AVD) o eseguendo
<sdk>/tools/android avd
. - Nella finestra Gestione dispositivi virtuali Android, seleziona + Crea dispositivo virtuale per impostare i dettagli di configurazione della nuova durata di visualizzazione media.
- Nella finestra Configurazione dispositivo virtuale, seleziona l'hardware del dispositivo, quindi seleziona Avanti.
- Seleziona un'API di Google come immagine di sistema da eseguire sulla nuova durata di visualizzazione media, Seleziona Avanti.
- Assegna un nome descrittivo alla durata di visualizzazione media e imposta gli altri dettagli di configurazione come necessaria.
- Seleziona Fine per creare la nuova configurazione della durata di visualizzazione media, che verrà visualizzata nella di dispositivi virtuali Android disponibili.
Se non hai familiarità con la durata di visualizzazione media o su come utilizzarli, consulta Gestione dei dispositivi virtuali.
Aggiornamento della configurazione del progetto in corso...
Dopo aver configurato un ambiente di runtime che soddisfa i requisiti descritti
in alto, su un dispositivo vero e proprio o su un emulatore, assicurati di
aggiornare il progetto dell'applicazione o gli script di creazione in base alle necessità, in modo che i
In questo ambiente viene eseguito il deployment di .apk
file che utilizzano licenze.
In particolare, se sviluppi in Android Studio, assicurati di impostare un
Esegui/Esegui il debug della configurazione che ha come target il dispositivo o la durata di visualizzazione media appropriati.
Non è necessario apportare modifiche alla configurazione di compilazione, a condizione che il progetto sia già configurato per compilare rispetto a una libreria Android 1.5 (livello API 3) o versioni successive. Aggiungere licenze a un'applicazione non dovrebbe avere alcun impatto sulla configurazione della build dell'applicazione.
Scaricare l'LVL
La License Verification Library (LVL) è una raccolta di classi helper che semplificare notevolmente il lavoro che devi svolgere per aggiungere le licenze al tuo un'applicazione. In ogni caso, ti consigliamo di scaricare l'LVL e di utilizzarlo come le basi per l'implementazione delle licenze nella tua applicazione.
La License Verification Library (LVL) è sviluppata GitHub. Puoi clonare Repository LVL e impostalo come progetto biblioteca. Clona il repository digitando quanto segue nella riga di comando:
git clone https://github.com/google/play-licensing
Il repository include:
- Le origini LVL, archiviate all'interno di un progetto della libreria Android.
- Un'applicazione di esempio denominata "sample" che dipende dalla libreria LVL, progetto. L'esempio illustra come un'applicazione utilizza l'helper di libreria per controllare e applicare le licenze.
Configurare la libreria di verifica delle licenze
Dopo aver scaricato il file LVL sul computer, devi configurarlo nel dell'ambiente di sviluppo, sotto forma di progetto Biblioteca Android o tramite copiando (o importando) le origini della biblioteca direttamente nei contenuti esistenti pacchetto dell'applicazione. In generale, è consigliabile usare l'LVL come progetto libreria perché ti consente di riutilizzare il codice di licenza in più applicazioni più facilmente nel tempo. Tieni presente che la LVL non è progettata per essere vengono compilati separatamente e aggiunti a un'applicazione come file .jar statico.
Il modo consigliato di usare l'LVL è di configurarlo come nuovo Android
progetto libreria. Un progetto biblioteca è un tipo di progetto di sviluppo
che contiene codice sorgente e risorse Android condivisi. Altra applicazione Android
possono fare riferimento al progetto libreria e, al momento della creazione, includerne
le origini compilate nei file .apk
. Nel contesto delle licenze,
Ciò significa che puoi effettuare la maggior parte dello sviluppo delle licenze una sola volta, in una libreria
e includere le origini della libreria nei vari progetti dell'applicazione.
In questo modo, puoi mantenere facilmente un'implementazione uniforme delle licenze
in tutti i progetti e gestirli in modo centralizzato. Se non hai familiarità
con i progetti delle biblioteche o su come utilizzarli, vedi
Gestione dei progetti.
Il LVL viene fornito come progetto libreria configurato, una volta l'hai scaricato, puoi iniziare a utilizzarlo subito.
Se utilizzi Android Studio, devi aggiungere il file LVL al file progetto come nuovo modulo.
- Utilizzare il modulo "Importa modulo dall'origine" per importare un modulo della libreria selezionando File > Nuovo > Importa modulo.
- Nella finestra Import Module from Source, in Directory di origine, inserisci il parametro LVL
Directory
library
(la directory contenente il file AndroidManifest.xml della libreria) come radice del progetto (<sdk>/extras/google/play_licensing/library/AndroidManifest.xml
), quindi seleziona Avanti. - Seleziona Fine per importare il modulo Libreria.
Per ulteriori informazioni su come utilizzare i moduli della libreria in Android Studio, vedi Crea una Raccolta Android.
L'inclusione delle fonti dei progetti della libreria LVL nel applicazione
Se vuoi utilizzare le origini LVL come progetto libreria, devi aggiungere riferimento al progetto libreria LVL nelle proprietà del progetto dell'applicazione. Questo indica per creare strumenti per includere le fonti dei progetti delle librerie LVL nella tua applicazione sul durante la compilazione. La procedura per aggiungere un riferimento a un progetto libreria dipende nel tuo ambiente di sviluppo, come descritto di seguito.
Se stai sviluppando in Android Studio, dovresti già aver aggiunto la sezione al tuo progetto, come descritto nella sezione precedente. Se non l'hai ancora fatto, fallo ora prima di continuare.
Se stai sviluppando utilizzando gli strumenti a riga di comando SDK, vai alla
contenente il progetto dell'applicazione e apri
project.properties
. Aggiungi al file una riga che specifichi
alla chiave android.library.reference.<n>
e il percorso
libreria. Ad esempio:
android.library.reference.1=path/to/library_project
In alternativa, puoi usare questo comando per aggiornare il progetto proprietà, tra cui il riferimento al progetto libreria:
android update lib-project --target <target_ID> \ --path path/to/my/app_project \ --library path/to/my/library_project
Per ulteriori informazioni su come lavorare con i progetti delle biblioteche, vedi Configura un Progetto Biblioteche.
Configurazione dell'ambiente di test
Google Play Console fornisce strumenti di configurazione che ti consentono e altri testano le licenze sulla tua applicazione prima che venga pubblicata. Dato che sei implementare le licenze, puoi usare gli strumenti di Play Console per testare le norme della tua applicazione, nonché la gestione delle diverse risposte relative alle licenze e condizioni di errore.
I componenti principali dell'ambiente di test per le licenze includono:
- Una "Risposta del test" configurazione nel tuo account publisher, imposta la risposta statica di gestione delle licenze restituita, quando il server elabora un controllo della licenza per un'applicazione caricata nell'account editore, da un utente hai eseguito l'accesso all'account editore o a un account di prova.
- Un insieme facoltativo di account di prova che riceveranno il test statico risposta quando controllano la licenza di un'applicazione che hai caricato (indipendentemente dal fatto che l'applicazione sia stata pubblicata o meno).
- Un ambiente di runtime per l'applicazione che include Google Play l'applicazione o il componente aggiuntivo API di Google, sul quale l'utente ha effettuato l'accesso account publisher o uno degli account di prova.
La corretta configurazione dell'ambiente di test comporta:
- Impostazione di risposte di test statiche restituite dal server di licenze.
- Configura gli account di prova in base alle esigenze.
- Accedi correttamente a un emulatore o a un dispositivo prima di avviare un test di controllo della licenza.
Le sezioni seguenti forniscono ulteriori informazioni.
Impostazione delle risposte di test per i controlli delle licenze
Google Play fornisce un'impostazione di configurazione nel tuo account editore che ti consente di ignorare la normale elaborazione di un controllo delle licenze e restituire un il codice di risposta statico specificato. L'impostazione è solo a scopo di test e si applica solo per i controlli della licenza per le applicazioni che hai caricato, effettuati a qualsiasi utente abbia effettuato l'accesso a un emulatore o a un dispositivo utilizzando le credenziali del un account editore o un account di prova registrato. Per altri utenti, il server elabora sempre i controlli delle licenze secondo le normali regole.
Per impostare una risposta di test per il tuo account, accedi al tuo account publisher e fai clic su "Modifica profilo". Nella pagina Modifica profilo, individua la risposta al test. nel riquadro Licenze, mostrato di seguito. Puoi scegliere dall'intero set codici di risposta del server validi per controllare la risposta o la condizione che vuoi il test nella tua applicazione.
In generale, devi assicurarti di testare le licenze della tua applicazione implementazione con ogni codice di risposta disponibile nel menu Risposta al test. Per una descrizione dei codici, consulta la sezione Server Codici di risposta nella sezione Riferimento alle licenze.
![](https://developer.android.com/static/images/licensing_test_response.png?authuser=9&hl=it)
Figura 2. Test della licenza della pagina Dettagli account consente di configurare account di prova gestire le risposte dei test.
Tieni presente che la risposta al test che configuri si applica a livello di account: cioè non si applica a una singola applicazione, ma a tutte applicazioni associate all'account editore. Se stai testando più applicazioni contemporaneamente, la modifica della risposta al test influirà su tutte le applicazioni al successivo controllo delle licenze (se l'utente ha eseguito l'accesso l'emulatore o il dispositivo utilizzando l'account publisher o un account di prova).
Per poter ricevere correttamente una risposta di test per un controllo delle licenze, devi accedere al dispositivo o all'emulatore su cui è installata l'applicazione e da cui esegue query al server. In particolare, devi accedi utilizzando il tuo account publisher o uno degli account di prova che hai che hai impostato. Per ulteriori informazioni sugli account di prova, consulta la sezione successiva.
Vedi Server Codici di risposta per un elenco risposte dei test disponibili e il relativo significato.
Configurazione di account di prova
In alcuni casi, potresti voler consentire a più team di sviluppatori di testare per le applicazioni che saranno pubblicate tramite il tuo ma senza concedergli l'accesso ai relativi account credenziali di accesso. Per soddisfare questa esigenza, Google Play Console consente configuri uno o più account di prova facoltativi, ovvero account che l'utente ha l'autorizzazione a interrogare il server di licenze e a ricevere risposte di test statiche da nel tuo account editore.
Gli account di prova sono Account Google standard che registri sul tuo l'account editore, in modo che ricevano la risposta del test per le applicazioni che hai caricato. Gli sviluppatori possono quindi accedere al proprio dispositivi o emulatori utilizzando le credenziali dell'account di test e avviano la licenza e controlli delle applicazioni installate. Quando il server di licenze riceve una licenza controllo da parte di un utente di un account di prova, restituisce la risposta statica al test configurato per l'account editore.
Necessariamente, esistono limitazioni relative all'accesso e alle autorizzazioni concesse a utenti che hanno eseguito l'accesso tramite account di prova, tra cui:
- Gli utenti dell'account di prova possono interrogare il server di licenze solo per le applicazioni che sono già caricate nell'account editore.
- Gli utenti dell'account di prova non dispongono dell'autorizzazione per caricare applicazioni sul tuo account editore.
- Gli utenti dell'account di prova non dispongono dell'autorizzazione per impostare il valore del campo risposta statica al test.
La tabella seguente riassume le differenze in termini di funzionalità, tra un account publisher, un account di prova e qualsiasi altro account.
Tabella 1. Differenze nei tipi di account per i test delle licenze.
Tipo di account | Puoi controllare la licenza prima del caricamento? | Puoi ricevere risposte al test? | Puoi impostare la risposta al test? |
---|---|---|---|
Account publisher | Sì | Sì | Sì |
Account di test | No | Sì | No |
Altro | No | No | No |
Registrazione di account di prova nell'account publisher
Per iniziare, devi registrare ogni account di prova nel tuo publisher . Come mostrato nella Figura 2, Registra gli account di prova nel riquadro Licenze dell'account di modifica dell'account di editore Pagina del profilo. Inserisci gli account sotto forma di elenco delimitato da virgole e fai clic Salva per salvare le modifiche apportate al profilo.
Puoi utilizzare qualsiasi Account Google come account di prova. Se vuoi possedere e controllare gli account di prova, puoi creare gli account personalmente e le credenziali ai tuoi sviluppatori o tester.
Gestione del caricamento e della distribuzione delle applicazioni per i test utenti dell'account
Come già detto, gli utenti degli account di prova possono ricevere solo test statici risposte per le applicazioni caricate nell'account editore. Dal giorno questi utenti non sono autorizzati a caricare applicazioni, in quanto publisher dovranno collaborare con questi utenti per raccogliere app da caricare e distribuire le app caricate per i test. Puoi gestire la raccolta e la distribuzione in qualsiasi modo il che è più comodo.
Quando un'applicazione viene caricata e diventa nota
al server di licenze,
sviluppatori e tester possono continuare a modificare l'applicazione nel loro
senza dover caricare nuove versioni. Devi solo
carica una nuova versione se l'applicazione locale incrementa
Attributo versionCode
nel file manifest.
Distribuzione della chiave pubblica per testare gli utenti dell'account
Il server di licenze gestisce le risposte al test statiche nel modo normale. tra cui la firma dei dati delle risposte alle licenze, l'aggiunta di parametri extra e così via attiva. Per supportare gli sviluppatori che implementano le licenze utilizzando gli account di prova anziché l'account editore, dovrai distribuire la chiave pubblica dell'app per ottenere la licenza. Gli sviluppatori che non hanno accesso ai Play Console non hanno accesso alla chiave pubblica dell'app e senza il token non saranno in grado di verificare le risposte alle licenze.
Tieni presente che se decidi di generare una nuova coppia di chiavi di licenza per l'app per qualche motivo è necessario informare tutti gli utenti degli account di prova. Per puoi incorporare la nuova chiave nel pacchetto dell'applicazione e distribuirla. agli utenti. Gli sviluppatori dovranno distribuire la nuova chiave strato Add.
Accesso a un account autorizzato nel runtime ambiente
Il servizio di licenze è progettato per determinare se un determinato utente autorizzati a utilizzare una determinata applicazione; durante un controllo delle licenze, L'applicazione Play raccoglie l'ID utente dall'account principale sul sistema e la invia al server, insieme al nome del pacchetto dell'applicazione e altre informazioni. Tuttavia, se non sono disponibili informazioni sull'utente, controllo della licenza non riesce, quindi l'applicazione Google Play termina il e restituisce un errore all'applicazione.
Durante il test, per assicurarti che l'applicazione possa eseguire query server di licenze, devi assicurarti di accedere a un account sul dispositivo o emulatore con:
- Le credenziali di un account editore oppure
- Le credenziali di un account di prova registrato presso un publisher. account
Accesso a un Account Google su un emulatore
Se stai testando la licenza su un emulatore, devi accedere a un sull'emulatore. Se non vedi un'opzione per creare un nuovo account Google, account, il problema potrebbe essere che la tua AVD esegue un sistema Android standard al posto del componente aggiuntivo API di Google, API 8 (release 2) o superiore.
Per maggiori informazioni, vedi Configurazione dell'ambiente di runtime qui sopra.
L'accesso tramite un account editore offre il vantaggio di consentire ai tuoi le applicazioni ricevono risposte di test statiche anche prima caricati in Play Console.
Se fai parte di un'organizzazione più grande o collabori con gruppi esterni applicazioni che saranno pubblicate tramite il tuo sito, è più probabile che distribuire gli account di prova e utilizzarli per effettuare l'accesso test.
Per accedere su un dispositivo o un emulatore, segui i passaggi indicati di seguito. L'opzione consiste nell'accedere come account principale. Tuttavia, se ci sono account già in uso sul dispositivo o nell'emulatore, puoi creare account aggiuntivo e accedi con l'account publisher o di prova e credenziali.
- Apri Impostazioni > Account e sincronizzare
- Seleziona Aggiungi account e scegli di aggiungere un Account Google.
- Seleziona Avanti, quindi Accedi.
- Inserisci il nome utente e la password dell'account editore o di un test registrato nell'account editore.
- Seleziona Accedi. Il sistema ti consente di accedere al nuovo .
Una volta effettuato l'accesso, puoi iniziare a testare le licenze nella tua applicazione (se hai completato i passaggi per l'integrazione LVL precedenti). Quando la tua applicazione avvia un controllo della licenza, riceverà una risposta contenente il test statico risposta configurata nell'account publisher.
Tieni presente che, se utilizzi un emulatore, dovrai accedere al l'account publisher o l'account di prova ogni volta che cancelli i dati quando riavvii il un emulatore.
Una volta completate le procedure di configurazione, passa alla sezione Aggiungere le licenze all'app.