Prijavite se sa Amazon vodičem za početak rada za Android
Prijava sa Amazonom: Vodič za početak rada za Android
Autorska prava © 2016 Amazon.com, Inc. ili njene podružnice. Sva prava zadržana. Amazon i Amazon logotip zaštitni su znakovi kompanije Amazon.com, Inc. ili njenih povezanih kompanija. Svi ostali zaštitni znakovi koji nisu u vlasništvu Amazona vlasništvo su njihovih vlasnika.
Početak rada za Android
U ovom vodiču ćemo vam pokazati kako dodati Login with Amazon u svoju Android aplikaciju. Nakon što dovršite ovaj vodič, trebali biste imati funkcionalno dugme Login with Amazon u svojoj aplikaciji kako biste korisnicima omogućili da se prijave sa svojim Amazon vjerodajnicama.
Instaliranje Android alata za programere
Prijava s Amazon SDK za Android pomoći će vam da dodate Login with Amazon u svoju Android aplikaciju. Preporučujemo da koristite Login with Amazon SDK za Android sa developer.amazon.com uz Android Studio. Međutim, možete koristiti i dodatak Eclipse sa ADT. Za korake o tome kako instalirati Android Studio i kako postaviti Android SDK, pogledajte Nabavite Android SDK na developer.android.com.
Kada se instalira Android SDK, pronađite SDK Manager aplikaciju u vašoj Android instalaciji. Za razvoj za prijavu putem Amazona, morate koristiti SDK Manager za instaliranje SDK platforme za Android 2.2 ili noviju (API verzija 8). Vidi Dodavanje SDK paketa na developer.android.com za više informacija o korištenju SDK-a
Nakon instalacije SDK-a, postavite Android virtualni uređaj (AVD) za pokretanje aplikacija. Vidite Upravljanje Virtuelni uređaji na developer.android.com za upute o postavljanju virtualnog uređaja.
Kad je postavljeno vaše razvojno okruženje, možete Instalirajte Login with Amazon SDK za Android or Pokrenite Sample App, kako je opisano u nastavku.
Instalirajte Login with Amazon SDK za Android
Prijava s Amazon SDK -om za Android dolazi u dva paketa. Prvi sadrži Android biblioteku i prateću dokumentaciju. Drugi sadrži kaoample aplikacija koja omogućava korisniku da se prijavi i prikazuje svoje profesionalcefile podaci.
Ako već niste instalirali Android SDK ili Android razvojne alate, pogledajte Instaliranje Android Developer Tools odjeljak iznad.
- Preuzmi zip i izdvojiti files u direktorij na vašem tvrdom disku.
Trebali biste vidjeti a doc i a lib poddirektorij. - Otvori doc/index.html to view Login with Amazon Android API
- Vidi Instalirajte Login s Amazon Library, za upute kako dodati biblioteku i dokumentaciju na Android
Kada se instalira Prijava sa Amazon SDK za Android, možete Kreirajte novu prijavu sa Amazonom Projekt, poslije Registrovanje za prijavu na Amazon .
Pokrenite Sample App
Da biste pokrenuli sampaplikaciju, uvezite sampu radni prostor AndroidStudio (ako koristite Eclipse, morate dodati i prilagođeno skladište ključeva za otklanjanje grešaka u radni prostor. Pogledajte Dodajte Custom Debug Skladište ključeva u Eclipse odjeljak ispod). API ključ koji sample aplikacija koristi zahteva da radni prostor koristi skladište ključeva koje se isporučuje sa sample. Ako prilagođeno skladište ključeva nije instalirano, korisnici se neće moći prijaviti pomoću sample. Skladište ključeva će se automatski preuzeti ako koristite AndroidStudio.
- Preuzmi SampleLoginWithAmazonAppForAndroid-src.zip i izdvojiti files u direktorij na vašem hard -u
- Pokrenite Android Studio i odaberite Otvorite postojeći Android Studio projekat
- Pregledajte SampleLoginWithAmazonApp direktorij dobiven nakon izdvajanja preuzetog zip -a file u koraku
- Od Build meni, kliknite Make Project, i sačekajte da se projekat
- Od Trči meni, kliknite Trči a zatim kliknite na SampleLoginWithAmazonApp.
- Odaberite emulator ili povezani Android uređaj i kliknite Trči.
Dodajte Custom Debug Key store u Eclipse
Ako koristite Eclipse, slijedite upute u nastavku da dodate prilagođeno skladište ključeva za otklanjanje grešaka:
- U Preferences dijalog, izaberite Android i Build.
- Pored Custom Debug Keystore, kliknite Pregledaj.
- Idite do sampotvorite direktorij aplikacije i odaberite 3p.keystore, a zatim kliknite OK.
Registrovanje za prijavu na Amazon
Prije nego što možete koristiti Login with Amazon na a webweb-mjestu ili u mobilnoj aplikaciji, morate registrirati aplikaciju s Login with Amazon. Vaša prijava putem Amazona je registracija koja sadrži osnovne informacije o vašem poslovanju i informacije o svakom od njih webweb-lokaciju ili mobilnu aplikaciju koju kreirate koja podržava prijavu putem Amazona. Ove poslovne informacije se prikazuju korisnicima svaki put kada koriste Login with Amazon na vašem websajt ili mobilnu aplikaciju. Korisnici će vidjeti naziv vaše aplikacije, vaš logo i link do vaše politike privatnosti. Ovi koraci pokazuju kako registrirati prijavu na Amazon aplikaciju i dodati Android aplikaciju tom računu.
Pogledajte sljedeće teme:
- Registrirajte svoju prijavu sa Amazon aplikacijom
- Registrirajte svoju Android aplikaciju
- Dodajte Android aplikaciju za Amazon Appstore
- Dodajte Android aplikaciju bez Appstorea
- Potpisi za Android aplikacije i API ključevi
- Određivanje potpisa Android aplikacije
- Preuzimanje Android API ključa
Registrirajte svoju prijavu sa Amazon aplikacijom
- Idi na https://login.amazon.com.
- Ako ste se već ranije prijavili za prijavu sa Amazonom, kliknite Konzola aplikacija. U suprotnom, kliknite Prijavite se. Bit ćete preusmjereni na Seller Central, koji obrađuje registraciju aplikacije za prijavu putem. Ako prvi put koristite Seller Central, od vas će se tražiti da postavite račun Seller Central.
- Kliknite Registrujte novu aplikaciju. The Registrujte svoju aplikaciju pojavit će se obrazac:
a. U Registrujte svoju aplikaciju obrazac, unesite a Ime i a Opis za vašu aplikaciju.
The Ime je ime prikazano na ekranu za pristanak kada korisnici pristanu da dijele informacije s vašom aplikacijom. Ovaj naziv se odnosi na Android, iOS i webverzije web lokacije vaše aplikacije.
b. Unesite a Obavijest o privatnosti URL za vašu aplikaciju
The Obavijest o privatnosti URL je lokacija politike privatnosti vaše kompanije ili aplikacije (nprample, http://www.example.com/privacy.html). Ova veza se prikazuje korisnicima na ekranu za pristanak.
c. Ako želite da dodate a Logo Image za vašu aplikaciju, kliknite Pregledaj i locirajte odgovarajuću sliku.
Ovaj logotip se prikazuje na ekranu za prijavu i pristanak da predstavlja vaše preduzeće ili website. Logo će biti smanjen na 50 piksela u visinu ako je viši od 50 piksela; ne postoji ograničenje širine logotipa - Kliknite Sačuvaj. Vaš sampregistracija bi trebala izgledati slično ovome:
Nakon što su vaše osnovne postavke aplikacije sačuvane, možete dodati postavke za određene webweb stranice i mobilne aplikacije koje će koristiti ovu prijavu s Amazon računom.
Registrirajte svoju Android aplikaciju
Da biste registrirali aplikaciju za Android, imate mogućnost registracije aplikacije putem Amazon Appstore (Dodajte Android aplikaciju za Amazon Appstore, str. 8) ili direktno s Login with Amazon (Dodajte Android Aplikacija bez Appstorea, str. 9). Kada se vaša aplikacija registruje, imat ćete pristup API ključu koji će vašoj aplikaciji odobriti pristup usluzi za autorizaciju Login with Amazon.
Napomena: Ako planirate koristiti Amazon Device Messaging unutar svoje Android aplikacije, kontaktirajte lwa- support@amazon.com sa:
- Adresa e-pošte Amazon naloga koji ste koristili da biste se prijavili za prijavu na Amazon.
- Adresa e-pošte Amazon računa koji ste koristili za registraciju za Amazon Appstore (ako je drugačija).
- Ime na vašem Seller Central računu. (Na Seller Centralu kliknite Postavke> Informacije o računu> Informacije o prodavcu, i koristite Ime za prikaz).
- Ime na vašem Amazon Appstore nalogu programera. (Na web lokaciji za distribuciju mobilnih aplikacija kliknite Postavke > Kompanija Profile i koristite Ime programera ili naziv kompanije).
Dodajte Android aplikaciju za Amazon Appstore
Sljedeći koraci će dodati aplikaciju Amazon Appstore na vašu prijavu s Amazon računom:
- Na ekranu aplikacije kliknite Android postavke. Ako već imate registriranu Android aplikaciju, potražite Dodajte API ključ dugme u Android postavke
The Detalji o Android aplikaciji pojavit će se obrazac: - Odaberite Da kao odgovor na pitanje "Da li se ova aplikacija distribuira putem Amazon Appstore?"
- Unesite Label vaše Android aplikacije. Ovo ne mora biti službeni naziv vaše aplikacije. Jednostavno identificira ovu Android aplikaciju među aplikacijama i webweb lokacije registrirane na vašu aplikaciju Prijava s Amazon.
- Dodajte svoje Amazon Appstore ID.
- Ako ste sami potpisali svoju aplikaciju, dodajte informacije za samopotpisivanje. Ovo će vam omogućiti da dobijete API ključ tokom razvoja bez direktnog korištenja Appstorea:
a. Ako se vaša aplikacija ne potpisuje putem Amazon Appstorea, odaberite Da kao odgovor na pitanje „Je li ova aplikacija samopotpisana?“
The Detalji o Android aplikaciji obrazac će se proširiti:
b. Unesite svoj Naziv paketa.
Ovo mora odgovarati nazivu paketa vašeg Android projekta. Da biste odredili naziv paketa vašeg Android projekta, otvorite projekat u svom alatu za razvojne programere za Android.
Otvori AndroidManifest.XML u Exploreru paketa i odaberite Manifest tab. Prvi unos je naziv paketa.
c. Unesite aplikaciju Potpis.
Ovo je SHA-256 hash vrijednost koja se koristi za provjeru vaše aplikacije. Potpis mora biti u obliku 32 heksadecimalna para razdvojena dvotačkama (nprample: 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). Vidi Potpisi za Android aplikacije i API ključevi za korake koje možete koristiti za izdvajanje potpisa iz vašeg projekta. - Kliknite Sačuvaj.
Ako različite verzije vaše aplikacije imaju različite potpise ili nazive paketa, poput jedne ili više testnih verzija i proizvodne verzije, svaka verzija zahtijeva svoj API ključ. Iz Android postavke u svojoj aplikaciji kliknite Dodajte API ključ dugme za stvaranje dodatnih ključeva za vašu aplikaciju (po jedan po verziji).
Potpisi za Android aplikacije i API ključevi
Potpis aplikacije je SHA-256 hash vrijednost koja se primjenjuje na svaku Android aplikaciju kada je izgrađena. Amazon koristi potpis aplikacije za izradu vašeg API ključa. API ključ omogućava Amazon uslugama da prepoznaju vašu aplikaciju. Ako za potpisivanje aplikacije koristite Amazon Appstore, API ključ se pruža automatski. Ako ne koristite Amazon Appstore, morat ćete ručno upravljati svojim API ključem.
Potpisi aplikacije se pohranjuju u spremište ključeva. Generalno, za Android aplikacije postoji skladište ključeva za otklanjanje grešaka i skladište ključeva za oslobađanje. Skladište ključeva za otklanjanje grešaka kreirano je od strane dodatka Android Development Tools za Eclipse i koristi se prema zadanim postavkama. Možete pronaći lokaciju skladišta ključeva za otklanjanje grešaka u Eclipse klikom Prozor, a zatim odabirom Preference > Android > Build. Sa tog ekrana možete dodati i vlastito skladište ključeva za otklanjanje grešaka. Za Android Studio, iz Build meni, izaberite Uredite vrste gradnje, zatim idite na Potpisivanje i pronađite pohranu ključeva za otklanjanje pogrešaka u Store File polje.
Skladište ključeva za izdanje obično se stvara kada izvozite svoju Android aplikaciju da biste stvorili potpisani APK file.
Kroz proces izvoza, ako kreirate novo skladište ključeva za izdanje, odabrat ćete njegovu lokaciju. By
podrazumevano će biti postavljen na istu lokaciju kao i vaš podrazumevani debug KeyStore.
Ako ste svoju aplikaciju registrovali pomoću potpisa za otklanjanje grešaka tokom razvoja, morat ćete dodati novu Android postavku svojoj aplikaciji kada budete spremni za puštanje aplikacije. Nova postavka aplikacije mora koristiti potpis iz pohrane ključeva za izdanje.
Vidi Potpisivanje prijava na developer.android.com za više informacija.
Odredite potpis za Android aplikaciju
- Ako imate potpisan APK file:
a. Raspakirajte APK file i ekstrakt CERT.RSA. (Možete preimenovati APK ekstenziju u ZIP ako je potrebno).
b. Iz naredbenog retka pokrenite:keytool -printcert -file CERT.RSA Keytoolis nalazi se u bin direktorij vaše Java instalacije.
- Ako imate skladište ključeva file:
a. Iz naredbenog retka pokrenite:keytool -list -v -alias -knjižnicafileime> Keytool se nalazi u bin direktoriju vaše Java instalacije. Alias je naziv ključa koji se koristi za potpisivanje aplikacije.
b. Unesite lozinku za ključ i pritisnite Enter. - Ispod Otisci certifikata, kopiraj SHA256 vrijednost.
Dohvatite Android API ključ
Kada ste registrirali postavku Androida i dali potpis aplikacije, API ključ možete dohvatiti sa stranice za registraciju aplikacije Prijava s Amazonom. Morat ćete staviti taj API ključ u file u vašem Android projektu. Dok to ne učinite, aplikacija neće biti ovlaštena za komunikaciju s uslugom autorizacije Login s Amazon.
- Idi na https://login.amazon.com.
- Kliknite Konzola aplikacija.
- U Prijave okvir s lijeve strane, odaberite svoj
- Pronađite svoju Android aplikaciju ispod Android postavke (Ako još niste registrovali Android aplikaciju, pogledajte Dodajte Android aplikaciju za Amazon Appstore).
- Kliknite Generiraj API vrijednost ključa. Iskačući prozor će prikazati vaš API ključ. Da biste kopirali ključ, kliknite Odaberite Sve da odaberete cijelu
Napomena: Vrijednost API ključa se, dijelom, temelji na vremenu kada je generirana. Prema tome, naredne vrijednosti API ključeva koje generišete mogu se razlikovati od originalnih. Možete koristiti bilo koju od ovih vrijednosti API ključeva u svojoj aplikaciji jer su sve važeće. - Vidi Dodajte svoj API ključ svom projektu za upute o dodavanju API ključa na vaš Android
Kreiranje prijave pomoću Amazon Project-a
U ovom ćete odjeljku naučiti kako stvoriti novi Android projekt za prijavu s Amazonom, konfigurirati projekt i dodati kôd u projekt za prijavu korisnika pomoću usluge Login with Amazon. Opisat ćemo korake za Android Studio, ali analogne korake možete primijeniti na bilo koji IDE ili Android razvojni alat po vašem izboru.
Pogledajte sljedeće teme:
- Kreirajte novu prijavu sa Amazon Projectom
- Instalirajte Login with Amazon Library
- Omogućite Content Assist za prijavu s Amazon Library
- Postavite mrežne dozvole za svoju aplikaciju
- Dodajte svoj API ključ svom projektu
- Uklonite Sample App Custom Debug Keystore
- Upravljajte promjenama konfiguracije za svoju aktivnost
- Dodajte aktivnost autorizacije svom projektu
- Dodajte prijavu sa Amazon Button u svoju aplikaciju
- Rukujte gumbom za prijavu i nabavite Profile Podaci
- Provjerite prijavu korisnika prilikom pokretanja
- Obrišite stanje autorizacije i odjavite korisnika
- Sinhrono pozovite Amazon Authorization Manager metode
Kreirajte novu prijavu sa Amazon Projectom
Ako još nemate projekt aplikacije za korištenje usluge Login s Amazonom, slijedite donje upute da biste ga kreirali. Ako imate postojeću aplikaciju, preskočite na Instalirajte Login with Amazon Library .
- Pokreni Android razvojni alat.
- Od File meni, izaberite Novo i Projekt.
- Unesite Naziv aplikacije i Naziv kompanije za tvoje
- Unesite Aplikacija i naziv kompanije odgovara nazivu paketa koji ste odabrali kada ste prijavili svoju aplikaciju na Login with Amazon.
Ako još niste registrirali svoju aplikaciju, odaberite Naziv paketa a zatim slijedite upute u Registrovanje za prijavu na Amazon odjeljak nakon što kreirate svoj projekat. Ako naziv paketa vaše aplikacije ne odgovara registriranom nazivu paketa, vaši pozivi za prijavu putem Amazona neće uspjeti. - Odaberite a Minimalno potreban SDK API-ja 8: Android 2 (Froyo) ili noviji i kliknite Sledeći.
- Odaberite vrstu aktivnosti koju želite stvoriti i kliknite Sledeći.
- Unesite relevantne detalje i kliknite Završi.
Sada ćete u svom radnom prostoru imati novi projekat koji možete koristiti za pozivanje Login with Amazon.
Instalirajte Login with Amazon Library
Ako još niste preuzeli prijavu sa Amazon SDK za Android, pogledajte Instalirajte Login with Amazon SDK za Android (str. 4).
- S vašim projektom otvorenim u Android Developer Tools, u Project Explorer, kliknite desnim tasterom miša na svoju Projekt.
- Ako je folder pozvan libs već nije prisutan, kreirajte
- Kopiraj prijava-sa-amazon-sdk.jar file od File Sistem, a zatim ga zalijepite u libs direktorij pod vašim projektom/aplikacijom.
- Desni klik prijava-sa-amazon-sdk.jar, i provjerite Dodaj kao biblioteku
Omogućite Content Assist za prijavu s Amazon Library u Eclipse
Da biste omogućili podršku za Eclipse sadržaj u Android projektu, potrebno je korištenje a .properties file. Za više informacija o pomoći za sadržaj pogledajte Pomoć za sadržaj/kod onhelp.eclipse.org.
Da biste omogućili podršku za Eclipse sadržaj u Android projektu, potrebno je korištenje a .properties file. Za više informacija o pomoći za sadržaj pogledajte Pomoć za sadržaj/kod onhelp.eclipse.org.
- In Windows Explorer, idite na docs folder za Login with Amazon SDK za Android i kopirajte folder u
- Sa otvorenim projektom idite na Package Explorer i odaberite libs Kliknite Uredi iz glavnog menija i odaberite Zalijepi. Sada bi trebao imati a libs\docs imenik.
- Odaberite libs Kliknite File iz glavnog menija i odaberite Novo iFile.
- U Novo File dijalog, unesite login-with-amazon-sdk.jar.properties i kliknite Završi.
- Eclipse bi se trebao otvoriti login-with-amazon-sdk.jar.properties u uređivaču teksta. U uređivaču teksta dodajte sljedeći red u file:
doc=docs - Od File meni, kliknite Sačuvaj.
- Možda ćete morati ponovo pokrenuti Eclipse da bi promjene stupile na snagu
Postavite mrežne dozvole za svoju aplikaciju
Da bi vaša aplikacija koristila prijavu sa Amazonom, mora pristupiti Internetu i pristupiti informacijama o stanju mreže. Vaša aplikacija mora potvrditi ta dopuštenja u vašem Android manifestu, ako već nije.
NAPOMENA: Koraci procedure u nastavku su specifični za dodavanje dozvola u Eclipse. Ako koristite Android Studio ili drugi IDE, možete preskočiti sve dolje navedene korake. Umjesto toga, kopirajte linije koda prikazane ispod snimka ekrana i zalijepite ih u AndroidManifest.xml file, izvan bloka aplikacije.
- In Paket Explorer, dvaput kliknite xml.
- Na Dozvole karticu, kliknite Dodaj.
- Odaberite Koristi dozvolu i kliknite OK.
- Desno od Dozvole, pronađite Atributi za korištenje dozvole
- U Ime polje, unesite dozvolu. INTERNET ili ga izaberite iz padajućeg menija.
- Na Dozvole karticu, kliknite Dodaj
- Odaberite Koristi dozvolu i kliknite OK.
- U Ime polje, unesite dozvola.ACCESS_NETWORK_STATE ili ga izaberite iz padajućeg menija
- Od File meni, kliknite Sačuvaj.
Vaše dozvole manifesta bi sada trebale imati sljedeće vrijednosti:
U AndroidManifest.xml tab, sada biste trebali vidjeti ove unose ispod elementa manifesta:
Dodajte svoj API ključ svom projektu
Kada registrirate svoju Android aplikaciju sa Login na Amazonu, dodjeljuje vam se API ključ. Ovo je identifikator koji će Amazon Authorization Manager upotrijebiti za identifikaciju vaše aplikacije na usluzi Login with Amazon autorizacije. Ako za potpisivanje aplikacije koristite Amazon Appstore, Appstore će automatski pružiti API ključ. Ako ne koristite Amazon Appstore, Amazon Authorization Manager učitava ovu vrijednost tokom izvođenja iz api_key.txt file u imovine imenik.
- Ako još nemate svoj API ključ, slijedite upute u Dohvatite Android API ključ (str. 11).
- Sa otvorenim ADT projektom, iz File meni, kliknite Novo i odaberite Untitled Text File. Sada biste trebali imati prozor za uređivanje teksta file imenovani Bez naziva 1. Dodajte svoj API ključ u tekst
- Od File meni, kliknite Sačuvaj kao.
- U Sačuvaj kao dijalog, odaberite imovine direktorij vašeg projekta kao roditeljski direktorij. Za File ime, unesite txt.
Uklonite Sample App Custom Debug Keystore
NAPOMENA: Ovaj korak je potreban samo ako koristite Eclipse; ako koristite Android Studio, preskočite ovaj odjeljak.
Ako ste instalirali Login with Amazon za Android sampAko postavite aplikaciju u isti radni prostor koji koristite za svoju Android aplikaciju, možda ćete imati prilagođeno skladište ključeva za otklanjanje grešaka postavljeno za radni prostor. Morate obrisati prilagođeno skladište ključeva za otklanjanje grešaka da biste koristili vlastiti API ključ.
- U glavnom meniju kliknite Prozor i odaberite Preferences.
- U Preferences dijalog, izaberite Android i Build.
- Obrišite Custom debug keystore
- Kliknite OK.
Upravljajte promjenama konfiguracije za svoju aktivnost
Ako korisnik promijeni orijentaciju ekrana ili promijeni stanje tipkovnice uređaja dok se prijavljuje, zatražit će ponovno pokretanje trenutne aktivnosti. Ovo ponovno pokretanje neočekivano će odbaciti zaslon za prijavu. Da biste to spriječili, trebali biste postaviti aktivnost koja koristi metodu autorizacije za ručno rukovanje tim promjenama konfiguracije. Ovo će spriječiti ponovno pokretanje aktivnosti.
- In Paket Explorer, dvaput kliknite xml.
- U Aplikacija odjeljak, locirajte aktivnost koja će upravljati Login with Amazon (nprample, MainActivity).
- Dodajte sljedeći atribut aktivnosti koju ste pronašli u koraku 2:
android: configChanges = ”tipkovnica | skrivena tipkovnica | orijentacija” Ili za API 13 ili noviji:
android: configChanges = ”tipkovnica | skrivena tipkovnica | orijentacija | veličina ekrana” - Od File meni, kliknite Sačuvaj
Sada, kada dođe do promjene orijentacije tastature ili uređaja, Android će pozvati onConfigurationChanged metoda za vašu aktivnost. Ne morate implementirati ovu funkciju osim ako postoji aspekt ovih promjena konfiguracije koji želite da obrađujete za svoju aplikaciju
Kada korisnik klikne gumb Prijava putem Amazona, API će pokrenuti web pretraživač da korisniku prikaže stranicu za prijavu i pristanak. Da bi ova aktivnost pretraživača radila, morate dodati AuthorizationActivity u svoj manifest.
- In Paket Explorer, dvaput kliknite xml.
- U Aplikacija odjeljak, dodajte sljedeći kod, zamjenjujući “com.example.app” s nazivom vašeg paketa za ovu aplikaciju:
<aktivnost 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” />
<podaci
android:host=”com.example.app” android:scheme=”amzn” />
svoju aplikaciju. Ovaj odjeljak daje korake za preuzimanje službene slike za prijavu s Amazonom i uparivanje s Android ImageButtonom.
- Dodajte standardni ImageButton u svoju aplikaciju.
Za više informacija o Android tipkama i klasi ImageButton pogledajte Dugmad na developer.android.com. - Dajte svom dugmetu ID.
U XML deklaraciji dugmeta postavite atribut android:id na @+id/login_with_amazon. Za nprample:android: id = ”@ + id / login_with_amazon” - Odaberite sliku dugmeta.
Pogledajte našu prijavu sa Amazonom Smernice za stil za popis gumba koje možete koristiti u svojoj aplikaciji. Preuzmite kopiju LWA_Android.zip file. Izdvojite kopiju željenog gumba za svaku gustoću ekrana koju vaša aplikacija podržava (xxhdpi, xhdpi, hdpi, mdpi ili tvdpi). Za više informacija o podršci za više gustoća zaslona u Androidu pogledajte Alternativni izgledi u temi „Podrška više zaslona“ ondeveloper.android.com. - Kopirajte odgovarajuću sliku dugmeta files na vaš projekat.
Za svaku gustinu zaslona koju podržavate (xhdpi, hdpi, mdpi ili ldpi) kopirajte preuzeto dugme na res / nacrtano direktorij za tu gustinu ekrana. - Proglasite sliku dugmeta.
U XML deklaraciji dugmeta postavite atribut android:src na ime dugmeta koje ste odabrali. Za nprample:android: src = ”@ drawable / btnlwa_gold_loginwithamazon.png” 6. Učitajte svoju aplikaciju i uvjerite se da gumb sada ima sliku Login with Amazon. Trebali biste provjeriti da li se dugme ispravno prikazuje za svaku gustinu ekrana koju podržavate.
Ovaj odjeljak objašnjava kako pozvati autorizaciju i getProfile API-ji za prijavu korisnika i preuzimanje njegovog profesionalcafile podaci. Ovo uključuje kreiranje onClick slušatelja za vaše dugme Login with Amazon u metodi onCreate vaše aplikacije.
- Dodajte Login with Amazon u svoj Android projekat. Vidi Instalirajte Login with Amazon Library .
- Uvezite Login sa Amazon API u svoj izvor
Da biste uvezli Login with Amazon API, dodajte sljedeće naredbe za uvoz u svoj izvor file:import com.amazon.identity.auth.device.AuthError; uvoz
com.amazon.identity.auth.device.authorization.api.
AmazonAuthorizationManager; uvoz
com.amazon.identity.auth.device.authorization.api. AuthorizationListener; import com.amazon.identity.auth.device.authorization.api.AuthzConstants; - Inicijaliziraj AmazonAuthorizationManager.
Morat ćete deklarirati an AmazonAuthorizationManager varijablu i kreirajte novu instancu klase. Kreiranje nove instance zahtijeva samo vaš trenutni kontekst aplikacije i prazan paket. Najbolje mjesto za inicijalizaciju AmazonAuthorizationManager je u onCreate način vaše aktivnosti. Za nprample: - Kreirajte AuthorizeLiistener.
AuthorizeListener implementira interfejs AuthorizatioinListener i obraditi će rezultat odobriti poziv. Sadrži tri metode: oinSuccess, onError, i onCanceil. Svaka metoda prima ili Bundle ili an AuthError objekt.privatna klasa AuthorizeListener implementira AuthorizationListener{
/ * Odobrenje je uspješno završeno. * /
@Override
public void onSuccess(Bundle odgovor) {
}
/* Došlo je do greške prilikom pokušaja autorizacije aplikacije.
*/
@Override
javna praznina onError (AuthError ae) {
}
/* Autorizacija je otkazana prije nego što je mogla biti dovršena. */
@Override
javno poništenje onCancel(uzrok skupa) {
}
} - Zovi AmazonAuthorizationManager.authorize.
U onClick rukovaoca za vaše dugme Login with Amazon, pozovite autorizaciju da zatražite od korisnika da se prijavi i autorizuje vašu aplikaciju.
Ova metoda je odgovorna za autorizaciju kupca na jedan od sljedećih načina:- Prebacuje se na sistemski pretraživač i omogućava korisniku da se prijavi i pristane na traženo
- Prebacuje na web view u sigurnom kontekstu, da omogući korisniku da se prijavi i pristane na traženo
Ovaj sigurni kontekst za #2 trenutno je dostupan kao aplikacija Amazon Shopping na Android uređajima. Uređaji koje je kreirao Amazon koji koriste Fire OS (nprample Kindle Fire, Fire Phone i Fire TV) uvijek koristite ovu opciju čak i ako na uređaju nema aplikacije Amazon Shopping. Zbog toga, ako je kupac već prijavljen u aplikaciju Amazon Shopping, ovaj API će preskočiti stranicu za prijavu, što će dovesti do Single Sign On iskustvo za kupca.
Kada je vaša aplikacija ovlaštena, ona je ovlaštena za jedan ili više skupova podataka poznatih kao opsega. Prvi parametar je niz opsega koji obuhvata korisničke podatke koje tražite od Login with Amazon. Kada se korisnik prvi put prijavi u vašu aplikaciju, prikazat će mu se lista podataka koje tražite i koje tražite odobrenje. Prijava na Amazon trenutno podržava tri opsega: profile, koji sadrži ime korisnika, adresu e-pošte i ID Amazon naloga; profile:Korisnički broj, koji sadrži samo ID Amazon računa; i poštanski broj, koji sadrži poštanski broj korisnika.
Najbolji način za pozivanje autorizacije je asinkrono, tako da ne morate blokirati UI nit ili kreirati vlastitu radnu nit. Nazvati autorizovati asinhrono, proslijediti objekt koji podržava AuthorizationListenerinterface kao zadnji parametar:privatni AmazonAuthorizationManager mAuthManager; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
mAuthManager = novi AmazonAuthorizationManager(ovo, Bundle.EMPTY);// Pronađite dugme s login_with_amazon ID-om
// i postavite rukovatelj klikom
mLoginButton = (Dugme) pronaćiViewById(R.id.login_with_amazon);
mLoginButton.setOnClickListener(novi OnClickListener() {
@Override
javna praznina naClick (View v) {
mAuthManager.authorize(
novi niz []{“profile","poštanski broj"},
Bundle.EMPTY, novi AuthorizeListener());
}
});
} - Kreirajte a ProfileSlušalac.
ProfileSlušalac je naše ime za klasu koja implementira APIListener interfejs, i obraditi će rezultat getProfile poziv. APIListener sadrži dvije metode: onSuccess i onError (ne podržava onCancel jer ne postoji način da otkažete a getProfile poziv). onSuccess prima Bundle objekt sa profile podatke, dok onEriror prima an AuthError objekt s informacijama o grešci.privatne klase ProfileSlušalac implementira APIListener{ /* getProfile uspješno završeno. */ @Override
public void onSuccess(Bundle odgovor) {}
/* Došlo je do greške tokom pokušaja preuzimanja profile. */ @Override
javna praznina onError (AuthError ae) {
}
} - Implementirati onSuccess za tvoje AuthorizeListener.
In na uspjehu, poziv AmazonAuthorizationManager.getProfile za preuzimanje korisničkog profile. getProfile, kao i autorizacija, koristi asinhroni interfejs slušaoca. Za getProfile, taj interfejs je APIListener, a neAuthorizationListener.
/* Autorizacija je uspješno završena. */ @Override
public void onSuccess(Bundle odgovor) {
mAuthManager.getProfile(novi ProfileSlušalac());} - Implementirati onSuccessfor tvoj ProfileSlušalac.
onSuccessshas dva glavna zadatka: dohvatiti profile podatke iz paketa odgovora i za prosljeđivanje podataka korisničkom sučelju. updateProfileDatais hipotetička funkcija koju bi vaša aplikacija mogla implementirati za Display Profile detalji. setLoggedInState, još jedna hipotetička funkcija, bi ukazivala da je korisnik prijavljen i dala bi mu način odjava.
Da biste preuzeli profile podataka iz Bundle-a, koristimo imena pohranjena od strane AuthzConstants klasa. The onSuccess paket sadrži profile podaci u BUNDLE_KEY.PROFILE bundle.
U okviru proffile bundle, podaci opsega su indeksirani pod PROFILE_KEY.NAME, PROFILE_KEY.EMAIL, PROFILE_KEY.USER_ID, i PROFILE_KEY.POSTAAL_CODE. PROFILE_KEY.POSTAAL_CODE uključen je samo ako zatražite poštanski_broj obim.@Override
public void onSuccess(Bundle odgovor) {
// Dohvati podatke koji su nam potrebni iz Bundle Bundle profileBundle = response.getBundle(
AuthzConstants.BUNDLE_KEY.PROFILE.val);
Ime niza = profileBundle.getString(
AuthzConstants.PROFILE_KEY.NAME.val);
String email = profileBundle.getString(
AuthzConstants.PROFILE_KEY.EMAIL.val);
String nalog = profileBundle.getString(
AuthzConstants.PROFILE_KEY.USER_ID.val);
String poštanski broj = profileBundle.getString(
AuthzConstants.PROFILE_KEY.POSTAL_CODE.val);
runOnUiThread(new Runnable() { @Override
public void run() {
updateProfilePodaci (ime, email, račun, poštanski broj);
}
});
} - Implementirati onError za tvoje ProfileSlušalac.
onError uključuje an AuthError objekt koji sadrži detalje o grešci./* Došlo je do greške tokom pokušaja preuzimanja profile. */ @Override
javna praznina onError (AuthError ae) {
/* Pokušajte ponovo ili obavijestite korisnika o grešci */
} - Implementirati onErrorfor tvoj AuthorizeListener.
/* Došlo je do greške prilikom pokušaja autorizacije aplikacije.
*/
@Override
javna praznina onError (AuthError ae) {
/ * Obavijestite korisnika o grešci * /
} - Implementirati onCancelfor tvoj AuthorizeListener.
Budući da postupak autorizacije predstavlja zaslon za prijavu (i možda zaslon za pristanak) korisniku u web preglednik (ili a webview), korisnik će imati priliku da otkaže prijavu ili napusti stranicu web stranica. Ako eksplicitno otkažu proces prijave, onCancel se zove. Ako onCancelis pozvani, htjet ćete resetirati svoje korisničko sučelje./* Autorizacija je otkazana prije nego što je mogla biti dovršena. */
@Override
javno poništenje onCancel(uzrok skupa) {
/* resetirajte korisničko sučelje u stanje spremno za prijavu */
}Napomena: Ako se korisnik udalji od ekrana za prijavu u pregledniku ili web view i vrati se na vašu aplikaciju, SDK neće otkriti da prijava nije dovršena. Ako otkrijete aktivnost korisnika u vašoj aplikaciji prije nego što je prijava završena, možete pretpostaviti da su se udaljili od preglednika i reagirali u skladu s tim.
Provjerite prijavu korisnika prilikom pokretanja
Ako se korisnik prijavi u vašu aplikaciju, zatvori aplikaciju i kasnije ponovo pokrene aplikaciju, aplikacija je i dalje ovlaštena za dohvaćanje podataka. Korisnik se ne odjavljuje automatski. Prilikom pokretanja, možete prikazati korisnika kao prijavljenog ako je vaša aplikacija još uvijek ovlaštena. Ovaj odjeljak objašnjava kako koristiti getToken da vidite da li je aplikacija još uvijek ovlaštena.
- Kreirajte a TokenListener.
TokenListener implementira APIListener interfejs, i obraditi će rezultat getToken poziva. APIListener sadrži dvije metode: onSuccess i onError (ne podržava onCancel jer ne postoji način da otkažete a getToken poziv). onSuccess prima Bundle objekt s podacima tokena, dok onError prima an AuthError objekt s informacijama o grešci.privatna klasa TokenListener implementira APIListener{ /* getToken je uspješno završen. */ @Override
public void onSuccess(Bundle odgovor) {
}
/* Došlo je do greške tokom pokušaja preuzimanja tokena. */ @Override
javna praznina onError (AuthError ae) {
}
} - U onStart način Vaše aktivnosti, poziv getToken da biste vidjeli je li aplikacija i dalje odobrena.
getToken dohvaća neobrađeni token pristupa koji AmazonAuthorizationManager koristi za pristup klijentu profile. Ako vrijednost tokena nije null, tada je aplikacija i dalje autorizirana i poziva na getProfile treba uspjeti. getTokenrequires iste opsege koje ste tražili u svom pozivu za autorizaciju.
getTokensuporaba asinhroni pozivi na isti način kao getProfile, tako da ne morate blokirati UI nit ili kreirati vlastitu radnu nit. Da biste asinhrono pozvali getToken, proslijedite objekt koji podržava APIListener interfejs kao konačni parametar.@Override
zaštićena void onStart(){
super.onStart
();mAuthManager.getToken(novi niz []{“profile","poštanski broj"},
novo
TokenListener());
} - Implementirati onSuccess za tvoje TokenListener.
onSuccessshas dva zadatka: dohvatiti token iz Bundle-a i ako je token ispravan, pozvati getProfile.
Da bismo dohvatili podatke o tokenu iz Bundle-a, koristimo imena pohranjena od strane AuthzConstants klasa. The onSuccess bundle sadrži podatke o tokenu u vrijednosti BUNDLE_KEY.TOKEN. Ako ta vrijednost nije null, ovaj example calls getProfile koristeći isti slušalac koji ste deklarirali u prethodnom odjeljku (pogledajte korake 7 i 8)./* getToken je uspješno završen. */
@Override
public void onSuccess(Bundle odgovor) {
konačni string authzToken =
response.getString(AuthzConstants.BUNDLE_KEY.TOKEN.val);
if (!TextUtils.isEmpty(authzToken))
{
// Povrati profile podaci
mAuthManager.getProfile(novi ProfileSlušalac());
}
}
Metoda clearAuthorizationState će izbrisati autorizacijske podatke korisnika iz AmazonAuthorizationManager lokalne skladišta podataka. Korisnik će se morati ponovo prijaviti kako bi aplikacija dohvatila profile podataka. Koristite ovu metodu za odjavu korisnika ili rješavanje problema s prijavom u aplikaciji.
- Implementirajte odjavu
Kada se korisnik uspješno prijavio, trebali biste osigurati mehanizam za odjavu kako bi mogli obrisati svog profesionalcafile podatke i prethodno odobrene opsege. Vaš mehanizam može biti hiperveza ili stavka menija. Za ovaj example mi ćemo kreirati an onClick metoda za dugme. - U svom alatu za odjavljivanje, pozovite clearAuthorizationState. clearAuthorizationState će ukloniti autorizacijske podatke korisnika (pristupne tokene, profile) iz lokalne trgovine. clearAuthorizationStatetakes nema parametara osim an APIListener vratiti uspjeh ili
- Proglasi anonimnim APIListener.
Anonimne klase su korisna alternativa za deklarisanje nove klase za implementaciju APIListener. Vidi Rukujte gumbom za prijavu i nabavite Profile Podaci (str. 17) za an exampletthat izjavljuje klase slušatelja. - Implementirati onSuccess unutar APIListener
Kada clearAuthorizationState Uspije, trebali biste ažurirati svoje korisničko sučelje kako biste uklonili reference na korisnika i obezbijedili mehanizam za prijavu koji korisnici mogu koristiti za ponovnu prijavu. - Implementirati onError unutar APIListener.
If clearAuthorizationStatereturns greška, možete dopustiti korisniku da se pokuša ponovo odjaviti.@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
/ * Prethodno naCreate deklaracije su izostavljene * /
// Pronađite dugme s ID-om za odjavu i postavite obrađivač klikova
mLogoutButton = (Dugme) pronaćiViewById(R.id.logout);
mLogoutButton.setOnClickListener(novi OnClickListener() {
@Override
javna praznina naClick (View v) {
mAuthManager.clearAuthorizationState(novo
APIListener() {
@Override
public void onSuccess(Rezultati skupa) {
// Postavljanje odjavljenog stanja u korisničkom sučelju
}
@Override
javna praznina onError (AuthError authError) {
// Zabilježite grešku
}
});
}
});
}
Neki AmazonAuthorizationManager metode vraćaju Future objekat. Ovo vam omogućava da sinhrono pozovete metodu umesto da prosleđujete slušaoca kao parametar. Ako koristite Future objekat, ne biste ga trebali koristiti na UI niti. Ako blokirate UI nit na više od pet sekundi, dobit ćete ANR (Application Not Responding) prompt. U Handle the Login Button i Get Profile Podaci example , the onSuccess metoda za AuthorizeListener se poziva sa radničkom niti koju je kreirao AmazonAuthorizationManager. To znači da je bezbedno koristiti tu nit za pozivanje getPirofile sinhrono. Da biste izvršili sinhroni poziv, dodijelite povratnu vrijednost od getPirofile budućem objektu i pozovite gietmethod na tom objektu da sačeka dok se metoda ne završi.
Fuiture.get vraća Bundle objekt koji sadrži a FUTURE_TYPE vrijednost od USPJEH, GREŠKA, or OTKAZI. Ako je metoda bila uspješna, isti paket će sadržavati PROFILE_KEY vrijednosti za profesionalcafile podaci. Za nprample:
/ * Odobrenje je uspješno završeno. * / @Override public void onSuccess(Bundle odgovor) { Budućnost<Bundle> budućnost = mAuthManager.getProfile(null); Bundle result = future.get();// Saznajte da li je poziv uspio i pronađite profile Objekt future_type = result.get(AuthzConstants.BUNDLE_KEY.FUTURE.val); if (future_type == AuthzConstants.FUTURE_TYPE.SUCCESS) { Ime stringa = 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 poštanski broj = result.getString( AuthzConstants.PROFILE_KEY.POSTAL_CODE.val); runOnUiThread(new Runnable() { @Override public void run() { updateProfilePodaci (ime, email, račun, poštanski broj); } }); } else if (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Dobivanje objekta greške AuthError authError = AuthError.extractError(rezultat); /* Koristite authError za dijagnosticiranje greške */ } |
Prijavite se na Amazon Vodič za početak za Android – Preuzmi [optimizirano]
Prijavite se na Amazon Vodič za početak za Android – Preuzmi