Conectați-vă cu Ghidul introductiv Amazon pentru Android

Conectați-vă cu Amazon: Ghid introductiv pentru Android
Drepturi de autor © 2016 Amazon.com, Inc. sau afiliații săi. Toate drepturile rezervate. Amazon și sigla Amazon sunt mărci comerciale ale Amazon.com, Inc. sau ale afiliaților săi. Toate celelalte mărci comerciale care nu sunt deținute de Amazon sunt proprietatea proprietarilor respectivi.
Noțiuni introductive pentru Android
În acest ghid vă vom arăta cum să adăugați autentificarea cu Amazon în aplicația dvs. Android. După finalizarea acestui ghid, ar trebui să aveți un buton de conectare funcțional cu Amazon în aplicația dvs. pentru a permite utilizatorilor să se conecteze cu acreditările lor Amazon.
Instalarea instrumentelor pentru dezvoltatori Android
Conectarea cu Amazon SDK pentru Android vă va ajuta să adăugați Conectare cu Amazon la aplicația dvs. Android. Vă recomandăm să utilizați Conectarea cu Amazon SDK pentru Android de la developer.amazon.com cu Android Studio. Cu toate acestea, puteți utiliza și pluginul Eclipse cu ADT. Pentru pași despre cum să instalați Android Studio și despre configurarea setului SDK Android, consultați Obțineți setul SDK pentru Android pe developer.android.com.
Când este instalat SDK-ul Android, găsiți fișierul Manager SDK aplicație în instalarea dvs. Android. Pentru a vă dezvolta pentru autentificare cu Amazon, trebuie să utilizați SDK Manager pentru a instala platforma SDK pentru Android 2.2 sau o versiune ulterioară (API versiunea 8). Vedea Adăugarea pachetelor SDK pe developer.android.com pentru mai multe informații despre utilizarea SDK
După instalarea SDK-ului, configurați un dispozitiv virtual Android (AVD) pentru a vă rula aplicațiile. Vedea Gestionarea Dispozitive virtuale pe developer.android.com pentru instrucțiuni despre configurarea unui dispozitiv virtual.
Când mediul dvs. de dezvoltare este configurat, puteți Instalați autentificarea cu Amazon SDK pentru Android or Rulați Sample App, așa cum este descris mai jos.
Instalați autentificarea cu Amazon SDK pentru Android
Conectarea cu Amazon SDK pentru Android vine în două pachete. Primul conține biblioteca Android și documentația de susținere. Al doilea conține caampaplicația care permite utilizatorului să se conecteze și să afișeze profesioniștii săifile date.
Dacă nu ați instalat deja SDK-ul Android sau Instrumentele de dezvoltare Android, consultați Instalare Instrumentele pentru dezvoltatori Android secțiunea de mai sus.
- Descărcați fermoar și extrageți files către un director de pe hard disk.
Ar trebui să vezi o doc si a lib subdirectorul. - Deschide doc / index.html la view API-ul Conectare cu Amazon Android
- Vedea Instalați autentificarea cu biblioteca Amazon, pentru instrucțiuni despre cum să adăugați biblioteca și documentația la un Android
Când este instalat Conectarea cu Amazon SDK pentru Android, puteți Creați o nouă autentificare cu Amazon Proiect, după Înregistrare cu Conectare la Amazon .
Rulați Sample App
Pentru a rula sampaplicația, importați sample într-un spațiu de lucru AndroidStudio (dacă utilizați Eclipse, trebuie să adăugați și un depozit de chei de depanare personalizat în spațiul de lucru. Consultați Adăugați depanarea personalizată Keystore în Eclipse secțiunea de mai jos). Cheia API pe care sampUtilizarea aplicației necesită ca spațiul de lucru să utilizeze depozitul de chei livrat cu sample. Dacă depozitul de chei personalizat nu este instalat, utilizatorii nu vor putea să se conecteze folosind sample. Magazinul de chei va fi preluat automat dacă utilizați AndroidStudio.
- Descărcați SampleLoginWithAmazonAppForAndroid-src.zip și extrageți files la un director de pe hard
- Porniți Android Studio și selectați Deschideți un proiect Android Studio existent
- Navigați la SampleLoginWithAmazonApp director obținut după extragerea zip-ului descărcat file în Pas
- De la Construi meniu, faceți clic Faceți proiect, și așteptați ca proiectul să înceapă
- De la Fugi meniu, faceți clic Fugi și apoi faceți clic pe SampleLoginWithAmazonApp.
- Selectați emulatorul sau dispozitivul Android conectat și faceți clic pe Fugi.
Adăugați magazinul de chei de depanare personalizate în Eclipse
Dacă utilizați Eclipse, urmați instrucțiunile de mai jos pentru a adăuga depozitul de chei de depanare personalizat:
- În Preferințe dialog, selectați Android şi Construi.
- Chiar lângă Personalizat Depanare Keystore, faceți clic Răsfoiește.
- Navigați la sampdin directorul aplicației și selectați 3p.keystore, apoi faceți clic OK.
Înregistrare cu Conectare la Amazon
Înainte de a putea utiliza Conectarea cu Amazon pe un webpe site sau într-o aplicație mobilă, trebuie să înregistrați o aplicație cu Login with Amazon. Aplicația dvs. Conectare cu Amazon este înregistrarea care conține informații de bază despre afacerea dvs. și informații despre fiecare website-ul sau aplicația mobilă pe care o creați și care acceptă Conectarea cu Amazon. Aceste informații comerciale sunt afișate utilizatorilor de fiecare dată când folosesc Login with Amazon pe dvs website sau aplicație mobilă. Utilizatorii vor vedea numele aplicației dvs., sigla dvs. și un link către politica dvs. de confidențialitate. Acești pași demonstrează cum să înregistrați o autentificare cu aplicația Amazon și să adăugați o aplicație Android la acel cont.
Consultați următoarele subiecte:
- Înregistrați-vă autentificarea cu aplicația Amazon
- Înregistrați-vă aplicația Android
- Adăugați o aplicație Android pentru Amazon Appstore
- Adăugați o aplicație Android fără Appstore
- Semnături de aplicații Android și chei API
- Determinarea unei semnături a aplicației Android
- Preluarea unei chei API Android
Înregistrați-vă autentificarea cu aplicația Amazon
- Du-te la https://login.amazon.com.
- Dacă v-ați înscris la Login cu Amazon înainte, faceți clic pe Consola de aplicații. În caz contrar, dați clic Înscrieți-vă. Veți fi redirecționat către Seller Central, care gestionează înregistrarea aplicației pentru Conectare. Dacă este prima dată când utilizați Seller Central, vi se va solicita să configurați un cont Seller Central.
- Clic Înregistrați aplicația nouă. The Înregistrați-vă aplicația formularul va apărea:
a. În Înregistrați-vă aplicația formular, introduceți un Nume si a Descriere pentru aplicația dvs.
The Nume este numele afișat pe ecranul de consimțământ atunci când utilizatorii sunt de acord să partajeze informații cu aplicația dvs. Acest nume se aplică pentru Android, iOS și webversiunile site-ului aplicației dvs.
b. Introduceți a Notificare de confidențialitate URL pentru cererea dvs.
The Notificare de confidențialitate URL este locația politicii de confidențialitate a companiei sau a aplicației dvs. (de example, http://www.example.com/privacy.html). Acest link este afișat utilizatorilor pe ecranul de consimțământ.
c. Dacă doriți să adăugați un Imagine de siglă pentru aplicația dvs., faceți clic Răsfoiește și localizați imaginea aplicabilă.
Această siglă este afișată pe ecranul de conectare și consimțământ pentru a vă reprezenta compania sau website. Logo-ul va fi micșorat la 50 de pixeli înălțime dacă este mai înalt de 50 de pixeli; nu există nicio limitare a lățimii siglei - Clic Salva. s. dvsampÎnregistrarea fișierului ar trebui să arate similar cu acesta:

După ce setările de bază ale aplicației sunt salvate, puteți adăuga setări pentru anumite website-urile și aplicațiile mobile care vor utiliza această autentificare cu contul Amazon.
Înregistrați-vă aplicația Android
Pentru a înregistra o aplicație Android, aveți posibilitatea de a înregistra o aplicație prin Amazon Appstore (Adăugați o aplicație Android pentru Amazon Appstore, p. 8) sau direct cu Conectare cu Amazon (Adăugați un Android Aplicație fără Appstore, p. 9). Când aplicația dvs. este înregistrată, veți avea acces la o cheie API care vă va permite accesul aplicației la serviciul de autentificare Amazon cu Amazon.
Nota: Dacă intenționați să utilizați mesageria dispozitivului Amazon în aplicația dvs. Android, vă rugăm să contactați lwa- support@amazon.com cu:
- Adresa de e-mail a contului Amazon pe care l-ați utilizat pentru a vă înscrie la Conectare cu Amazon.
- Adresa de e-mail a contului Amazon pe care l-ați utilizat pentru a vă înscrie la Amazon Appstore (dacă este diferit).
- Numele din contul dvs. Seller Central. (În Seller Central, faceți clic pe Setări> Informații despre cont> Informații despre vânzător, și folosiți Numele de afișare).
- Numele din contul dvs. de dezvoltator Amazon Appstore. (Pe site-ul de distribuire a aplicațiilor mobile, faceți clic pe Setări > Companie Profile și folosiți Numele dezvoltatorului sau numele companiei).
Adăugați o aplicație Android pentru Amazon Appstore
Următorii pași vor adăuga o aplicație Amazon Appstore la contul dvs. de autentificare cu Amazon:
- Din ecranul Aplicație, faceți clic Setări Android. Dacă aveți deja o aplicație Android înregistrată, căutați Adăugați o cheie API butonul din Setări Android
The Detalii despre aplicația Android formularul va apărea: - Selecta Da ca răspuns la întrebarea „Această aplicație este distribuită prin Amazon Appstore?”
- Introduceți Eticheta din aplicația dvs. Android. Acesta nu trebuie să fie numele oficial al aplicației dvs. Pur și simplu identifică această aplicație specială Android printre aplicații și website-uri înregistrate la Conectarea dvs. cu aplicația Amazon.
- Adăugați-vă ID-ul magazinului Amazon App.
- Dacă v-ați autosemnat aplicația, adăugați informații de autosemnare. Acest lucru vă va permite să obțineți o cheie API în timpul dezvoltării fără a utiliza Appstore direct:
a. Dacă aplicația dvs. nu este semnată prin Amazon Appstore, selectați Da ca răspuns la întrebarea „Este această aplicație autosemnată?”
The Detalii despre aplicația Android formularul se va extinde:

b. Introduceți dvs Numele pachetului.
Aceasta trebuie să se potrivească cu numele pachetului proiectului dvs. Android. Pentru a determina numele pachetului proiectului dvs. Android, deschideți proiectul în instrumentul pentru dezvoltatori Android.
Deschide AndroidManifest.XML în Package Explorer și selectați Manifesta filă. Prima intrare este numele pachetului.
c. Accesați aplicația Semnătura.
Aceasta este o valoare hash SHA-256 utilizată pentru a vă verifica aplicația. Semnătura trebuie să aibă forma a 32 de perechi hexazecimale separate prin două puncte (de examppe: 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). Vedea Semnături de aplicații Android și chei API pentru pașii pe care îi puteți folosi pentru a extrage semnătura din proiect. - Clic Salva.
Dacă diferite versiuni ale aplicației dvs. au semnături sau nume de pachete diferite, cum ar fi pentru una sau mai multe versiuni de testare și o versiune de producție, fiecare versiune necesită propria sa cheie API. De la Setări Android din aplicația dvs., faceți clic pe Adăugați o cheie API butonul pentru a crea chei suplimentare pentru aplicația dvs. (una pentru fiecare versiune).
Semnături de aplicații Android și chei API
Semnătura aplicației este o valoare hash SHA-256 care se aplică fiecărei aplicații Android atunci când este construită. Amazon folosește semnătura aplicației pentru a vă construi cheia API. Cheia API permite serviciilor Amazon să vă recunoască aplicația. Dacă utilizați Amazon Appstore pentru a vă semna aplicația, cheia API este furnizată automat. Dacă nu utilizați Amazon Appstore, va trebui să vă gestionați manual cheia API.
Semnăturile aplicației sunt stocate într-un depozit de chei. În general, pentru aplicațiile Android există un depozit de chei de depanare și un depozit de chei de lansare. Magazinul de chei de depanare este creat de pluginul Android Development Tools pentru Eclipse și este utilizat în mod implicit. Puteți găsi locația depozitului de chei de depanare în Eclipse făcând clic pe Fereastră, apoi selectând Preferințe> Android> Build. Din acel ecran puteți adăuga și propriul depozit de chei de depanare. Pentru Android Studio, din Construi meniu, selectați Editați tipurile de construcții, apoi mergeți la Semnare și localizați depozitul de chei de depanare în Magazin File domeniu.
Un magazin de chei de lansare este creat în mod normal atunci când exportați aplicația Android pentru a crea un APK semnat file.
Prin procesul de export, dacă creați un nou keystore de lansare, veți selecta locația acestuia. De
implicit, acesta va fi plasat în aceeași locație cu depozitul de chei implicit pentru depanare.
Dacă ați înregistrat aplicația utilizând semnătura de depanare în timpul dezvoltării, va trebui să adăugați o nouă setare Android la aplicația dvs. atunci când sunteți gata să lansați aplicația. Noua setare a aplicației trebuie să utilizeze semnătura din magazia de chei de lansare.
Vedea Semnarea cererilor dvs. pe developer.android.com pentru mai multe informații.
Determinați semnătura aplicației Android
- Dacă aveți un APK semnat file:
a. Dezarhivați fișierul APK file și extrageți CERT.RSA. (Puteți redenumi extensia APK în ZIP dacă este necesar).
b. Din linia de comandă, executați:keytool -printcert -file CERT.RSA Keytoolis situat în coșul de gunoi directorul instalării dvs. Java.
- Dacă aveți un magazin de chei file:
a. Din linia de comandă, executați:keytool -list -v -alias -keystorefilenume> Instrument cheie se află în directorul bin al instalării dvs. Java. Aliasul este numele cheii utilizate pentru semnarea aplicației.
b. Introduceți parola pentru tastă și apăsați Intră. - Sub Amprente digitale, copiați SHA256 valoare.
Obțineți cheia API Android
După ce ați înregistrat o setare Android și ați furnizat o semnătură a aplicației, puteți prelua cheia API din pagina de înregistrare pentru aplicația Conectare cu Amazon. Va trebui să plasați acea cheie API într-un fișier file în proiectul dvs. Android. Până nu faceți acest lucru, aplicația nu va fi autorizată să comunice cu serviciul de autorizare Conectare cu Amazon.
- Du-te la https://login.amazon.com.
- Clic Consola de aplicații.
- În Aplicații selectați caseta din stânga
- Găsiți aplicația dvs. Android sub Setări Android (Dacă nu ați înregistrat încă o aplicație Android, consultați Adăugați o aplicație Android pentru Amazon Appstore).
- Clic Generați valoarea cheii API. O fereastră pop-up va afișa cheia API. Pentru a copia cheia, faceți clic pe Selectați Toate pentru a selecta întregul
Nota: Valoarea cheii API se bazează, parțial, pe timpul în care este generată. Astfel, valorile ulterioare ale cheii API pe care le generați pot diferi de cele originale. Puteți utiliza oricare dintre aceste valori cheie API în aplicația dvs., deoarece toate sunt valabile. - Vedea Adăugați cheia API la proiect pentru instrucțiuni despre adăugarea cheii API la Android
Crearea unei autentificări cu Amazon Project
În această secțiune, veți afla cum să creați un nou proiect Android pentru Conectare cu Amazon, configurați proiectul și adăugați cod la proiect pentru a vă conecta la un utilizator cu Conectare cu Amazon. Vom descrie pașii pentru Android Studio, dar puteți aplica pași analogi oricărui instrument de dezvoltare IDE sau Android la alegere.
Consultați următoarele subiecte:
- Creați o nouă autentificare cu Amazon Project
- Instalați autentificarea cu biblioteca Amazon
- Activați Content Assist pentru conectarea cu Biblioteca Amazon
- Setați permisiunile de rețea pentru aplicația dvs.
- Adăugați cheia API la proiect
- Scoateți Sample App Custom Debug Keystore
- Gestionați modificările de configurare pentru activitatea dvs.
- Adăugați o activitate de autorizare la proiectul dvs.
- Adăugați o autentificare cu butonul Amazon în aplicația dvs.
- Manipulați butonul de conectare și obțineți Profile Date
- Căutați autentificarea utilizatorului la pornire
- Ștergeți statul de autorizare și deconectați un utilizator
- Apelați în mod sincron metodele Amazon Authorization Manager
Creați o nouă autentificare cu Amazon Project
Dacă nu aveți încă un proiect de aplicație pentru utilizarea Conectării cu Amazon, urmați instrucțiunile de mai jos pentru a crea unul. Dacă aveți o aplicație existentă, treceți la Instalați autentificarea cu biblioteca Amazon .
- Lansa Instrument de dezvoltare Android.
- De la File meniu, selectați Nou şi Proiect.
- Introduceți un Numele aplicației şi Numele companiei pentru dvs
- Introduceți Cererea și numele companiei corespunzător numelui pachetului pe care l-ați ales atunci când v-ați înregistrat aplicația cu Conectare la Amazon.
Dacă nu v-ați înregistrat încă aplicația, alegeți o Numele pachetului și apoi urmați instrucțiunile din Înregistrare cu Conectare la Amazon după crearea proiectului. Dacă numele pachetului aplicației dvs. nu se potrivește cu numele pachetului înregistrat, autentificarea dvs. cu apelurile Amazon nu va avea succes. - Selectați a SDK minim necesar din API 8: Android 2 (Froyo) sau o versiune ulterioară și faceți clic pe Următorul.
- Selectați tipul de activitate pe care doriți să îl creați și faceți clic Următorul.
- Completați detaliile relevante și faceți clic Termina.
Veți avea acum un nou proiect în spațiul dvs. de lucru pe care îl puteți utiliza pentru a apela Conectare cu Amazon.
Instalați autentificarea cu biblioteca Amazon
Dacă nu ați descărcat încă Conectarea cu Amazon SDK pentru Android, consultați Instalați autentificarea cu Amazon SDK pentru Android (pag. 4).
- Cu proiectul dvs. deschis în Android Developer Tools, în Explorator de proiecte, faceți clic dreapta pe Proiect.
- Dacă se numește un folder libs nu este deja prezent, creați
- Copiați autentificare-cu-amazon-sdk.jar file din File Sistem, apoi lipiți-l în libs director din proiect / aplicație.
- Faceți clic dreapta autentificare-cu-amazon-sdk.jar, și verificați Adăugați ca bibliotecă
Activați Asistență pentru conținut pentru conectarea cu Biblioteca Amazon în Eclipse
Pentru a activa conținutul Eclipse, asistența pentru asistență într-un proiect Android necesită utilizarea unui .proprietăţi file. Pentru mai multe informații despre asistența pentru conținut, consultați Conținut / Cod de asistență onhelp.eclipse.org.
Pentru a activa conținutul Eclipse, asistența pentru asistență într-un proiect Android necesită utilizarea unui .proprietăţi file. Pentru mai multe informații despre asistența pentru conținut, consultați Conținut / Cod de asistență onhelp.eclipse.org.
- In Windows Explorer, navigați la docs folder pentru autentificare cu Amazon SDK pentru Android și copiați folderul în
- Cu proiectul deschis, accesați Explorer de pachete și selectați libs Clic Edita din meniul principal și selectați Pastă. Acum ar trebui să aveți un libs \ docs director.
- Selectați libs Clic File din meniul principal și selectați Nou şiFile.
- În Nou File dialog, intrați login-with-amazon-sdk.jar.properties și faceți clic Termina.
- Eclipsa ar trebui să se deschidă login-with-amazon-sdk.jar.properties în editorul de text. În editorul de text, adăugați următoarea linie la file:
doc = docs - De la File meniu, faceți clic Salva.
- Este posibil să trebuiască să reporniți Eclipse pentru ca modificările să aibă efect
Setați permisiunile de rețea pentru aplicația dvs.
Pentru ca aplicația dvs. să poată utiliza Conectarea cu Amazon, aceasta trebuie să acceseze Internetul și să acceseze informațiile despre starea rețelei. Aplicația dvs. trebuie să afirme aceste permisiuni în manifestul dvs. Android, dacă nu este deja.
NOTA: Pașii procedurii de mai jos sunt specifici adăugării permisiunilor în Eclipse. Dacă utilizați Android Studio sau un alt IDE, puteți sări peste toți pașii numerotați de mai jos. În schimb, copiați liniile de cod afișate sub captura de ecran și lipiți-le în AndroidManifest.xml file, în afara blocului de aplicații.
- In Pachet Explorator, faceți dublu clic xml.
- Pe Permisiuni filă, faceți clic Adăuga.
- Selecta Folosește permisiunea și faceți clic OK.
- La dreapta de Permisiuni, găsiți Atribute pentru utilizare Permisiunea
- În Nume casetă, introduceți permisiune. INTERNET sau selectați-l din meniul derulant.
- Pe Permisiuni filă, faceți clic Adăuga
- Selecta Folosește permisiunea și faceți clic OK.
- În Nume casetă, introduceți permisiune.ACCESS_NETWORK_STATE sau selectați-l din meniul derulant
- De la File meniu, faceți clic Salva.
Permisiunile dvs. de manifest ar trebui să aibă acum următoarele valori:

În AndroidManifest.xml , ar trebui să vedeți acum aceste intrări sub elementul manifest:
Adăugați cheia API la proiect
Când vă înregistrați aplicația Android cu Conectare cu Amazon, vi se atribuie o cheie API. Acesta este un identificator pe care Managerul de autorizare Amazon îl va utiliza pentru a identifica cererea dvs. la serviciul de autentificare Amazon cu Amazon. Dacă utilizați Amazon Appstore pentru a vă semna aplicația, Appstore va furniza automat cheia API. Dacă nu utilizați Amazon Appstore, Amazon Authorization Manager încarcă această valoare în timp de execuție din api_key.txt file în active director.
- Dacă nu aveți încă cheia API, urmați instrucțiunile din Obțineți cheia API Android (pag. 11).
- Cu proiectul dvs. ADT deschis, din File meniu, faceți clic Nou și selectați Text fără titlu File. Acum ar trebui să aveți o fereastră de editor pentru un text file numit Fără titlu 1. Adăugați cheia API la text
- De la File meniu, faceți clic Salvați ca.
- În Salvați ca , selectați fișierul active directorul proiectului dvs. ca folder părinte. Pentru File nume, intra TXT.
Scoateți Sample App Custom Debug Keystore
NOTA: Acest pas este necesar numai dacă utilizați Eclipse; dacă utilizați Android Studio, săriți peste această secțiune.
Dacă ați instalat Conectarea cu Amazon pentru Android sampaplicația în același spațiu de lucru pe care îl utilizați pentru aplicația dvs. Android, este posibil să aveți setat un depozit de chei de depanare personalizat pentru spațiul de lucru. Trebuie să ștergeți depozitul de chei de depanare personalizat pentru a utiliza propria cheie API.
- Din meniul principal, faceți clic Fereastră și selectați Preferințe.
- În Preferințe dialog, selectați Android şi Construi.
- Ștergeți Personalizat depanare keystore
- Clic OK.
Gestionați modificările de configurare pentru activitatea dvs.
Dacă un utilizator modifică orientarea ecranului sau modifică starea tastaturii dispozitivului în timp ce se conectează, va solicita o repornire a activității curente. Această repornire va închide ecranul de conectare în mod neașteptat. Pentru a preveni acest lucru, ar trebui să setați activitatea care utilizează metoda de autorizare pentru a gestiona manual aceste modificări de configurare. Acest lucru va împiedica repornirea activității.
- In Pachet Explorator, faceți dublu clic xml.
- În Aplicație secțiunea, localizați activitatea care va gestiona conectarea cu Amazon (de example, Activitate principala).
- Adăugați următorul atribut la activitatea pe care ați localizat-o la pasul 2:
android: configChanges = ”keyboard | keyboardHidden | orientation” Sau pentru API 13 sau mai mare:
android: configChanges = ”keyboard | keyboardHidden | orientation | screenSize” - De la File meniu, faceți clic Salva
Acum, când se întâmplă o modificare a orientării tastaturii sau a dispozitivului, Android va apela la onConfigurationChanged metoda pentru activitatea dvs. Nu trebuie să implementați această funcție decât dacă există un aspect al acestor modificări de configurație pe care doriți să le gestionați pentru aplicația dvs.
Când utilizatorul face clic pe butonul Conectare cu Amazon, API-ul va lansa un web browser pentru a prezenta utilizatorului o pagină de autentificare și consimțământ. Pentru ca această activitate a browserului să funcționeze, trebuie să adăugați AuthorizationActivity la manifestul dvs.
- In Pachet Explorator, faceți dublu clic xml.
- În Aplicație secțiunea, adăugați următorul cod, înlocuind „com.example.app ”cu numele pachetului pentru această aplicație:
<activitate android:nume=
„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” />
<date
android: host = ”com.example.app ”android: scheme =” amzn ”/>
aplicația dvs. Această secțiune oferă pași pentru descărcarea unei autentificări oficiale cu imaginea Amazon și asocierea acesteia cu un buton de imagine Android.
- Adăugați un ImageButton standard aplicației dvs.
Pentru mai multe informații despre butoanele Android și clasa ImageButton, consultați Butoane pe developer.android.com. - Dă butonului tău un ID.
În declarația XML a butonului, setați atributul android: id la @ + id / login_with_amazon. De examppe:android: id = ”@ + id / login_with_amazon” - Alegeți o imagine de buton.
Consultați Conectarea noastră cu Amazon Îndrumări de stil pentru o listă de butoane pe care le puteți utiliza în aplicație. Descărcați o copie a fișierului LWA_Android.zip file. Extrageți o copie a butonului preferat pentru fiecare densitate de ecran pe care o acceptă aplicația dvs. (xxhdpi, xhdpi, hdpi, mdpi sau tvdpi). Pentru mai multe informații despre acceptarea mai multor densități de ecran în Android, consultați Aspecte alternative în subiectul „Suport pentru mai multe ecrane” ondeveloper.android.com. - Copiați imaginea corespunzătoare butonului files la proiectul tău.
Pentru fiecare densitate de ecran pe care o acceptați (xhdpi, hdpi, mdpi sau ldpi), copiați butonul descărcat în res / desenabil director pentru densitatea ecranului respectiv. - Declarați imaginea butonului.
În declarația XML a butonului, setați atributul android: src la numele butonului pe care l-ați ales. De examppe:android: src = ”@ drawable / btnlwa_gold_loginwithamazon.png” 6. Încărcați aplicația și verificați dacă butonul are acum o autentificare cu imaginea Amazon. Ar trebui să verificați dacă butonul se afișează corect pentru fiecare densitate a ecranului pe care o susțineți.
Această secțiune explică cum să apelați autorizarea și getProfile API-uri pentru a vă conecta la un utilizator și a-și recupera profesioniștiifile date. Aceasta include crearea unui ascultător onClick pentru butonul de autentificare cu Amazon în metoda onCreate a aplicației dvs.
- Adăugați Conectare cu Amazon la proiectul dvs. Android. Vedea Instalați autentificarea cu biblioteca Amazon .
- Importați autentificarea cu API-ul Amazon în sursa dvs.
Pentru a importa autentificarea cu API-ul Amazon, adăugați următoarele surse de import la sursa dvs. file:import com.amazon.identity.auth.device.AuthError; import
com.amazon.identity.auth.device.authorization.api.
Amazon AuthorizationManager; import
com.amazon.identity.auth.device.authorization.api. AutorizareListener; import com.amazon.identity.auth.device.authorization.api.AuthzConstants; - Inițializați Amazon AuthorizationManager.
Va trebui să declarați un Amazon AuthorizationManager variabilă și creați o nouă instanță a clasei. Crearea unei noi instanțe necesită doar contextul actual al aplicației și un pachet gol. Cel mai bun loc pentru inițializare Amazon AuthorizationManager este în onCreate metoda activității dvs. De examppe: - Creați un AuthorizeLiistener.
AuthorizeListener implementează interfața AuthorizatioinListener și va procesa rezultatul autorizecall. Conține trei metode: oinSuccess, onError, și onCanceil. Fiecare metodă primește fie un pachet, fie un AuthError obiect.clasa privată AuthorizeListener implementează AuthorizationListener {
/ * Autorizarea a fost finalizată cu succes. * /
@Trece peste
public void onSuccess (răspuns la pachet) {
}
/ * A apărut o eroare în timpul încercării de autorizare a aplicației.
*/
@Trece peste
public void onError (AuthError ae) {
}
/ * Autorizația a fost anulată înainte de a putea fi finalizată. * /
@Trece peste
public void onCancel (cauza pachetului) {
}
} - Apel AmazonAuthorizationManager.authorize.
În onClick handler pentru autentificarea dvs. cu butonul Amazon, apel autorizați pentru a solicita utilizatorului să se conecteze și să vă autorizeze aplicația.
Această metodă este responsabilă pentru autorizarea clientului într-unul din următoarele moduri:- Trece la browserul de sistem și permite clientului să se conecteze și să consimtă solicitarea
- Comută la web view într-un context sigur, pentru a permite clientului să se conecteze și să consimtă la solicitarea
Acest context sigur pentru numărul 2 este disponibil în prezent ca aplicație Amazon Shopping pe dispozitivele Android. Dispozitive create de Amazon care rulează Fire OS (de exampKindle Fire, Fire Phone și Fire TV) folosesc întotdeauna această opțiune chiar dacă nu există nicio aplicație Amazon Shopping pe dispozitiv. Din acest motiv, dacă clientul este deja conectat la aplicația Amazon Shopping, acest API va ignora pagina de conectare, ducând la o Conectare unică experiență pentru client.
Când aplicația dvs. este autorizată, este autorizată pentru unul sau mai multe seturi de date cunoscute sub numele de ambalaje. Primul parametru este o serie de domenii care cuprind datele de utilizator pe care le solicitați de la Conectare cu Amazon. Prima dată când un utilizator se conectează la aplicația dvs., li se va prezenta o listă a datelor pe care le solicitați și vi se solicită aprobarea. Conectarea cu Amazon acceptă în prezent trei domenii: profile, care conține numele utilizatorului, adresa de e-mail și ID-ul contului Amazon; profile:numele de utilizator, care conține doar ID-ul contului Amazon; și cod postal, care conține codul poștal / utilizator al utilizatorului.
Cel mai bun mod de a apela la autorizare este asincron, deci nu trebuie să blocați firul UI sau să creați un fir de lucru propriu. A apela autorizat sincron, treceți un obiect care acceptă AuthorizationListenerinterfață ca ultim parametru:privat AmazonAuthorizationManager mAuthManager; @Trece peste
protected void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
mAuthManager = nou AmazonAuthorizationManager (acesta, Bundle.EMPTY);// Găsiți butonul cu ID-ul login_with_amazon
// și configurați un handler pentru clicuri
mLoginButton = (Buton) găsiViewById (R.id.login_with_amazon);
mLoginButton.setOnClickListener (nou OnClickListener () {
@Trece peste
public void onClick (View v) {
mAuthManager.authorize (
new String [] {„profile","Cod poștal"},
Bundle.EMPTY, nou AuthorizeListener ());
}
});
} - Creați o ProfileAscultător.
ProfileAscultător este numele nostru pentru o clasă care implementează APIlister interfață și va procesa rezultatul Devino profesionistfile apel. APIlister conține două metode: onSucces și onError (nu acceptă onCancel deoarece nu există nicio modalitate de a anula un Devino profesionistfile apel). onSucces primește un obiect Bundle cu profile date, în timp ce onError primește un AuthError obiect cu informații despre eroare.clasa privată ProfileListener implementează APIListener { /* Devino profesionistfile finalizat cu succes. */ @Trece peste
public void onSuccess (răspuns la pachet) {}
/ * A apărut o eroare în timpul încercării de a obține profesionistulfile. */ @Trece peste
public void onError (AuthError ae) {
}
} - Implementează onSucces pentru dvs AuthorizeListener.
In onSucces, apel AmazonAuthorizationManager.getProfile pentru a recupera clientul profile. Devino profesionistfile, ca și autorizați, utilizează o interfață de ascultare asincronă. Pentru Devino profesionistfile, acea interfață este APIListener, nuAuthorizationListener.
/ * Autorizarea a fost finalizată cu succes. */ @Trece peste
public void onSuccess (răspuns la pachet) {
mAuthManager.getProfile(nou ProfileAscultător());} - Implementează onSuccessfor dvs ProfileAscultător.
onSuccesshas două sarcini principale: recuperarea profile date din pachetul de răspuns și pentru a transmite datele către interfața de utilizare. updateProfileDatais o funcție ipotetică pe care aplicația dvs. ar putea să o implementeze pentru a afișa profile detalii. setLoggedInState, o altă funcție ipotetică, ar indica faptul că un utilizator este conectat și le-ar oferi un mijloc de delogare.
Pentru a recupera profile date din pachet, folosim nume stocate de AuthzConstants clasă. onSucces pachetul conține profile date într-un BUNDLE_KEY.PROFILE pachet.
În cadrul profile pachet, datele privind domeniul de aplicare sunt indexate sub PROFILE_KEY.NAME, PROFILE_KEY.EMAIL, PROFILE_KEY.USER_ID, şi PROFILE_KEY.POSTAL_CODE. PROFILE_KEY.POSTAL_CODE este inclus numai dacă solicitați fișierul Cod poștal domeniul de aplicare.@Trece peste
public void onSuccess (răspuns la pachet) {
// Preluarea datelor de care avem nevoie din Bundle Bundle profileBundle = response.getBundle (
AuthzConstants.BUNDLE_KEY.PROFILE.val);
Numele șirului = profileBundle.getString (
AuthzConstants.PROFILE_KEY.NAME.val);
Șir de e-mail = profileBundle.getString (
AuthzConstants.PROFILE_KEY.EMAIL.val);
String account = profileBundle.getString (
AuthzConstants.PROFILE_KEY.USER_ID.val);
Șir cod poștal = profileBundle.getString (
AuthzConstants.PROFILE_KEY.POSTAL_CODE.val);
runOnUiThread (nou Runnable () {@Override
public void run () {
updateProfileDate (nume, e-mail, cont, cod poștal);
}
});
} - Implementează onError pentru dvs ProfileAscultător.
onError include o AuthError obiect care conține detalii despre eroare./ * A apărut o eroare în timpul încercării de a obține profesionistulfile. */ @Trece peste
public void onError (AuthError ae) {
/ * Reîncercați sau informați utilizatorul despre eroare * /
} - Implementează onErrorfor dvs AuthorizeListener.
/ * A apărut o eroare în timpul încercării de autorizare a aplicației.
*/
@Trece peste
public void onError (AuthError ae) {
/ * Informați utilizatorul despre eroare * /
} - Implementează onCancelfor dvs AuthorizeListener.
Deoarece procesul de autorizare prezintă utilizatorului un ecran de autentificare (și, eventual, un ecran de consimțământ) web browser (sau un webview), utilizatorul va avea posibilitatea de a anula datele de conectare sau de a naviga departe de web pagină. Dacă anulează în mod explicit procesul de autentificare, onCancel se numește. Dacă onCancelis apelat, veți dori să vă resetați interfața de utilizare./ * Autorizația a fost anulată înainte de a putea fi finalizată. * /
@Trece peste
public void onCancel (cauza pachetului) {
/ * resetați interfața de utilizare la o stare gata de conectare * /
}Nota: Dacă utilizatorul navighează departe de ecranul de conectare din browser sau web view și revine la aplicația dvs., SDK-ul nu va detecta că datele de conectare nu au fost finalizate. Dacă detectați activitatea utilizatorului în aplicația dvs. înainte de finalizarea conectării, puteți presupune că au navigat departe de browser și să reacționeze în consecință.
Căutați autentificarea utilizatorului la pornire
Dacă un utilizator se conectează la aplicația dvs., închide aplicația și repornește aplicația mai târziu, aplicația este în continuare autorizată să recupereze date. Utilizatorul nu este deconectat automat. La pornire, puteți afișa utilizatorul ca fiind conectat dacă aplicația dvs. este încă autorizată. Această secțiune explică modul de utilizare a getToken pentru a vedea dacă aplicația este încă autorizată.
- Creați o TokenListener.
TokenListener implementează APIlister interfață și va procesa rezultatul apelului getToken. APIlister conține două metode: onSucces şi onError (nu acceptă onCancel deoarece nu există nicio modalitate de a anula un getToken apel). onSucces primește un obiect Bundle cu date simbolice, în timp ce onError primește un AuthError obiect cu informații despre eroare.clasa privată TokenListener implementează APIListener { / * getToken finalizat cu succes. */ @Trece peste
public void onSuccess (răspuns la pachet) {
}
/ * A apărut o eroare în timpul încercării de a obține jetonul. */ @Trece peste
public void onError (AuthError ae) {
}
} - În onStart metoda activității dvs., sunați getToken pentru a vedea dacă aplicația este încă autorizată.
getToken preia jetonul de acces brut pe care Amazon AuthorizationManager utilizează pentru a accesa un client profile. Dacă valoarea jetonului nu este nulă, atunci aplicația este încă autorizată și este apelat la Devino profesionistfile ar trebui să reușească. getToken necesită aceleași domenii pe care le-ați solicitat în apelul dvs. de autorizare.
getTokensupports apeluri asincrone în același mod ca getProfile, deci nu trebuie să blocați firul UI sau să creați un fir de lucru propriu. Pentru a apela getToken în mod asincron, treceți un obiect care acceptă APIlister interfață ca parametru final.@Trece peste
nul protejat onStart () {
super.onStart
(); mAuthManager.getToken (nou șir [] {„profile","Cod poștal"},
nou
TokenListener ());
} - Implementează onSucces pentru dvs TokenListener.
onSuccesshas două sarcini: să recuperezi jetonul din pachet și, dacă jetonul este valid, să apelezi Devino profesionistfile.
Pentru a prelua datele jetoanelor din pachet, folosim nume stocate de AuthzConstants clasă. onSucces pachetul conține datele de jeton într-o valoare BUNDLE_KEY.TOKEN. Dacă valoarea respectivă nu este nulă, acest example sună Devino profesionistfile folosind același ascultător pe care l-ați declarat în secțiunea anterioară (consultați pașii 7 și 8)./ * getToken finalizat cu succes. * /
@Trece peste
public void onSuccess (răspuns la pachet) {
șir final authzToken =
response.getString (AuthzConstants.BUNDLE_KEY.TOKEN.val);
if (! TextUtils.isEmpty (authzToken))
{
// Recuperați profile date
mAuthManager.getProfile(nou ProfileAscultător());
}
}
Metoda clearAuthorizationState va șterge datele de autorizare ale utilizatorului din magazinul de date locale AmazonAuthorizationManager. Un utilizator va trebui să se conecteze din nou pentru ca aplicația să recupereze profile date. Utilizați această metodă pentru a deconecta un utilizator sau pentru a depana problemele de conectare în aplicație.
- Implementați o deconectare
Când un utilizator s-a conectat cu succes, ar trebui să furnizați un mecanism de deconectare pentru a-și putea șterge profesioniștiifile date și domenii autorizate anterior. Mecanismul dvs. poate fi un hyperlink sau un element de meniu. Pentru acest example vom crea un onClick metoda pentru un buton. - În gestionarul de deconectare, apelați clearAuthorizationState. clearAuthorizationState va elimina datele de autorizare ale unui utilizator (jetoane de acces, profile) din magazinul local. clearAuthorizationStatetakes fără parametri, cu excepția unui APIlister pentru a întoarce succesul sau
- Declarați un anonim APIlister.
Clasele anonime reprezintă o alternativă utilă la declararea unei noi clase de implementat APIlister. Vedea Manipulați butonul de conectare și obțineți Profile Date (p. 17) pentru un examplasa asta declară clasele ascultătorului. - Implementează onSucces în interiorul APIlister
Când clearAuthorizationState reușește, ar trebui să vă actualizați interfața de utilizare pentru a elimina referințele către utilizator și să oferiți un mecanism de conectare pe care utilizatorii îl pot utiliza pentru a vă conecta din nou. - Implementează onError în interiorul APIlister.
If clearAuthorizationStatereturns o eroare, puteți permite utilizatorului să încerce să se deconecteze din nou.@Trece peste
protected void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
/ * Anterior pe Creare declarații omise * /
// Găsiți butonul cu ID-ul de deconectare și configurați un handler pentru clicuri
mLogoutButton = (Buton) găsiViewById (R.id.logout);
mLogoutButton.setOnClickListener (nou OnClickListener () {
@Trece peste
public void onClick (View v) {
mAuthManager.clearAuthorizationState (nou
APIListener () {
@Trece peste
public void onSuccess (Rezultate pachet) {
// Setați starea deconectată în interfața de utilizare
}
@Trece peste
public void onError (AuthError authError) {
// Înregistrați eroarea
}
});
}
});
}
Unele Amazon AuthorizationManager metodele returnează un obiect viitor. Acest lucru vă permite să apelați metoda în mod sincron în loc să treceți un ascultător ca parametru. Dacă utilizați un obiect Future, nu ar trebui să-l utilizați pe un fir UI. Dacă blocați un fir UI mai mult de cinci secunde, veți primi un prompt ANR (Application Not Responding). În mânerul buton de conectare și Get Profile Date example, the onSucces metoda pentru AuthorizeListener este apelat cu un fir de lucru creat de Amazon AuthorizationManager. Aceasta înseamnă că este sigur să utilizați acel fir pentru a apela getPirofile sincron. Pentru a efectua un apel sincron, atribuiți valoarea returnată din getPirofile către un obiect Viitor și numiți giemethod pe acel obiect să aștepte până la finalizarea metodei.
Fuiture.get returnează un obiect Bundle care conține un FUTURE_TYPE valoarea de SUCCES, EROARE, or ANULA. Dacă metoda a avut succes, același pachet va conține PROFILE_VALUI CHEIE pentru profesionistfile date. De examppe:
| / * Autorizarea a fost finalizată cu succes. * / @Trece peste public void onSuccess (răspuns la pachet) { Viitor <Bundle> viitor = mAuthManager.getProfile(nul); Bundle result = future.get (); // Aflați dacă apelul a reușit și recuperați profesionistulfile Tipul viitorului obiectului = result.get (AuthzConstants.BUNDLE_KEY.FUTURE.val); dacă (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); Șir cod poștal = result.getString (AuthzConstants.PROFILE_KEY.POSTAL_CODE.val); runOnUiThread (nou Runnable () {@Override public void run () {updateProfileDate (nume, e-mail, cont, cod poștal); } }); } else if (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Obțineți obiectul de eroare AuthError authError = AuthError.extractError (rezultat); / * Utilizați authError pentru a diagnostica eroarea * / } |
Conectați-vă cu Amazon Ghid de inițiere pentru Android - Descărcați [optimizat]
Conectați-vă cu Amazon Ghid de inițiere pentru Android - Descărcați



