Cunnette vi cù Amazon Guida introduttiva per Android
Cunnette vi cù Amazon: Guida introduttiva per Android
Copyright © 2016 Amazon.com, Inc., o i so affiliati. Tutti i diritti riservati. Amazon è u logu Amazon sò marche di Amazon.com, Inc. o di i so affiliati. Tutti l'altri marchi chì ùn sò micca di Amazon sò pruprietà di i so rispettivi pruprietari.
Principià per Android
In questa guida vi mostreremu cumu aghjunghje Login cù Amazon à a vostra app Android. Dopu avè cumplettatu sta guida duverete avè un Login di cunnessione cù u buttone Amazon in a vostra app per permette à l'utilizatori di cunnettassi cù e so credenziali Amazon.
Stallà i Strumenti di Sviluppatore Android
U login cun Amazon SDK per Android vi aiuterà à aghjunghje Login cù Amazon à a vostra applicazione Android. Ricumandemu di aduprà u Login cù Amazon SDK per Android da developer.amazon.com cù Android Studio. Pudete ancu aduprà ancu l'Eclissi cù u plugin ADT. Per i passi nantu à cumu installà Android Studio è per uttene u SDK Android configuratu, vedi Pigliate u SDK Android nantu à developer.android.com.
Quandu u SDK Android hè installatu, truvate u Manager SDK applicazione in a vostra installazione Android. Per sviluppà per Login cù Amazon, duvete aduprà u Manager SDK per installà a Piattaforma SDK per Android 2.2 o superiore (versione API 8). Vede Aggiunta di Pacchetti SDK nantu à developer.android.com per più infurmazione nantu à aduprà SDK
Dopu l'installazione di u SDK, configurate un Dispositiu Virtuale Android (AVD) per gestisce e vostre app. Vede Gestisce Dispositivi Virtuali nantu à developer.android.com per struzzioni nantu à a creazione di un dispositivu virtuale.
Quandu u vostru ambiente di sviluppu hè stallatu, pudete Installa u Login cù Amazon SDK per Android or Corri a Sampl'App, cum'è discrittu quì sottu.
Installa u Login cù Amazon SDK per Android
U login cun Amazon SDK per Android vene in dui pacchetti. U primu cuntene a biblioteca Android è a documentazione di supportu. U secondu cuntene cum'èampl'applicazione chì permette à un utilizatore di cunnettà si è mostra u so profile dati.
Se ùn avete micca installatu u SDK Android o l'Arnesi di Sviluppu Android, vedi u Installazione i Strumenti di Sviluppatore Android sezione sopra.
- Scaricate zip è estrae u files à un annuariu in u vostru discu duru.
Duvete vede un duc è a lib subdirectory. - Apertu doc / index.html à view u Login cun Amazon Android API
- Vede Installa u Login cù Amazon Library, per struzzioni nantu à cumu aghjunghje a biblioteca è a documentazione à un Android
Quandu u Login cun Amazon SDK per Android hè installatu, pudete Crea un Novu Login cù Amazon Prughjettu, dopu Registrazione cù Login cù Amazon .
Corri a Sampl'App
Per fà corre u sampl'applicazione, impurta u sampandate in un spaziu di travagliu AndroidStudio (se utilizate Eclipse, duvete ancu aghjunghje un magazzinu di chjave di debug persunalizatu in u spaziu di travagliu. Vede u Aghjunghje u Debug Persunale Keystore in Eclissi sezione sottu). A Chjave API chì u sampL'utilizazione di l'applicazione richiede u spaziu di travagliu per aduprà u magazzinu chjave chì vene cun u sample. Se u magazzinu chjave persunalizatu ùn hè micca installatu, l'utilizatori ùn puderanu micca accede à l'usu sample. U magazzinu di e chjave serà ripigliatu automaticamente se utilizate AndroidStudio.
- Scaricate SampleLoginWithAmazonAppForAndroid-src.zip è estrae u files à un annuariu nantu à u vostru hard
- Start Android Studio è selezziunate Apri un prughjettu Android Studio esistente
- Sfoglia à u SampleLoginWithAmazonApp annuariu uttenutu dopu l'estrazzione di u zip scaricatu file in u Passu
- Da u Custruì menu, cliccate Fate Prughjettu, è aspittà chì u prugettu
- Da u Corri menu, cliccate Corri è dopu cliccate SampleLoginWithAmazonApp.
- Selezziunate l'emulatore o dispositivu Android cunnessu è cliccate Corri.
Aghjunghjite u magazinu Chjave di Debug Persunale in Eclissi
Se utilizate Eclipse, seguitate e struzzioni quì sottu per aghjunghje u magazzinu chjave di debug persunalizatu:
- In u Preferenze dialogu, selezziunà Android è Custruì.
- Accantu à Custom Debug Keystore, cliccate Sfoglia.
- Navigate à u sample app directory è selezziunate 3p. Keystore, è dopu cliccate OK.
Registrazione cù Login cù Amazon
Prima di pudè aduprà Login cù Amazon nantu à a websitu o in una app mobile, duvete registrà una applicazione cù Login cù Amazon. U vostru login cù l'applicazione Amazon hè a registrazione chì cuntene infurmazioni basi nantu à a vostra attività, è infurmazioni nantu à ognunu websitu o app mobile chì create chì supporta u login cù Amazon. Questa infurmazione cummerciale hè visualizata à l'utilizatori ogni volta chì utilizanu Login cù Amazon in u vostru websitu o app mobile. L'utilizatori vedenu u nome di a vostra applicazione, u vostru logu, è un ligame per a vostra pulitica di privacy. Queste tappe dimostranu cumu registrà un Login cù l'applicazione Amazon è aghjunghje una app Android à quellu account.
Vede i seguenti temi:
- Registrate u vostru Connessione cù l'Applicazione Amazon
- Arregistrà A Vostra App Android
- Aghjunghjite una App Android per Amazon Appstore
- Aghjunghje una App Android Senza Appstore
- Firme App Android è Chjave API
- Determinazione di una Firma App Android
- Recuperazione di una Chjave API Android
Registrate u vostru Connessione cù l'Applicazione Amazon
- Andà à https://login.amazon.com.
- Se avete firmatu per Login cù Amazon prima, cliccate App Console. Altrimenti, cliccate Firma. Sarete ridirezziunatu à Seller Central, chì gestisce a registrazione di l'applicazione per l'Accessu cù Se questa hè a prima volta cù Seller Central, vi sarà dumandatu di configurà un account Seller Central.
- Cliccate Registrate una nova applicazione. U Registrate a vostra Applicazione Cumpariscerà a forma:
a. In u Registrate a vostra Applicazione forma, intrite a Nome è a Descrizzione per a vostra applicazione.
U Nome hè u nome affissatu nantu à a pantalla di accunsentu quandu l'utilizatori accettanu di sparte infurmazioni cù a vostra applicazione. Stu nome hè appiicatu à Android, iOS è webversioni di u situ di a vostra dumanda.
b. Entre a Avvisu di privacy URL per a vostra dumanda
U Avvisu di privacy URL hè a situazione di a politica di riservatezza di a vostra impresa o di l'applicazione (per esample, http://www.example.com/privacy.html). Stu ligame hè visualizatu à l'utilizatori nantu à a pantalla di accunsentu.
c. Se vulete aghjunghje a Logo Image per a vostra applicazione, cliccate Sfoglia è localizza l'imaghjini applicabili.
Stu logò hè visualizatu nantu à u screnu di cunnessione è d'accunsentu per raprisentà a vostra impresa o websitu. U logò serà riduttu à 50 pixel di altezza s'ellu hè più altu di 50 pixel; ùn ci hè limitazione per a larghezza di u logò - Cliccate Salvà. U vostru sampa registrazione deve esse simile à questu:
Dopu chì i vostri paràmetri di l'applicazione di basa sò salvati, pudete aghjunghje paràmetri per specifichi websiti è app mobile chì utilizeranu questu Login cun account Amazon.
Arregistrà A Vostra App Android
Per registrà una App Android, avete a scelta di registrà una app attraversu l'Appstore Amazon (Aghjunghjite una App Android per Amazon Appstore, p. 8) o direttamente cun Login cù Amazon (Aghjunghje un Android App Senza Appstore, p. 9). Quandu a vostra app hè registrata, averete accessu à una chjave API chì darà l'accessu à a vostra app à u login cù u serviziu d'autorizazione Amazon.
Nota: Se avete intenzione di aduprà Amazon Messaging Device in a vostra app Android, cuntattate lwa- support@amazon.com cun:
- L'indirizzu email di u contu Amazon chì avete usatu per iscrivevi per l'Accessu cù Amazon.
- L'indirizzu email di u contu Amazon chì avete usatu per iscrivevi in l'Appstore Amazon (se differente).
- U nome in u vostru contu Venditore Centrale. (In Seller Central, cliccate Impostazioni> Info Account> Informazioni Venditore, è aduprà u Nome di Visualizazione).
- U nome in u vostru contu di sviluppatore Amazon Appstore. (In u situ di Distribuzione App Mobile, cliccate Settings > Cumpagnia Profile è aduprà u Nome di Sviluppatore o Nome di Cumpagnia).
Aghjunghjite una App Android per Amazon Appstore
I passi chì seguitanu aghjunghjenu una app Amazon Appstore à u vostru Login cù u contu Amazon:
- Da u screnu Applicazioni, cliccate Settings Android. Se avete dighjà una app Android registrata, cercate u Aghjunghje Chjave API buttone in u Settings Android
U Dettagli di Applicazione Android Cumpariscerà a forma: - Selezziunà Iè in risposta à a dumanda "Questa applicazione hè distribuita attraversu l'Appstore Amazon?"
- Entre in Etichetta di a vostra App Android. Questu ùn deve micca esse u nome ufficiale di a vostra app. Identifica simpliciamente questa app Android particulare trà e app è websiti arregistrati in u vostru Connessione cù l'applicazione Amazon.
- Aghjunghjite u vostru ID Appstore Amazon.
- Se avete autofirmatu a vostra app, aghjustate infurmazioni d'autofirmazione. Questu vi permetterà di ottene una chjave API durante u sviluppu senza aduprà l'Appstore direttamente:
a. Se a vostra app ùn hè micca firmata attraversu l'Appstore Amazon, selezziunate Iè in risposta à a dumanda "Questa applicazione hè autofirmata?"
U Dettagli di Applicazione Android forma si espanderà:
b. Entre u vostru Nome di u pacchettu.
Questu deve currisponde à u nome di u pacchettu di u vostru prughjettu Android. Per determinà u nome di u pacchettu di u vostru Prughjettu Android, aprite u prugettu à a vostra scelta di strumentu di sviluppatore Android.
Apertu AndroidManifest.XML in Package Explorer è selezziunate u Manifestu tab. A prima entrata hè u nome Package.
c. Entre in l'app Firma.
Questu hè un valore hash SHA-256 adupratu per verificà a vostra applicazione. A firma deve esse in forma di 32 coppie esadecimali separate da i punti (per esampLe: 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). Vede Firme App Android è Chjave API per i passi chì pudete aduprà per estrarre a firma da u vostru prugettu. - Cliccate Salvà.
Se diverse versioni di a vostra app anu diverse firme o nomi di pacchetti, cume per una o più versioni di prova è una versione di produzione, ogni versione richiede a so Chjave API. Da u Settings Android di a vostra app, cliccate nantu à u Aghjunghje Chjave API buttone per creà chjavi addiziunali per a vostra app (una per versione).
Firme App Android è Chjave API
A firma di l'applicazione hè un valore hash SHA-256 chì hè applicatu à ogni app Android quandu hè custruita. Amazon usa a firma di l'app per custruisce a vostra Chjave API. A Chjave API permette à i servizii Amazon di ricunnosce a vostra app. Se utilizate l'Appstore Amazon per firmà a vostra app, a chjave API hè furnita automaticamente. Se ùn aduprate micca l'Appstore Amazon, duverete gestisce manualmente a vostra chjave API.
E firme di l'App sò memorizzate in un magazzinu di chiavi. Generalmente, per l'applicazioni Android ci hè un keystore di debug è un keystore di liberazione. U keystore di debug hè creatu da u plugin Android Tools Tools per Eclipse è hè adupratu per difettu. Pudete truvà a situazione di u keystore di debug in Eclipse clicchendu Finestra, è dopu selezziunate Preferenze> Android> Custruisce. Da quella schermu pudete ancu aghjunghje u vostru propiu keystore di debug. Per Android Studio, da u Custruì menu, selezziunà Modificà Tipi di Custruita, poi andate à u Firma tab, è truvate u magazzinu chjave di debug in u Store File campu.
Un magazzinu di chjave di liberazione hè nurmale creatu quandu esportate a vostra app Android per creà un APK firmatu file.
Attraversu u prucessu di esportazione, se state creando un novu magazzinu di chiavi di liberazione, selezziunate a so situazione. Di
predefinitu serà piazzatu in u listessu locu cum'è u vostru debug KeyStore predefinitu.
Se avete registratu a vostra app aduprendu a firma di debug durante u sviluppu, duverete aghjunghje un novu paràmetru Android à a vostra applicazione quandu site prontu à liberà l'app. A nova impostazione di l'applicazione deve aduprà a firma da u keystore di rilasciu.
Vede Firmà e Vostre Applicazioni nantu à developer.android.com per più infurmazione.
Determinate a Firma App Android
- Sì avete un APK firmatu file:
a. Scumpressate l'APK file è strattu CERT.RSA. (Pudete rinominà l'estensione APK in ZIP se necessariu).
b. Da a linea di cummanda, eseguite:keytool -printcert -file CERT.RSA Keytoolis situatu in u bin annuariu di a vostra installazione Java.
- Sì avete un magazzinu chjave file:
a. Da a linea di cummanda, eseguite:keytool -list -v -alias -chjostrufilenome> Keytool si trova in u cartulare bin di a vostra installazione Java. L'alias hè u nome di a chjave aduprata per firmà l'app.
b. Inserite a password per a chjave è premete Entre. - Sottu Impronte Digitali Certificate, copià u SHA256 valore.
Recupera a Chjave API di Android
Quandu avete registratu un paràmetru Android è furnitu una firma di app, pudete recuperà a chjave API da a pagina di registrazione per a vostra Connessione cù l'applicazione Amazon. Duvete mette quella chjave API in un file in u vostru prugettu Android. Finu à quandu, l'app ùn serà micca autorizata à cumunicà cù u login cù u serviziu d'autorizazione Amazon.
- Andà à https://login.amazon.com.
- Cliccate App Console.
- In u Applicazioni scatula à manca, selezziunate u vostru
- Truvate a vostra app Android sottu a Settings Android (Se ùn avete ancu registratu un'app Android, vedi Aghjunghjite una App Android per Amazon Appstore).
- Cliccate Generate u valore di chjave API. Una finestra popup mostrarà a vostra chjave API. Per cupià a chjave, cliccate Selezziunà tuttu per selezziunà l'inseme
Nota: U Valore Chjave API si basa, in parte, nantu à u tempu chì hè generatu. Cusì, u Valore (i) Chjave API sussegwenti chì generate pò differisce da l'uriginale. Pudete aduprà qualsiasi di questi Valori Chjave API in a vostra app perchè sò tutti validi. - Vede Aghjunghjite a Vostra Chjave API à u Vostru Prughjettu per struzzioni annantu à l'aggiunta di a chjave API à u vostru Android
Crià un Login cun Amazon Project
In questa sezione, amparerai à creà un novu prughjettu Android per Login cù Amazon, cunfigurà u prugettu, è aghjunghje codice à u prugettu per firmà un utilizatore cù Login with Amazon. Descriveremu i passi per Android Studio, ma pudete applicà passi analoghi à qualsiasi IDE o strumentu di sviluppu Android di a vostra scelta.
Vede i seguenti temi:
- Crea un Novu Login cù u Prughjettu Amazon
- Installa u Login cù Amazon Library
- Attivate Assistenza di Cuntenutu per l'Accessu cù Amazon Library
- Impostate Permessi di Rete per a Vostra App
- Aghjunghjite a Vostra Chjave API à u Vostru Prughjettu
- Elimina u Sampl'App Custom Debug Keystore
- Manighjà i Cambiamenti di Cunfigurazione per a Vostra Attività
- Aghjunghjite una Attività d'autorizazione à u vostru Prughjettu
- Aghjunghjite un Login cù u Buttone Amazon à a Vostra App
- Gestite u Buttone di Cunnessione è Get Profile Dati
- Verificate u login di l'Usuariu à u Startup
- Cancellà u Statu di Autorizazione è Scunnettà un Utente
- Chjamate Metodi di Amministratore di Autorizazione Amazon in Sincronia
Crea un Novu Login cù u Prughjettu Amazon
Se ùn avete micca ancu un prughjettu di app per aduprà Login cù Amazon, seguitate e istruzioni sottu per creà unu. Se avete una app esistente, saltate à Installa u Login cù Amazon Library .
- Lanciari Strumentu di Sviluppu Android.
- Da u File menu, selezziunà Novu è Prughjettu.
- Ingressu un Nome di l'applicazione è Nome di a cumpagnia per u vostru
- Entre in Applicazione è Nome di Cumpagnia currisponde à u nome di u pacchettu chì avete sceltu quandu avete registratu a vostra app cù Login cù Amazon.
Se ùn avete micca ancu registratu a vostra app, sceglite un Nome di u pacchettu e poi seguitate e istruzioni in u Registrazione cù Login cù Amazon sezione dopu avè creatu u vostru prugettu. Se u nome di u pacchettu di a vostra app ùn currisponde micca à u nome di u pacchettu registratu, u vostru Connessione cù e chjamate Amazon ùn riescerà micca. - Sceglite a SDK Minimu Richiestu di API 8: Android 2 (Froyo) o superiore, è cliccate Dopu.
- Sceglite u tippu di attività chì vulete creà è cliccate Dopu.
- Inserite i dettagli pertinenti è cliccate Finisci.
Avete avà un novu prughjettu in u vostru spaziu di travagliu chì pudete aduprà per chjamà Login cù Amazon.
Installa u Login cù Amazon Library
Se ùn avete ancu scaricatu l'Accessu cù Amazon SDK per Android, vedi Installa u Login cun Amazon SDK per Android (p. 4).
- Cù u vostru prugettu apertu in Strumenti di Sviluppatore Android, in Prughjettu Explorer, cliccate drittu nantu à u vostru Prughjettu.
- Se un cartulare chjamatu libs ùn hè micca dighjà prisente, crea
- Copia u login-cun-amazon-sdk.jar file da u File Sistema, è poi incollà lu in libs annuariu sottu u vostru prughjettu / app.
- Cliccate cù u dirittu login-cun-amazon-sdk.jar, è verificate u Aghjunghje As Library
Attivate Assistenza di Cuntenutu per l'Accessu cù Amazon Library in Eclipse
Per attivà u cuntenutu Eclipse assiste u supportu in un prughjettu Android richiede aduprà un .proprietà file. Per più infurmazione nantu à l'assistenza di cuntenutu, vede Cuntenutu / Codice Assist onhelp.eclipse.org.
Per attivà u cuntenutu Eclipse assiste u supportu in un prughjettu Android richiede aduprà un .proprietà file. Per più infurmazione nantu à l'assistenza di cuntenutu, vede Cuntenutu / Codice Assist onhelp.eclipse.org.
- In Windows Explorer, navigate à u documenti cartulare per l'Accessu cù Amazon SDK per Android è cupiate u cartulare in u
- Cù u vostru prugettu apertu, andate à Esploratore di pacchetti è selezziunate u libs Cliccate Edit da u menu principale è selezziunate Paste. Duvete avà avè un libs \ docs annuariu.
- Selezziunà u libs Cliccate File da u menu principale è selezziunate Novu èFile.
- In u Novu File dialogu, entre login-with-amazon-sdk.jar.properties è cliccate Finisci.
- L'eclissi deve apre login-with-amazon-sdk.jar.properties in l'editore di testu. In l'editore di testu, aghjunghje a seguente linea à u file:
doc = ducumenti - Da u File menu, cliccate Salvà.
- Puderete bisognu di riavviare Eclissi per chì i cambiamenti entrinu in vigore
Impostate Permessi di Rete per a Vostra App
Per chì a vostra app aduprassi u login cù Amazon, deve accede à Internet è accede à l'infurmazioni di u statu di rete. A vostra app deve affirmà questi permessi in u vostru manifestu Android, s'ellu ùn hè micca dighjà.
NOTA: I passi di a procedura sottu sò specifici per aghjunghje i permessi in Eclissi. Se utilizate Android Studio o un IDE diversu, pudete saltà tutti i passi numerati quì sottu. Invece, copiate e linee di codice visualizate sottu à u screenshot, è incollate in u AndroidManifest.xml file, fora di u blocu d'applicazione.
- In Pacchettu Explorer, cliccate doppiu xml.
- Nantu à u Permissions tab, cliccate Add.
- Selezziunà Utilizza Permissione è cliccate OK.
- À a diritta di Permissions, truvate u Attributi per Permessi di Usi
- In u Nome scatula, entre permessu. INTERNET o selezziunate da u listinu.
- Nantu à u Permissions tab, cliccate Add
- Selezziunà Utilizza Permissione è cliccate OK.
- In u Nome scatula, entre permessu.ACCESS_NETWORK_STATE o selezziunate da u listinu
- Da u File menu, cliccate Salvà.
I vostri permessi manifesti devenu avà avè i valori seguenti:
In u AndroidManifest.xml tab, duvete avà vede ste entrate sottu l'elementu manifestu:
Aghjunghjite a Vostra Chjave API à u Vostru Prughjettu
Quandu si registra a vostra applicazione Android cun Login cù Amazon, vi hè assignata una chjave API. Questu hè un identificatore chì u Amministratore di Autorizazione Amazon utilizerà per identificà a vostra applicazione à u login cù u serviziu d'autorizazione Amazon. Se utilizate l'Appstore Amazon per firmà a vostra app, l'Appstore furnisce a chjave API automaticamente. Se ùn utilizate micca l'Appstore Amazon, u Manager d'Autorizazione Amazon carica stu valore in runtime da u api_key.txt file in u beni annuariu.
- Se ùn avete micca ancu a vostra Chjave API, seguitate e istruzioni in Recupera a Chjave API di Android (p. 11).
- Cù u vostru prughjettu ADT apertu, da u File menu, cliccate Novu è selezziunate Testu Untitled File. Duvete avà avè una finestra di editore per un testu file chjamatu Sans titre 1. Aghjunghjite a vostra chjave API à u testu
- Da u File menu, cliccate Salvà cum'è.
- In u Salvà cum'è dialogu, selezziunate u beni annuariu di u vostru prugettu cum'è cartulare parente. Per File nomu, entre txt.
Elimina u Sampl'App Custom Debug Keystore
NOTA: Stu passu hè necessariu solu sè vo aduprate Eclissi; sè state aduprendu Android Studio, saltate sta sezione.
Se avete installatu u Login cù Amazon per Android sampl'applicazione in u stessu spaziu di travagliu chì utilizate per a vostra app Android, pudete avè un magazzinu di chjave di debug persunalizatu per u spaziu di travagliu. Avete bisognu di cancellà u magazzinu di chjave di debug persunalizatu per aduprà a vostra propria chjave API.
- Da u menu principale, cliccate Finestra è selezziunate Preferenze.
- In u Preferenze dialogu, selezziunà Android è Custruì.
- Pulisce u Custom debug keystore
- Cliccate OK.
Manighjà i Cambiamenti di Cunfigurazione per a Vostra Attività
Se un utilizatore cambia l'orientazione di u schermu o cambia u statu di a tastiera di u dispositivu mentre stanu accedendu, invierà un riavvio di l'attività attuale. Questa riavviazione scarterà a schermata di login inaspettatamente. Per prevene questu, duvete stabilisce l'attività chì utilizza u metudu di autorizazione per gestisce manualmente questi cambiamenti di cunfigurazione. Questu impedisce un ripartitu di l'attività.
- In Pacchettu Explorer, cliccate doppiu xml.
- In u Applicazione rùbbrica, localizza l'attività chì gestirà u login cù Amazon (per esample, Attività principale).
- Aghjunghjite l'attributu seguente à l'attività chì avete situatu in u Passu 2:
android: configChanges = "keyboard | keyboardHidden | orientation" O per API 13 o superiore:
android: configChanges = "keyboard | keyboardHidden | orientation | screenSize" - Da u File menu, cliccate Salvà
Avà, quandu un cambiamentu di orientazione di tastiera o di dispositivu accade, Android chjamerà u onConfigurationChanged metudu per a vostra attività. Ùn avete bisognu di implementà sta funzione à menu chì ci sia un aspettu di sti cambiamenti di cunfigurazione chì vulete gestisce per a vostra app
Quandu l'utente clicca u login cù u buttone Amazon, l'API lancerà un web navigatore per presentà una pagina di cunnessione è accunsentu à l'utente. Per chì questa attività di navigatore funziona, duvete aghjunghje l'AutorizazioneAttività à u vostru manifestu.
- In Pacchettu Explorer, cliccate doppiu xml.
- In u Applicazione rùbbrica, aghjunghje u codice chì seguita, rimpiazzendu "com.example.app "cù u vostru nome di pacchettu per questa app:
<attività android:name=
"Com.amazon.identity.auth.device.authorization.AuthorizationActivity" android: theme = "@ android: style / Theme.NoDisplay" android: allowTaskReparenting = "true" android: launchMode = "singleTask">
<action android:name="android.intent.action.VIEW” />
<dati
android: host = "com.example.app ”android: scheme =” amzn ”/>
a vostra app. Questa sezzione dà passi per scaricà un Login ufficiale cù a maghjina Amazon è l'abbinamentu cù un ImageButton Android.
- Aghjunghjite un ImageButton standard à a vostra app.
Per saperne di più infurmazioni nantu à i buttoni Android è a classa ImageButton, vedi Bottoni nantu à developer.android.com. - Dà u vostru buttone un id.
In a dichjarazione XML di u buttone, impostate l'attributu android: id à @ + id / login_with_amazon. Per esampLe:android: id = "@ + id / login_with_amazon" - Sceglite una maghjina di buttone.
Cunsultate u nostru Login cù Amazon Linee guida di Stile per una lista di buttoni chì pudete aduprà in a vostra app. Scaricate una copia di u LWA_Android.zip file. Estrae una copia di u vostru buttone preferitu per ogni densità di schermu chì a vostra app sustene (xxhdpi, xhdpi, hdpi, mdpi, o tvdpi). Per saperne di più infurmazioni nantu à u sustegnu di più densità di schermi in Android, vede Disposizioni Alternativi in l'argumentu "Supporting Multiple Screens" ondeveloper.android.com. - Copia l'imaghjina di u buttone adattatu files à u vostru prughjettu.
Per ogni densità di schermu chì supportate (xhdpi, hdpi, mdpi, o ldpi), copiate u buttone scaricatu in u res / disegnabile cartulare per quella densità di schermu. - Dichjarate l'imagine di u buttone.
In a dichjarazione XML di u buttone, impostate l'attributu android: src à u nome di u buttone chì avete sceltu. Per esampLe:android: src = "@ drawable / btnlwa_gold_loginwithamazon.png" 6. Caricate a vostra app, è verificate chì u buttone abbia avà un Login cun maghjina Amazon. Duvete verificà chì u buttone si visualizza currettamente per ogni densità di schermu chì supportate.
Questa sezione spiega cumu chjamà l'autorizà è getProfile API per accede à un utilizatore è recuperà u so profile dati. Ciò include a creazione di un ascoltatore onClick per u vostru Login cù u buttone Amazon in u metudu onCreate di a vostra app.
- Aghjunghje Login cù Amazon à u vostru prugettu Android. Vede Installa u Login cù Amazon Library .
- Impurtate u Login cù Amazon API à a vostra surghjente
Per impurtà l'Accessu cù Amazon API, aghjunghje e seguenti dichjarazioni d'impurtazione à a vostra surghjente file:impurtà com.amazon.identity.auth.device.AuthError; impurtazione
com.amazon.identity.auth.device.authorization.api.
AmazonAuthorizationManager; impurtazione
com.amazon.identity.auth.device.authorization.api. AuthorizationListener; import com.amazon.identity.auth.device.authorization.api.AuthzConstants; - Inizializà Amazon Authorization Manager.
Duvete dichjarà un Amazon Authorization Manager variabile è crea una nova istanza di a classe. A creazione di una nova istanza richiede solu u cuntestu di l'applicazione attuale è un pacchettu viotu. U megliu postu per inizializà Amazon Authorization Manager hè in u onCreate metudu di a vostra Attività. Per esampLe: - Crea un AuthorizeLiistener.
AuthorizeListener implementa l'interfaccia AuthorizatioinListener, è trasformerà u risultatu di u auturizecall. Contene trè metudi: oinSuccess, onErrore, è onCanceil. Ogni metudu riceve o un Bundle o un AuthError ughjettu.classe privata AuthorizeListener implementa AuthorizationListener {
/ * L'auturizazione hè stata cumpletata cù successu. * /
@Corse_Matin
annullamentu publicu nantu à u Successu (Risposta bundle) {
}
/ * Ci hè statu un errore durante a prova di autorizà l'applicazione.
*/
@Corse_Matin
public void onError (AuthError ae) {
}
/ * L'autorizazione hè stata annullata prima ch'ella sia cumpletata. * /
@Corse_Matin
annullamentu publicu annullatu (causa Bundle) {
}
} - Chjama AmazonAuthorizationManager.authorize.
In u onClick gestore per u vostru Login cù u buttone Amazon, chjamate autorizà per invità l'utente à accede è autorizà a vostra applicazione.
Stu metudu hè incaricatu di autorizà u cliente in unu di i modi seguenti:- Passa à u navigatore di u sistema è permette à u cliente di accede è accunsente à a richiesta
- Cambia à web view in un cuntestu sicuru, per lascià u cliente firmà è accunsentisce à a richiesta
Stu cuntestu sicuru per # 2 hè attualmente messu à dispusizione cum'è l'app Amazon Shopping in i dispositivi Android. Dispositivi creati da Amazon cù Fire OS (per esempiuample Kindle Fire, Fire Phone, è Fire TV) utilizanu sempre questa opzione ancu s'ellu ùn hè micca una app Amazon Shopping in u dispositivu. Per via di questu, se u cliente hè dighjà firmatu in l'app Amazon Shopping, questa API salterà a pagina di cunnessione, cunducendu à un Single Sign On sperienza per u cliente.
Quandu a vostra applicazione hè autorizata, hè autorizata per unu o più inseme di dati chjamati scoppi. U primu paràmetru hè una serie di scopi chì abbraccianu i dati di l'utente chì state dumandendu da Login cù Amazon. A prima volta chì un utilizatore accede à a vostra app, saranu presentati cun un elencu di i dati chì state dumandendu è dumandatu l'approvazione. U login cun Amazon supporta attualmente trè scopi: profile, chì cuntene u nome di l'utilizatore, l'indirizzu email è l'identità di u contu Amazon; profile: user_id, chì cuntene solu l'ID di contu Amazon; è Codice pustale, chì cuntene u codice postale / codice postale di l'utilizatore.
U megliu modu per chjamà autorizà hè in modu asincrunu, dunque ùn avete micca da bluccà u filu UI o creà un filu di u vostru travagliu. Per chjamà auturizati in modu sincrunu, passà un ughjettu chì sustene u AutorizazioneListenerinterface cum'è l'ultimu parametru:privatu AmazonAuthorizationManager mAuthManager; @Corse_Matin
prutettu void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
mAuthManager = novu AmazonAuthorizationManager (questu, Bundle.EMPTY);// Truvate u buttone cù u login_with_amazon ID
// è crea un gestore di cliccà
mLoginButton = (Button) truvàViewById (R.id.login_with_amazon);
mLoginButton.setOnClickListener (novu OnClickListener () {
@Corse_Matin
void publicu nantu à Cliccate (View v) {
mAuthManager.authorize (
nova String [] {«profile","Codice postale"},
Bundle.EMPTY, novu AuthorizeListener ());
}
});
} - Crea a ProfileAscultore.
ProfileAscoltatore hè u nostru nome per una classe chì implementa u APIlister interfaccia, è trasformerà u risultatu di u getProfile chjama. APIlister cuntene dui metudi: onSuccessu è onError (ùn sustene micca annullà perchè ùn ci hè manera di annullà a getProfile chjamà). onSuccessu riceve un oggettu Bundle cù profile dati, mentre onError riceve un AuthError oghjettu cù infurmazioni nantu à l'errore.classe privata ProfileListener implementa APIListener { / * getProfile compie cù successu. * / @Override
annullamentu publicu nantu à u Successu (Risposta bundle) {}
/ * Ci hè statu un errore durante u tentativu di uttene u profile. * / @Override
public void onError (AuthError ae) {
}
} - Implementa onSuccessu per u vostru AuthorizeListener.
In onSuccessu, chjama AmazonAuthorizationManager.getProfile per recuperà u cliente profile. getProfile, cum'è autorizà, utilizza un'interfaccia di ascoltatore asincrona. Per getProfile, quella interfaccia hè APIListener, micca AuthorizationListener.
/ * L'auturizazione hè stata cumpletata cù successu. * / @Override
annullamentu publicu nantu à u Successu (Risposta bundle) {
mAuthManager.getProfile(novu ProfileListener ());} - Implementa onSuccorsu per u vostru ProfileAscultore.
nantuSuccessu dui compiti principali: per recuperà u profile dati da u Bundle di risposta, è per trasmette i dati à l'UI. updateProfileDati una funzione ipotetica chì a vostra app puderia implementà per visualizà profile dettagli. setLoggedInState, un'altra funzione ipotetica, indicherebbe chì un utilizatore hè loguatu è li dà un mezu di logout.
Per recuperà u profile dati da u Bundle, usamu nomi almacenati da u AuthzConstanti classa. U onSuccessu fasciu cuntene u profile dati in un BUNDLE_KEY.PROFILE fasciu.
Dentru u profile bundle, i dati di u scopu sò indicizzati sottu PROFILE_KEY.NAME, PROFILE_KEY.EMAIL, PROFILE_KEY.USER_ID, è PROFILE_KEY.POSTAL_CODE. PROFILE_KEY.POSTAL_CODE hè inclusu solu sè dumandate u codice postale scopu.@Corse_Matin
annullamentu publicu nantu à u Successu (Risposta bundle) {
// Recupera i dati chì avemu bisognu da u Bundle Bundle profileBundle = response.getBundle (
AuthzConstants.BUNDLE_KEY.PROFILE.val);
String name = profileBundle.getString (
AuthzConstants.PROFILE_KEY.NAME.val);
String email = profileBundle.getString (
AuthzConstants.PROFILE_KEY.EMAIL.val);
String account = profileBundle.getString (
AuthzConstants.PROFILE_KEY.USER_ID.val);
String zipcode = profileBundle.getString (
AuthzConstants.PROFILE_KEY.POSTAL_CODE.val);
runOnUiThread (novu Runnable () {@Override
public void run () {
updateProfileDati (nome, email, contu, codice postale);
}
});
} - Implementa onError per u vostru ProfileAscultore.
onError include un AuthError oggettu chì cuntene dettagli nantu à l'errore./ * Ci hè statu un errore durante u tentativu di uttene u profile. * / @Override
public void onError (AuthError ae) {
/ * Ripetite o informate l'utilizatore di l'errore * /
} - Implementa onErrorfor u vostru AuthorizeListener.
/ * Ci hè statu un errore durante a prova di autorizà l'applicazione.
*/
@Corse_Matin
public void onError (AuthError ae) {
/ * Informà l'utilizatore di l'errore * /
} - Implementa nantu àCancelfor u vostru AuthorizeListener.
Perchè u prucessu d'autorizazione presenta una schermata di login (è forse una schermata di accunsentu) à l'utente in a web navigatore (o un webview), l'utilizatore avarà l'uppurtunità di annullà u login o navigà luntanu da u web pagina. Se cancellanu esplicitamente u prucessu di login, annullà hè chjamatu. Sì nantuCancelis chjamatu, vularete resettà a vostra UI./ * L'autorizazione hè stata annullata prima ch'ella sia cumpletata. * /
@Corse_Matin
annullamentu publicu annullatu (causa Bundle) {
/ * resettate l'UI à un statu prontu à accede * /
}Nota: Se l'utente naviga luntanu da a schermata di login in u navigatore o web view è torna à a vostra app, u SDK ùn rilevarà micca chì u login ùn sia micca compiu. Se rilevate l'attività di l'utente in a vostra app prima chì u login sia cumpletatu, pudete suppone chì anu navigatu luntanu da u navigatore è reagisce in stu modu.
Verificate u login di l'Usuariu à u Startup
Se un utilizatore accede à a vostra app, chjude l'app, è riavvia l'applicazione dopu, l'applicazione hè sempre autorizata à recuperà dati. L'utilizatore ùn hè micca disconnettu automaticamente. À l'iniziu, pudete mostrà l'utilizatore cum'è cunnessu se a vostra app hè sempre autorizata. Questa sezione spiega cumu aduprà getToken per vede se l'app hè sempre autorizata.
- Crea a TokenListener.
TokenListener implementa u APIlister interfaccia, è processerà u risultatu di a chjamata getToken. APIlister cuntene dui metudi: onSuccessu è onError (ùn sustene micca annullà perchè ùn ci hè manera di annullà a getToken chjamà). onSuccessu riceve un oggettu Bundle cù dati token, mentre onError riceve un AuthError oghjettu cù infurmazioni nantu à l'errore.classe privata TokenListener implementa APIListener { / * getToken finitu cù successu. * / @Override
annullamentu publicu nantu à u Successu (Risposta bundle) {
}
/ * Ci hè statu un errore durante u tentativu di uttene u gettone. * / @Override
public void onError (AuthError ae) {
}
} - In u Principià metudu di a vostra Attività, chjamate getToken per vede se l'applicazione hè sempre autorizata.
getToken recupera u gettone d'accessu grezzu chì u Amazon Authorization Manager utilizza per accede à un cliente profile. Se u valore di gettone ùn hè null, allora l'applicazione hè sempre autorizata è una chjamata à getProfile duverebbe riesce. getToken richiede i listessi scopi chì avete dumandatu in a vostra chjamata per autorizà.
getToken supporta chjamate asincrone in u listessu modu cum'è getProfile, dunque ùn avete micca da bluccà u filu UI o creà un filu di u vostru travagliu. Per chjamà getToken in modu asincrone, passate un oggettu chì supporta u APIlister interfaccia cum'è u paràmetru finali.@Corse_Matin
void prutettu onStart () {
super.onStart
(); mAuthManager.getToken (nova String [] {«profile","Codice postale"},
novu
TokenListener ());
} - Implementa onSuccessu per u vostru TokenListener.
nantuSuccessu dui compiti: per recuperà u gettone da u Bundle, è se u gettone hè validu, chjamà getProfile.
Per recuperà i dati di token da u Bundle, usamu nomi memorizzati da u AuthzConstanti classa. U onSuccessu bundle cuntene i dati token in un valore BUNDLE_KEY.TOKEN. Sì quellu valore ùn hè nullu, questu esample chjama getProfile aduprendu u listessu ascoltatore chì avete dichjaratu in a sezione precedente (vede i passi 7 è 8)./ * getToken finitu cù successu. * /
@Corse_Matin
annullamentu publicu nantu à u Successu (Risposta bundle) {
String finale authzToken =
response.getString (AuthzConstants.BUNDLE_KEY.TOKEN.val);
if (! TextUtils.isEmpty (authzToken))
{
// Recuperate u profile dati
mAuthManager.getProfile(novu ProfileListener ());
}
}
U metudu clearAuthorizationState cancellerà i dati di autorizazione di l'utente da u magazinu di dati locali AmazonAuthorizationManager. Un utilizatore duverà cunnettassi dinò per chì l'applicazione recuperi profile dati. Aduprate stu metudu per disconnettà un utilizatore, o per risolve i prublemi di login in l'app.
- Implementà una disconnessione
Quandu un utilizatore hà cunnisciutu l'accessu, duvete furnisce un mecanismu di disconnessione per pudè cancellà u so profile dati è scopi previamente autorizati. U vostru meccanisimu pò esse un hyperlink, o una voce di menu. Per questu example creeremu un onClick metudu per un buttone. - In u vostru gestore di logout, chjamate Clear AuthorizationState. Clear AuthorizationState eliminerà i dati di autorizazione di un utilizatore (gettoni d'accessu, profile) da u magazinu lucale. clearAuthorizationState piglia nisun parametru eccettu per un APIlister per rinvià u successu o
- Dichjarate anonimu APIlister.
E classi anonime sò una alternativa utile per dichjarà una nova classe da implementà APIlister. Vede Gestite u Buttone di Cunnessione è Get Profile Dati (p. 17) per un exampchì dichiara classi di ascoltatore. - Implementa onSuccessu dentru APIlister
Quandu clearAuthorizationState riesce duvete aghjurnà a vostra UI per eliminà e referenze à l'utilizatore, è furnisce un mecanismu di login chì l'utilizatori ponu aduprà per accede dinò. - Implementa onError dentru APIlister.
If clearAuthorizationStatereturns un errore, pudete lascià l'utilizatore pruvà di disconnettassi dinò.@Corse_Matin
prutettu void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
/ * Precedente onCreate dichjarazioni omesse * /
// Truvate u buttone cù l'ID di logout è configurate un gestore di cliccà
mLogoutButton = (Button) truvàViewById (R.id.logout);
mLogoutButton.setOnClickListener (novu OnClickListener () {
@Corse_Matin
void publicu nantu à Cliccate (View v) {
mAuthManager.clearAuthorizationState (novu
APIListener () {
@Corse_Matin
annullamentu publicu nantu à u Successu (risultati Bundle) {
// Impostà u statu disconnessu in UI
}
@Corse_Matin
public void onError (AuthError authError) {
// Registrà l'errore
}
});
}
});
}
Certi Amazon Authorization Manager i metudi tornanu un ogettu Futuru. Questu permette di chjamà u metudu in modu sincrunu invece di passà un ascoltatore cum'è parametru. Se utilizate un ughjettu Future, ùn avete micca aduprà nantu à un filu UI. Se bloccate un thread UI per più di cinque secondi, uttene un prompt ANR (Applicazione chì ùn risponde micca). In u Manicu u Buttone di Cunnessione è Get Profile Dati esample, u onSuccessu metudu per AuthorizeListener hè chjamatu cù un filu di u travagliu creatu da Amazon Authorization Manager. Questu significa chì hè sicuru d'utilizà stu filu per chjamà getPirofile di manera sincrona. Per fà una chjamata sincrona, assignate u valore di ritornu da getPirofile à un ughjettu Futuru, è chjamate u gietmetudu nantu à questu oggettu d'aspittà finu à chì u metudu compie.
futuru.get restituisce un oggettu Bundle chì cuntene un FUTURE_TYPE valore di SUCCESSU, ERRORE, or ANNULLA. Se u metudu hè statu un successu, u listessu fasciu cuntene PROFILEValori _KEY per u profile dati. Per esampLe:
/ * L'auturizazione hè stata cumpletata cù successu. * / @Corse_Matin annullamentu publicu nantu à u Successu (Risposta bundle) { Futuru <Bundle> futuru = mAuthManager.getProfile(null); Bundle result = future.get (); // Scuprite se a chjamata hà successu, è recuperate u prufessiunalefile Ughjettu future_type = result.get (AuthzConstants.BUNDLE_KEY.FUTURE.val); if (future_type == AuthzConstants.FUTURE_TYPE.SUCCESS) { String name = result.getString (AuthzConstants.PROFILE_KEY.NAME.val); String email = result.getString (AuthzConstants.PROFILE_KEY.EMAIL.val); String account = result.getString (AuthzConstants.PROFILE_KEY.USER_ID.val); String zipcode = result.getString (AuthzConstants.PROFILE_KEY.POSTAL_CODE.val); runOnUiThread (novu Runnable () {@Override public void run () {updateProfileDati (nome, email, contu, Codice postale); } }); } altru sì (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Uttene ughjettu di errore AuthError authError = AuthError.extractError (risultatu); / * Aduprà authError per diagnosticà l'errore * / } |
Cunnettatevi cù Amazon Guida introduttiva per Android - Scaricate [ottimizatu]
Cunnettatevi cù Amazon Guida introduttiva per Android - Scaricate