Accedi con Amazon Guida introduttiva per Android

Accedi con Amazon: Guida introduttiva per Android
Copyright © 2016 Amazon.com, Inc. o sue affiliate. Tutti i diritti riservati. Amazon e il logo Amazon sono marchi di Amazon.com, Inc. o delle sue affiliate. Tutti gli altri marchi non di proprietà di Amazon appartengono ai rispettivi proprietari.
Guida introduttiva per Android
In questa guida ti mostreremo come aggiungere Login con Amazon alla tua app Android. Dopo aver completato questa guida dovresti avere un pulsante Accedi con Amazon funzionante nella tua app per consentire agli utenti di accedere con le loro credenziali Amazon.
Installazione degli strumenti per sviluppatori Android
Il login con Amazon SDK per Android ti aiuterà ad aggiungere il login con Amazon alla tua applicazione Android. Ti consigliamo di utilizzare l'accesso con Amazon SDK per Android da developer.amazon.com con Android Studio. È tuttavia possibile utilizzare anche Eclipse con il plug-in ADT. Per i passaggi su come installare Android Studio e su come configurare Android SDK, vedere Ottieni l'Android SDK su developer.android.com.
Quando è installato Android SDK, trova il file Responsabile SDK applicazione nella tua installazione Android. Per sviluppare per l'accesso con Amazon, è necessario utilizzare SDK Manager per installare la piattaforma SDK per Android 2.2 o versioni successive (API versione 8). Vedere Aggiunta di pacchetti SDK su developer.android.com per ulteriori informazioni sull'utilizzo dell'SDK
Dopo aver installato l'SDK, configura un dispositivo virtuale Android (AVD) per eseguire le tue app. Vedere Gestione Dispositivi virtuali su developer.android.com per istruzioni sulla configurazione di un dispositivo virtuale.
Quando il tuo ambiente di sviluppo è configurato, puoi farlo Installa il login con Amazon SDK per Android or Esegui la SampleApp, come descritto sotto.
Installa il login con Amazon SDK per Android
Il Login con Amazon SDK per Android è disponibile in due pacchetti. Il primo contiene la libreria Android e la documentazione di supporto. Il secondo contiene comeample applicazione che consente a un utente di accedere e visualizza il proprio profile dati.
Se non hai già installato Android SDK o Strumenti di sviluppo Android, consulta il file Installazione gli Strumenti per sviluppatori Android sezione sopra.
- Scaricamento cerniera lampo ed estrai il files in una directory sul disco rigido.
Dovresti vedere a dottore e un liberare sottodirectory. - Aprire doc / index.html A view il Login con Amazon Android API
- Vedere Installa il login con Amazon Library, per istruzioni su come aggiungere la libreria e la documentazione a un Android
Quando è installato l'accesso con Amazon SDK per Android, puoi farlo Crea un nuovo accesso con Amazon Progetto, Dopo Registrazione con Login con Amazon .
Esegui la SampleApp
Per eseguire il sampl'applicazione, importare la sample in uno spazio di lavoro AndroidStudio (se stai usando Eclipse, devi anche aggiungere un keystore di debug personalizzato allo spazio di lavoro. Vedi il Aggiungi il debug personalizzato Archivio chiavi in Eclipse sezione sottostante). La chiave API che il sampl'applicazione utilizza richiede che l'area di lavoro utilizzi il keystore fornito con il sample. Se il keystore personalizzato non è installato, gli utenti non saranno in grado di accedere utilizzando il sample. Il keystore verrà prelevato automaticamente se stai utilizzando AndroidStudio.
- Scaricamento SampleLoginWithAmazonAppForAndroid-src.zip ed estrai il files in una directory sul tuo disco
- Avvia Android Studio e seleziona Apri un progetto Android Studio esistente
- Passare al SampleLoginConAmazonApp directory ottenuta dopo aver estratto lo zip scaricato file nel passo
- Dal Costruire menu, clicca Crea progettoe attendi che il progetto venga eseguito
- Dal Correre menu, clicca Correre e poi clicca su SampleLoginConAmazonApp.
- Seleziona l'emulatore o il dispositivo Android connesso e fai clic su Correre.
Aggiungi l'archivio chiavi di debug personalizzato in Eclipse
Se stai utilizzando Eclipse, segui le istruzioni di seguito per aggiungere il keystore di debug personalizzato:
- Nel Preferenze dialogo, selezionare Android E Costruire.
- Accanto a Costume Debug dell'archivio chiavi, clicca Sfogliare.
- Vai a sample app directory e selezionare 3p. Keystore, quindi fare clic OK.
Registrazione con Login con Amazon
Prima di poter utilizzare Accedi con Amazon su un websito o in un'app mobile, devi registrare un'applicazione con Login with Amazon. La tua applicazione Login with Amazon è la registrazione che contiene informazioni di base sulla tua attività e informazioni su ogni websito o app mobile che crei che supporta Login with Amazon. Queste informazioni aziendali vengono visualizzate agli utenti ogni volta che utilizzano Login with Amazon sul tuo websito o app per dispositivi mobili. Gli utenti vedranno il nome della tua applicazione, il tuo logo e un link alla tua informativa sulla privacy. Questi passaggi dimostrano come registrare un'applicazione Login con Amazon e aggiungere un'app Android a quell'account.
Vedere i seguenti argomenti:
- Registra il tuo accesso con l'applicazione Amazon
- Registra la tua app Android
- Aggiungi un'app Android per Amazon Appstore
- Aggiungi un'app Android senza Appstore
- Firme delle app Android e chiavi API
- Determinazione della firma di un'app Android
- Recupero di una chiave API Android
Registra il tuo accesso con l'applicazione Amazon
- Vai a https://login.amazon.com.
- Se ti sei registrato per Accedi con Amazon in precedenza, fai clic su Console dell'appAltrimenti, fare clic Iscrizione. Verrai reindirizzato a Seller Central, che gestisce la registrazione dell'applicazione per Accedi con Se è la prima volta che utilizzi Seller Central, ti verrà chiesto di creare un account Seller Central.
- Clic Registra una nuova applicazione. IL Registra la tua applicazione apparirà il modulo:
a. Nel Registra la tua applicazione modulo, inserisci un Nome e un Descrizione per la tua candidatura.
IL Nome è il nome visualizzato nella schermata di consenso quando gli utenti accettano di condividere informazioni con la tua applicazione. Questo nome si applica ad Android, iOS e webversioni del sito della tua applicazione.
b. Inserisci un Informativa sulla privacy URL per la tua applicazione
IL Informativa sulla privacy URL è la posizione dell'informativa sulla privacy della tua azienda o dell'applicazione (ad esampLui, http://www.example.com/privacy.html). Questo collegamento viene mostrato agli utenti nella schermata di consenso.
c. Se vuoi aggiungere un Immagine del logo per la tua applicazione, clicca Sfogliare e individuare l'immagine applicabile.
Questo logo viene visualizzato nella schermata di accesso e consenso per rappresentare la tua attività o webposto. Il logo verrà ridotto a 50 pixel di altezza se è più alto di 50 pixel; non ci sono limiti alla larghezza del logo - Clic Salva. Il tuoampla registrazione dovrebbe essere simile a questa:

Dopo aver salvato le impostazioni di base dell'applicazione, è possibile aggiungere impostazioni specifiche websiti e app mobili che utilizzeranno questo account di accesso con Amazon.
Registra la tua app Android
Per registrare un'app Android, puoi scegliere di registrare un'app tramite Amazon Appstore (Aggiungi un'app Android per Amazon Appstore, p. 8) o direttamente con Login con Amazon (Aggiungi un Android App senza Appstore, p. 9). Quando la tua app è registrata, avrai accesso a una chiave API che garantirà alla tua app l'accesso al servizio di autorizzazione Accedi con Amazon.
Nota: Se prevedi di utilizzare Amazon Device Messaging nella tua app Android, contatta lwa- support@amazon.com con:
- L'indirizzo e-mail dell'account Amazon che hai utilizzato per registrarti per Accedi con Amazon.
- L'indirizzo e-mail dell'account Amazon che hai utilizzato per registrarti ad Amazon Appstore (se diverso).
- Il nome sul tuo account Seller Central. (In Seller Central, fare clic su Impostazioni> Informazioni sull'account> Informazioni sul venditore, e utilizzare il Nome da visualizzare).
- Il nome sul tuo account sviluppatore Amazon Appstore. (Nel sito di distribuzione di app per dispositivi mobili, fare clic su Impostazioni > Azienda Professionistafile e utilizzare il Nome sviluppatore o nome azienda).
Aggiungi un'app Android per Amazon Appstore
I seguenti passaggi aggiungeranno un'app Amazon Appstore al tuo account di accesso con Amazon:
- Dalla schermata Applicazione, fare clic su Impostazioni Android. Se hai già un'app Android registrata, cerca il file Aggiungi chiave API pulsante nel Impostazioni Android
IL Dettagli dell'applicazione Android apparirà il modulo: - Selezionare SÌ in risposta alla domanda "Questa applicazione è distribuita tramite Amazon Appstore?"
- Entra nel Etichetta della tua App Android. Questo non deve essere il nome ufficiale della tua app. Identifica semplicemente questa particolare app Android tra le app e websiti registrati alla tua applicazione Accedi con Amazon.
- Aggiungi il tuo ID Amazon Appstore.
- Se hai autofirmato la tua app, aggiungi le informazioni di autofirma. Ciò ti consentirà di ottenere una chiave API durante lo sviluppo senza utilizzare direttamente l'Appstore:
a. Se la tua app non viene firmata tramite Amazon Appstore, seleziona Sì in risposta alla domanda "Questa applicazione è autofirmata?"
IL Dettagli dell'applicazione Android il modulo si espanderà:

b. Inserisci il tuo Nome del pacchetto.
Deve corrispondere al nome del pacchetto del tuo progetto Android. Per determinare il nome del pacchetto del tuo progetto Android, apri il progetto nello strumento di sviluppo Android di tua scelta.
Aprire AndroidManifest.XML in Package Explorer e seleziona il file Manifesto tab. La prima voce è il nome del pacchetto.
c. Accedi all'app Firma.
Questo è un valore hash SHA-256 utilizzato per verificare la tua applicazione. La firma deve essere sotto forma di 32 coppie esadecimali separate da due punti (ad esampon: 01:23:45:67:89:ab:cd:ef:01:23:45:67:89:ab:cd:ef:01:23:45:67:89:ab:cd:ef:01: 3:45:67:89:a b:cd:ef). Vedere Firme delle app Android e chiavi API per i passaggi che puoi utilizzare per estrarre la firma dal tuo progetto. - Clic Salva.
Se versioni diverse della tua app hanno firme o nomi di pacchetti diversi, ad esempio per una o più versioni di test e una versione di produzione, ogni versione richiede la propria chiave API. Dal Impostazioni Android della tua app, fai clic su Aggiungi chiave API pulsante per creare chiavi aggiuntive per la tua app (una per versione).
Firme delle app Android e chiavi API
La firma dell'app è un valore hash SHA-256 che viene applicato a ogni app Android quando viene creata. Amazon utilizza la firma dell'app per costruire la tua chiave API. La chiave API consente ai servizi Amazon di riconoscere la tua app. Se utilizzi Amazon Appstore per firmare la tua app, la chiave API viene fornita automaticamente. Se non utilizzi Amazon Appstore, dovrai gestire manualmente la tua chiave API.
Le firme delle app vengono archiviate in un keystore. In genere, per le app Android sono disponibili un keystore di debug e un keystore di rilascio. Il keystore di debug viene creato dal plug-in Strumenti di sviluppo Android per Eclipse e viene utilizzato per impostazione predefinita. È possibile trovare la posizione del keystore di debug in Eclipse facendo clic su Finestra, quindi selezionando Preferenze> Android> Build. Da quella schermata puoi anche aggiungere il tuo keystore di debug. Per Android Studio, dal Costruire menu, seleziona Modifica tipi di build, quindi vai al Firma scheda e individuare il keystore di debug nel file Negozio File campo.
Normalmente viene creato un keystore di rilascio quando esporti la tua app Android per creare un APK firmato file.
Attraverso il processo di esportazione, se stai creando un nuovo keystore di rilascio, selezionerai la sua posizione. Di
predefinito verrà posizionato nella stessa posizione del KeyStore di debug predefinito.
Se hai registrato la tua app utilizzando la firma di debug durante lo sviluppo, dovrai aggiungere una nuova impostazione Android alla tua applicazione quando sarai pronto per rilasciare l'app. La nuova impostazione dell'app deve utilizzare la firma del keystore di rilascio.
Vedere Firma delle applicazioni su developer.android.com per ulteriori informazioni.
Determina la firma dell'app Android
- Se hai un APK firmato file:
a. Decomprimi l'APK file ed estrarre CERT.RSA. (Puoi rinominare l'estensione APK in ZIP se necessario).
b. Dalla riga di comando, esegui:strumento chiave -printcert -file CERT.RSA Keytools situato nel bidone directory della tua installazione di Java.
- Se hai un negozio di chiavi file:
a. Dalla riga di comando, esegui:keytool -list -v -alias -archivio chiavifilenome> Strumento chiave si trova nella directory bin dell'installazione di Java. L'alias è il nome della chiave utilizzata per firmare l'app.
b. Immettere la password per la chiave e premere Entra. - Sotto Impronte digitali del certificato, copiare il SHA256 valore.
Recupera la chiave API Android
Dopo aver registrato un'impostazione Android e fornito una firma per l'app, puoi recuperare la chiave API dalla pagina di registrazione per l'applicazione Accedi con Amazon. Dovrai inserire quella chiave API in a file nel tuo progetto Android. Fino a quando non lo fai, l'app non sarà autorizzata a comunicare con il servizio di autorizzazione Accedi con Amazon.
- Vai a https://login.amazon.com.
- Clic Console dell'app.
- Nel Applicazioni casella a sinistra, seleziona il tuo
- Trova la tua app Android sotto il file Impostazioni Android (Se non hai ancora registrato un'app Android, vedi Aggiungi un'app Android per Amazon Appstore).
- Clic Genera valore chiave API. Una finestra popup mostrerà la tua chiave API. Per copiare la chiave, fare clic su Seleziona tutto per selezionare l'intero
Nota: Il valore della chiave API si basa, in parte, sull'ora in cui viene generato. Pertanto, i successivi valori chiave API generati potrebbero differire dall'originale. Puoi utilizzare uno qualsiasi di questi valori chiave API nella tua app poiché sono tutti validi. - Vedere Aggiungi la tua chiave API al tuo progetto per istruzioni su come aggiungere la chiave API al tuo Android
Creazione di un accesso con Amazon Project
In questa sezione imparerai come creare un nuovo progetto Android per Accedi con Amazon, configurare il progetto e aggiungere codice al progetto per accedere a un utente con Accedi con Amazon. Descriveremo i passaggi per Android Studio, ma puoi applicare passaggi analoghi a qualsiasi IDE o strumento di sviluppo Android di tua scelta.
Vedere i seguenti argomenti:
- Crea un nuovo accesso con Amazon Project
- Installa il login con Amazon Library
- Abilita Content Assist per l'accesso con Amazon Library
- Imposta le autorizzazioni di rete per la tua app
- Aggiungi la tua chiave API al tuo progetto
- Rimuovere il Sample Chiavi di debug personalizzate dell'app
- Gestisci le modifiche alla configurazione per la tua attività
- Aggiungi un'attività di autorizzazione al tuo progetto
- Aggiungi un accesso con il pulsante Amazon alla tua app
- Gestisci il pulsante di accesso e ottieni Profile Dati
- Verificare l'accesso utente all'avvio
- Cancella lo stato di autorizzazione e disconnetti un utente
- Chiama i metodi di Amazon Authorization Manager in modo sincrono
Crea un nuovo accesso con Amazon Project
Se non disponi ancora di un progetto di app per l'utilizzo di Accedi con Amazon, segui le istruzioni di seguito per crearne uno. Se hai un'app esistente, vai a Installa il login con Amazon Library .
- Lancio Strumento di sviluppo Android.
- Dal File menu, seleziona Nuovo E Progetto.
- Inserire un Nome dell'applicazione E Nome dell'azienda per il tuo
- Entra nel Applicazione e nome della società corrispondente al nome del pacchetto che hai scelto quando hai registrato la tua app con Accedi con Amazon.
Se non hai ancora registrato la tua app, scegli un file Nome del pacchetto e quindi seguire le istruzioni in Registrazione con Login con Amazon sezione dopo aver creato il progetto. Se il nome del pacchetto della tua app non corrisponde al nome del pacchetto registrato, le tue chiamate di accesso con Amazon non avranno esito positivo. - Seleziona un SDK minimo richiesto di API 8: Android 2 (Froyo) o versioni successive e fare clic su Prossimo.
- Seleziona il tipo di attività che desideri creare e fai clic Prossimo.
- Compila i dettagli pertinenti e fai clic Fine.
Ora avrai un nuovo progetto nella tua area di lavoro che puoi utilizzare per chiamare Accedi con Amazon.
Installa il login con Amazon Library
Se non hai ancora scaricato il login con Amazon SDK per Android, vedi Installa il login con Amazon SDK per Android (pag. 4).
- Con il tuo progetto aperto in Strumenti per sviluppatori Android, in Esplora progetti, fai clic con il pulsante destro del mouse sul file Progetto.
- Se una cartella chiamata librerie non è già presente, crea
- Copia il login-con-amazon-sdk.jar file dal File Sistema, quindi incollalo nel file librerie directory sotto il tuo progetto / app.
- Fare clic con il tasto destro del mouse login-con-amazon-sdk.jare controlla il Aggiungi come libreria
Abilita Content Assist per l'accesso con Amazon Library in Eclipse
Per abilitare il supporto dell'assistenza ai contenuti di Eclipse in un progetto Android, è necessario utilizzare un file .proprietà file. Per ulteriori informazioni sull'assistenza ai contenuti, vedere Contenuto / codice assistito onhelp.eclipse.org.
Per abilitare il supporto dell'assistenza ai contenuti di Eclipse in un progetto Android, è necessario utilizzare un file .proprietà file. Per ulteriori informazioni sull'assistenza ai contenuti, vedere Contenuto / codice assistito onhelp.eclipse.org.
- In Esplora risorse di Windows, vai a documenti cartella per l'accesso con Amazon SDK per Android e copia la cartella nel file
- Con il tuo progetto aperto, vai a Esploratore di pacchetti e seleziona il librerie Clic Modificare dal menu principale e selezionare Impasto. Ora dovresti avere un file libs \ docs elenco.
- Selezionare il librerie Clic File dal menu principale e selezionare Nuovo EFile.
- Nel Nuovo File dialogo, entrare login-con-amazon-sdk.jar.properties e clicca Fine.
- Eclipse dovrebbe aprirsi login-con-amazon-sdk.jar.properties nell'editor di testo. Nell'editor di testo, aggiungi la seguente riga a file:
doc = docs - Dal File menu, clicca Salva.
- Potrebbe essere necessario riavviare Eclipse affinché le modifiche abbiano effetto
Imposta le autorizzazioni di rete per la tua app
Affinché la tua app possa utilizzare Accedi con Amazon, deve accedere a Internet e accedere alle informazioni sullo stato della rete. La tua app deve affermare queste autorizzazioni nel tuo manifest Android, se non lo è già.
NOTA: I passaggi della procedura seguenti sono specifici per l'aggiunta delle autorizzazioni in Eclipse. Se utilizzi Android Studio o un IDE diverso, puoi saltare tutti i passaggi numerati di seguito. Invece, copia le righe di codice visualizzate sotto lo screenshot e incollale nel file AndroidManifest.xml file, al di fuori del blocco dell'applicazione.
- In Pacchetto Esploratore, fare doppio clic xml.
- Sul Permessi scheda, clicca Aggiungere.
- Selezionare Utilizza l'autorizzazione e clicca OK.
- Alla destra Permessi, trova il Attributi per l'autorizzazione agli usi
- Nel Nome casella, immettere autorizzazione. INTERNET oppure selezionalo dal menu a discesa.
- Sul Permessi scheda, clicca Aggiungere
- Selezionare Utilizza l'autorizzazione e clicca OK.
- Nel Nome casella, immettere permesso.ACCESS_NETWORK_STATE oppure selezionalo dal menu a discesa
- Dal File menu, clicca Salva.
Le tue autorizzazioni manifest dovrebbero ora avere i seguenti valori:

Nel AndroidManifest.xml scheda, ora dovresti vedere queste voci sotto l'elemento manifest:
Aggiungi la tua chiave API al tuo progetto
Quando registri la tua applicazione Android con Accedi con Amazon, ti viene assegnata una chiave API. Questo è un identificatore che Amazon Authorization Manager utilizzerà per identificare la tua applicazione per il servizio di autorizzazione Accedi con Amazon. Se utilizzi Amazon Appstore per firmare la tua app, l'Appstore fornirà automaticamente la chiave API. Se non stai utilizzando Amazon Appstore, Amazon Authorization Manager carica questo valore in fase di esecuzione dal file chiave_api.txt file nel attività elenco.
- Se non hai ancora la tua chiave API, segui le istruzioni in Recupera la chiave API Android (pag. 11).
- Con il tuo progetto ADT aperto, dal file File menu, clicca Nuovo e seleziona Testo senza titolo File. Ora dovresti avere una finestra dell'editor per un testo file nominato Senza titolo 1. Aggiungi la tua chiave API al testo
- Dal File menu, clicca Salva come.
- Nel Salva come finestra di dialogo, selezionare il file attività directory del progetto come cartella principale. Per File nome, entrare TXT.
Rimuovere il Sample Chiavi di debug personalizzate dell'app
NOTA: Questo passaggio è richiesto solo se si utilizza Eclipse; se utilizzi Android Studio, salta questa sezione.
Se hai installato il Login con Amazon per Android sample applicazioni nello stesso spazio di lavoro che stai utilizzando per la tua app Android, potresti avere un keystore di debug personalizzato impostato per lo spazio di lavoro. Devi cancellare il keystore di debug personalizzato per utilizzare la tua chiave API.
- Dal menu principale, fare clic su Finestra e seleziona Preferenze.
- Nel Preferenze dialogo, selezionare Android E Costruire.
- Cancella il Costume eseguire il debug dell'archivio chiavi
- Clic OK.
Gestisci le modifiche alla configurazione per la tua attività
Se un utente cambia l'orientamento dello schermo o cambia lo stato della tastiera del dispositivo durante l'accesso, verrà richiesto un riavvio dell'attività corrente. Questo riavvio chiuderà inaspettatamente la schermata di accesso. Per evitare ciò, è necessario impostare l'attività che utilizza il metodo di autorizzazione per gestire manualmente le modifiche alla configurazione. Ciò impedirà il riavvio dell'attività.
- In Pacchetto Esploratore, fare doppio clic xml.
- Nel Applicazione sezione, individuare l'attività che gestirà Login con Amazon (ad esampLui, Attività principale).
- Aggiungi il seguente attributo all'attività che hai individuato nel passaggio 2:
android: configChanges = "keyboard | keyboardHidden | orientamento" O per API 13 o superiore:
android: configChanges = "keyboard | keyboardHidden | Orientamento | ScreenSize" - Dal File menu, clicca Salva
Ora, quando si verifica una modifica dell'orientamento della tastiera o del dispositivo, Android chiamerà il file suConfigurationChanged metodo per la tua attività. Non è necessario implementare questa funzione a meno che non vi sia un aspetto di queste modifiche alla configurazione che si desidera gestire per la propria app
Quando l'utente fa clic sul pulsante Accedi con Amazon, l'API verrà avviata a web browser per presentare all'utente una pagina di accesso e consenso. Affinché questa attività del browser funzioni, è necessario aggiungere AuthorizationActivity al manifest.
- In Pacchetto Esploratore, fare doppio clic xml.
- Nel Applicazione sezione, aggiungere il seguente codice, sostituendo "com.example.app" con il nome del pacchetto per questa app:
<attività android:nome=
"Com.amazon.identity.auth.device.authorization.AuthorizationActivity" android: theme = "@ android: style / Theme.NoDisplay" android: allowTaskReparenting = "true" android: launchMode = "singleTask">
<azione android:name="android.intent.action.VIEW” />
<dati
android:host="com.ex"ample.app” android:scheme="amzn" />
la tua app. Questa sezione fornisce i passaggi per scaricare un login ufficiale con un'immagine Amazon e accoppiarlo con un ImageButton Android.
- Aggiungi un ImageButton standard alla tua app.
Per ulteriori informazioni sui pulsanti Android e sulla classe ImageButton, vedere Pulsanti su developer.android.com. - Dai un ID al tuo pulsante.
Nella dichiarazione XML del pulsante, imposta l'attributo android:id su @+id/login_with_amazon. Ad esempioampon:android: id = "@ + id / login_with_amazon" - Scegli un'immagine del pulsante.
Consulta il nostro Login con Amazon Linee guida di stile per un elenco di pulsanti che puoi utilizzare nella tua app. Scarica una copia del file LWA_Android.zip file. Estrai una copia del tuo pulsante preferito per ogni densità di schermo supportata dalla tua app (xxhdpi, xhdpi, hdpi, mdpi o tvdpi). Per ulteriori informazioni sul supporto di più densità dello schermo in Android, vedere Layout alternativi nell'argomento "Supporto di più schermi" ondeveloper.android.com. - Copia l'immagine del pulsante appropriata fileal tuo progetto.
Per ogni densità dello schermo supportata (xhdpi, hdpi, mdpi o ldpi), copia il pulsante scaricato nel res / drawable directory per quella densità dello schermo. - Dichiara l'immagine del pulsante.
Nella dichiarazione XML del pulsante, imposta l'attributo android:src sul nome del pulsante che hai scelto. Ad esempioampon:android: src = "@ drawable / btnlwa_gold_loginwithamazon.png" 6. Carica la tua app e verifica che il pulsante ora abbia un'immagine Accedi con Amazon. È necessario verificare che il pulsante venga visualizzato correttamente per ciascuna densità dello schermo supportata.
Questa sezione spiega come chiamare l'autorizzazione e getProfile API per accedere a un utente e recuperare il suo profile dati. Ciò include la creazione di un listener onClick per il tuo pulsante Accedi con Amazon nel metodo onCreate della tua app.
- Aggiungi Accedi con Amazon al tuo progetto Android. Vedere Installa il login con Amazon Library .
- Importa l'accesso con Amazon API alla tua fonte
Per importare l'accesso con l'API Amazon, aggiungi le seguenti istruzioni di importazione alla tua fonte file:import com.amazon.identity.auth.device.AuthError; importare
com.amazon.identity.auth.device.authorization.api.
AmazonAuthorizationManager; importare
com.amazon.identity.auth.device.authorization.api. Autorizzazione Ascoltatore; import com.amazon.identity.auth.device.authorization.api.AuthzConstants; - Inizializzare Amazon Authorization Manager.
Dovrai dichiarare un file Amazon Authorization Manager variabile e creare una nuova istanza della classe. La creazione di una nuova istanza richiede solo il contesto dell'applicazione corrente e un bundle vuoto. Il posto migliore per inizializzare Amazon Authorization Manager è nel suCrea metodo della tua attività. Ad esempioampon: - Crea un AuthorizeLiistener.
Autorizza ascoltatore implementa l'interfaccia AuthorizatioinListener ed elaborerà il risultato del file autorizecall. Contiene tre metodi: oinSuccess, un errore, e onCanceil. Ogni metodo riceve un bundle o un file Errore di autenticazione oggetto.la classe privata AuthorizeListener implementa AuthorizationListener {
/ * L'autorizzazione è stata completata con successo. * /
@Oltrepassare
public void onSuccess (Bundle response) {
}
/ * Si è verificato un errore durante il tentativo di autorizzazione dell'applicazione.
*/
@Oltrepassare
public void onError (AuthError ae) {
}
/ * L'autorizzazione è stata annullata prima che potesse essere completata. * /
@Oltrepassare
public void onCancel (Bundle cause) {
}
} - Chiamata AmazonAuthorizationManager.autorizza.
Nel al clic gestore del pulsante Accedi con Amazon, chiama l'autorizzazione per richiedere all'utente di accedere e autorizzare la tua applicazione.
Questo metodo è responsabile dell'autorizzazione del cliente in uno dei seguenti modi:- Passa al browser di sistema e consente al cliente di accedere e acconsentire alla richiesta
- Passa a web view in un contesto sicuro, per consentire al cliente di accedere e acconsentire a quanto richiesto
Questo contesto sicuro per il n. 2 è attualmente disponibile come app Amazon Shopping sui dispositivi Android. Dispositivi creati da Amazon che eseguono Fire OS (ad esample Kindle Fire, Fire Phone e Fire TV) utilizzano sempre questa opzione anche se sul dispositivo non è presente l'app Amazon Shopping. Per questo motivo, se il cliente ha già effettuato l'accesso all'app Amazon Shopping, questa API salterà la pagina di accesso, portando a un Accesso singolo esperienza per il cliente.
Quando l'applicazione è autorizzata, è autorizzata per uno o più set di dati noti come ambiti. Il primo parametro è un array di ambiti che comprendono i dati utente richiesti da Login with Amazon. La prima volta che un utente accede alla tua app, gli verrà presentato un elenco dei dati che stai richiedendo e verrà richiesta l'approvazione. L'accesso con Amazon attualmente supporta tre ambiti: profile, che contiene il nome dell'utente, l'indirizzo e-mail e l'ID account Amazon; professionistafile:ID utente, che contiene solo l'ID dell'account Amazon; e codice postale, che contiene il codice postale / postale dell'utente.
Il modo migliore per chiamare l'autorizzazione è in modo asincrono, quindi non è necessario bloccare il thread dell'interfaccia utente o creare un thread di lavoro personalizzato. Chiamare autorizza in modo sincrono, passare un oggetto che supporta il AutorizzazioneListenerinterfaccia come ultimo parametro:AmazonAuthorizationManager privato mAuthManager; @Oltrepassare
protetto void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
mAuthManager = new AmazonAuthorizationManager (this, Bundle.EMPTY);// Trova il pulsante con l'ID login_with_amazon
// e imposta un gestore di clic
mLoginButton = (Pulsante) trovaViewById(R.id.login_with_amazon);
mLoginButton.setOnClickListener (new OnClickListener () {
@Oltrepassare
vuoto pubblico al clic (View v) {
mAuthManager.authorize (
nuovo String []{“profile","codice postale"},
Bundle.EMPTY, new AuthorizeListener ());
}
});
} - Crea un ProfessionistafileAscoltatore.
ProfessionistafileAscoltatore è il nostro nome per una classe che implementa il APIListener ed elaborerà il risultato del file getProfile chiamata. APIListener contiene due metodi: suSuccess e onError (non supporta suAnnulla perché non è possibile annullare un file getProfile chiamata). suSuccess riceve un oggetto Bundle con profile dati, mentre un errore riceve un Errore di autenticazione oggetto con informazioni sull'errore.classe privata ProfileListener implementa APIListener{ /* getProfile completato con successo. */ @Oltrepassare
public void onSuccess (Bundle response) {}
/* Si è verificato un errore durante il tentativo di ottenere il profile. */ @Oltrepassare
public void onError (AuthError ae) {
}
} - Attrezzo suSuccess per il tuo Autorizza ascoltatore.
In suSuccesso, chiamata AmazonAuthorizationManager.getProfile per recuperare il cliente profile. getProfile, come autorizza, utilizza un'interfaccia di ascolto asincrona. Per getProfile, quell'interfaccia è APIListener, non AuthorizationListener.
/ * L'autorizzazione è stata completata con successo. */ @Oltrepassare
public void onSuccess (Bundle response) {
mauthManager.getProfile(nuovo ProfileAscoltatore());} - Attrezzo suSuccessfor tuo ProfessionistafileAscoltatore.
suSuccesshas due compiti principali: recuperare il profile dati dal pacchetto di risposte e per passare i dati all'interfaccia utente. aggiornamentoProfiledati una funzione ipotetica che la tua app potrebbe implementare per visualizzare profile dettagli. setLoggedInState, un'altra funzione ipotetica, indicherebbe che un utente è connesso e darebbe loro un mezzo per disconnettersi.
Per recuperare il profile dati dal Bundle, utilizziamo i nomi memorizzati dal AuthzCostanti classe. Il suSuccess il pacchetto contiene il profile dati in un BUNDLE_KEY.PROFILE fascio.
All'interno del profile bundle, i dati dell'ambito sono indicizzati sotto PROFILE_NOME.CHIAVE, PROFILE_KEY.EMAIL, PROFILE_KEY.ID_UTENTE, E PROFILE_KEY.CODICE_POSTALE. PROFILE_KEY.CODICE_POSTALE è incluso solo se richiedi il Codice Postale ambito.@Oltrepassare
public void onSuccess (Bundle response) {
// Recupera i dati di cui abbiamo bisogno dal Bundle Bundle profilePacchetto = response.getBundle(
AuthzConstants.BUNDLE_KEY.PROFILE.val);
Nome stringa = profilePacchetto.getString(
AuthzConstants.PROFILE_NOME.CHIAVE.val);
Stringa email = profilePacchetto.getString(
AuthzConstants.PROFILE_KEY.EMAIL.val);
Conto stringa = profilePacchetto.getString(
AuthzConstants.PROFILE_KEY.USER_ID.val);
Codice postale stringa = profilePacchetto.getString(
AuthzConstants.PROFILE_CHIAVE.CODICE_POSTALE.val);
runOnUiThread (new Runnable () {@Override
public void run () {
aggiornamentoProfileDati (nome, email, account, codice postale);
}
});
} - Attrezzo suErrore per il tuo ProfessionistafileAscoltatore.
suErrore include un Errore di autenticazione oggetto contenente i dettagli sull'errore./* Si è verificato un errore durante il tentativo di ottenere il profile. */ @Oltrepassare
public void onError (AuthError ae) {
/ * Riprova o informa l'utente dell'errore * /
} - Attrezzo onErrorfor tuo Autorizza ascoltatore.
/ * Si è verificato un errore durante il tentativo di autorizzazione dell'applicazione.
*/
@Oltrepassare
public void onError (AuthError ae) {
/ * Informa l'utente dell'errore * /
} - Attrezzo suAnnullaper tuo Autorizza ascoltatore.
Poiché il processo di autorizzazione presenta una schermata di accesso (ed eventualmente una schermata di consenso) all'utente in a web browser (o a webview), l'utente avrà la possibilità di annullare il login o uscire dal web pagina. Se annullano esplicitamente il processo di accesso, suAnnulla è chiamato. Se suCancelis chiamato, dovrai reimpostare la tua interfaccia utente./ * L'autorizzazione è stata annullata prima che potesse essere completata. * /
@Oltrepassare
public void onCancel (Bundle cause) {
/ * ripristina l'interfaccia utente in uno stato pronto per il login * /
}Nota: Se l'utente esce dalla schermata di accesso nel browser o web view e torna alla tua app, l'SDK non rileverà che l'accesso non è stato completato. Se rilevi l'attività dell'utente nella tua app prima che l'accesso sia completato, puoi presumere che siano usciti dal browser e reagiscano di conseguenza.
Verificare l'accesso utente all'avvio
Se un utente accede alla tua app, la chiude e la riavvia in un secondo momento, l'app è comunque autorizzata a recuperare i dati. L'utente non viene disconnesso automaticamente. All'avvio, puoi mostrare l'utente come connesso se la tua app è ancora autorizzata. Questa sezione spiega come utilizzare getToken per vedere se l'app è ancora autorizzata.
- Crea un Ascoltatore di token.
Ascoltatore di token implementa il APIListener e elaborerà il risultato della chiamata getToken. APIListener contiene due metodi: suSuccess E suErrore (non supporta suAnnulla perché non è possibile annullare un file getToken chiamata). suSuccess riceve un oggetto Bundle con dati token, mentre suErrore riceve un Errore di autenticazione oggetto con informazioni sull'errore.la classe privata TokenListener implementa APIListener { / * getToken completato con successo. */ @Oltrepassare
public void onSuccess (Bundle response) {
}
/ * Si è verificato un errore durante il tentativo di ottenere il token. */ @Oltrepassare
public void onError (AuthError ae) {
}
} - Nel suStart metodo della tua attività, chiama getToken per vedere se l'applicazione è ancora autorizzata.
getToken recupera il token di accesso non elaborato che il Amazon Authorization Manager utilizza per accedere a un pro . clientefile. Se il valore del token non è nullo, l'app è ancora autorizzata e una chiamata a getProfile dovrebbe avere successo. getToken richiede gli stessi ambiti di cui hai chiesto l'autorizzazione nella chiamata.
getToken supporta chiamate asincrone allo stesso modo di getProfile, quindi non devi bloccare il thread dell'interfaccia utente o creare un thread di lavoro tutto tuo. Per chiamare getToken in modo asincrono, passa un oggetto che supporti il APIListener interfaccia come parametro finale.@Oltrepassare
protected void onStart () {
super.onStart
();mAuthManager.getToken(nuova stringa []{"profile","codice postale"},
nuovo
TokenListener ());
} - Attrezzo suSuccess per il tuo Ascoltatore di token.
suSuccesshas due attività: recuperare il token dal Bundle e, se il token è valido, chiamare getProfile.
Per recuperare i dati del token dal bundle, utilizziamo nomi archiviati da AuthzCostanti classe. Il suSuccess bundle contiene i dati del token in un valore BUNDLE_KEY.TOKEN. Se quel valore non è nullo, questo example chiamate getProfile utilizzando lo stesso listener che hai dichiarato nella sezione precedente (vedi i passaggi 7 e 8)./ * getToken completato con successo. * /
@Oltrepassare
public void onSuccess (Bundle response) {
stringa finale authzToken =
response.getString (AuthzConstants.BUNDLE_KEY.TOKEN.val);
if (! TextUtils.isEmpty (authzToken))
{
// Recupera il profile dati
mauthManager.getProfile(nuovo ProfileAscoltatore());
}
}
Il metodo clearAuthorizationState cancellerà i dati di autorizzazione dell'utente dall'archivio dati locale di AmazonAuthorizationManager. Un utente dovrà accedere nuovamente affinché l'app possa recuperare profile dati. Utilizzare questo metodo per disconnettere un utente o per risolvere i problemi di accesso nell'app.
- Implementa un logout
Quando un utente ha effettuato l'accesso con successo, dovresti fornire un meccanismo di logout in modo che possa cancellare il suo profilofile dati e ambiti preventivamente autorizzati. Il tuo meccanismo potrebbe essere un collegamento ipertestuale o una voce di menu. Per questo example creeremo un al clic metodo per un pulsante. - Nel tuo gestore di logout, chiama clearAutorizzazioneStato. clearAutorizzazioneStato rimuoverà i dati di autorizzazione di un utente (token di accesso, profile) dal negozio locale. clearAuthorizationStatetakes nessun parametro ad eccezione di un file APIListener per restituire il successo o
- Dichiara anonimo APIListener.
Le classi anonime sono un'utile alternativa alla dichiarazione di una nuova classe da implementare APIListener. Vedere Gestisci il pulsante di accesso e ottieni Profile Dati (p. 17) per un file examplecio dichiara le classi dell'ascoltatore. - Attrezzo suSuccess dentro il APIListener
Quando clearAutorizzazioneStato ha esito positivo è necessario aggiornare l'interfaccia utente per rimuovere i riferimenti all'utente e fornire un meccanismo di accesso che gli utenti possono utilizzare per accedere nuovamente. - Attrezzo suErrore dentro il APIListener.
If clearAutorizzazioneStatorestituisce un errore, puoi consentire all'utente di provare a disconnettersi di nuovo.@Oltrepassare
protetto void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
/ * Precedenti su Crea dichiarazioni omesse * /
// Trova il pulsante con l'ID di disconnessione e imposta un gestore dei clic
mLogoutButton = (Pulsante) trovaViewById(R.id.logout);
mLogoutButton.setOnClickListener (new OnClickListener () {
@Oltrepassare
vuoto pubblico al clic (View v) {
mAuthManager.clearAuthorizationState (new
APIListener () {
@Oltrepassare
public void onSuccess (Bundle results) {
// Imposta lo stato di disconnessione nell'interfaccia utente
}
@Oltrepassare
public void onError (AuthError authError) {
// Registra l'errore
}
});
}
});
}
Alcuni Amazon Authorization Manager i metodi restituiscono un oggetto Future. Ciò consente di chiamare il metodo in modo sincrono invece di passare un listener come parametro. Se usi un oggetto Future, non dovresti usarlo su un thread dell'interfaccia utente. Se blocchi un thread dell'interfaccia utente per più di cinque secondi, riceverai un prompt ANR (Application Not Responding). In Gestisci il pulsante di accesso e ottieni Profile Dati example, il suSuccess metodo per Autorizza ascoltatore viene chiamato con un thread di lavoro creato da Amazon Authorization Manager. Ciò significa che è sicuro usare quel thread per chiamare getPirofile in modo sincrono. Per effettuare una chiamata sincrona, assegnare il valore restituito da getPirofile a un oggetto Future e chiama il file metodo su quell'oggetto per attendere fino al completamento del metodo.
Futuro.get restituisce un oggetto Bundle che contiene un file TIPO_FUTURO valore di SUCCESSO, ERRORE, or CANCELLARE. Se il metodo ha avuto successo, lo stesso pacchetto conterrà PROFILEValori _KEY per il profile dati. Ad esempioampon:
| / * L'autorizzazione è stata completata con successo. * / @Oltrepassare public void onSuccess (Bundle response) { Futuro<Bundle> futuro = mauthManager.getProfile(nullo); Risultato del pacchetto = future.get();// Scopri se la chiamata è andata a buon fine e recupera il profile Oggetto future_type = result.get (AuthzConstants.BUNDLE_KEY.FUTURE.val); if (tipo_futuro == AuthzConstants.FUTURE_TYPE.SUCCESS) { Nome stringa = risultato.getString( AuthzConstants.PROFILE_NOME.CHIAVE.val); Stringa email = result.getString( AuthzConstants.PROFILE_KEY.EMAIL.val); Account stringa = risultato.getString( AuthzConstants.PROFILE_KEY.USER_ID.val); Codice postale stringa = result.getString( AuthzConstants.PROFILE_CHIAVE.CODICE_POSTALE.val); runOnUiThread (new Runnable () {@Override public void run() { updateProfileDati (nome, email, account, Cap); } }); } altrimenti if (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Ottieni oggetto errore AuthError authError = AuthError.extractError (risultato); / * Usa authError per diagnosticare l'errore * / } |
Accedi con Amazon Guida introduttiva per Android - Scarica [ottimizzato]
Accedi con Amazon Guida introduttiva per Android - Scaricamento



