Prijavite se putem Amazonovog vodiča za početak rada za Android
Prijavite se putem Amazona: Vodič za početak rada za Android
Autorsko pravo © 2016 Amazon.com, Inc. ili njegove podružnice. Sva prava pridržana. Amazon i logotip Amazona zaštitni su znakovi tvrtke Amazon.com, Inc. ili njezinih podružnica. Svi ostali zaštitni znakovi koji nisu u vlasništvu Amazona vlasništvo su svojih vlasnika.
Početak rada za Android
U ovom vodiču pokazat ćemo vam kako dodati prijavu putem Amazona u svoju Android aplikaciju. Nakon dovršetka ovog vodiča trebali biste imati funkcionalan gumb Prijava s Amazonom u svojoj aplikaciji kako biste korisnicima omogućili prijavu sa svojim Amazon vjerodajnicama.
Instaliranje alata za razvojne programere Androida
Login with Amazon SDK za Android pomoći će vam da dodate Login with Amazon svojoj Android aplikaciji. Preporučujemo da s Android Studiom koristite Login with Amazon SDK za Android s developer.amazon.com. Međutim, također možete koristiti dodatak Eclipse with ADT. Za korake o tome kako instalirati Android Studio i kako postaviti Android SDK, pogledajte Nabavite Android SDK na developer.android.com.
Kada je Android SDK instaliran, pronađite SDK upravitelj aplikaciju u vašoj instalaciji Androida. Za razvoj za Login with Amazon, morate koristiti SDK Manager za instaliranje SDK platforme za Android 2.2 ili noviju (API verzija 8). Vidjeti Dodavanje SDK paketa na developer.android.com za više informacija o korištenju SDK-a
Nakon instaliranja SDK-a, postavite Android virtualni uređaj (AVD) za pokretanje vaših aplikacija. Vidjeti Upravljanje Virtualni uređaji na developer.android.com za upute o postavljanju virtualnog uređaja.
Kada je vaše razvojno okruženje postavljeno, 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
Login with Amazon SDK za Android dolazi u dva paketa. Prvi sadrži Android knjižnicu i prateću dokumentaciju. Drugi sadrži asample aplikacija koja korisniku omogućuje prijavu i prikazuje njegovu profile podaci.
Ako još niste instalirali Android SDK ili Android razvojne alate, pogledajte Instaliranje Android Developer Tools odjeljak iznad.
- preuzimanje zip i izvucite files u direktorij na tvrdom disku.
Trebali biste vidjeti doc i a lib poddirektorij. - Otvoriti doc/index.html do view Login with Amazon Android API
- Vidjeti Instalirajte Login with Amazon Library, za upute o tome kako dodati biblioteku i dokumentaciju na Android
Kada je instaliran Login with Amazon SDK za Android, možete Stvorite novu prijavu s Amazonom Projekt, nakon Registriranje s Loginom na Amazonu .
Pokrenite Sample App
Za pokretanje sample aplikaciju, uvezite sampu radni prostor AndroidStudio (ako koristite Eclipse, radnom prostoru morate dodati i prilagođeno spremište ključeva za otklanjanje pogrešaka. Pogledajte Dodajte Custom Debug Spremište ključeva u Eclipseu odjeljak u nastavku). API ključ koji sampkoristi aplikacija zahtijeva da radni prostor koristi spremište ključeva koje se isporučuje sample. Ako prilagođeno spremište ključeva nije instalirano, korisnici se neće moći prijaviti pomoću sample. Spremište ključeva automatski će se preuzeti ako koristite AndroidStudio.
- preuzimanje SampleLoginWithAmazonAppForAndroid-src.zip i izvucite files u imenik na vašem hardu
- Pokrenite Android Studio i odaberite Otvorite postojeći projekt Android Studija
- Pregledajte SampleLoginWithAmazonApp imenik dobiven nakon izdvajanja preuzetog zip file u koraku
- Od Izgraditi izbornik, kliknite Napravi projekt, i pričekajte da projekt
- Od Trčanje izbornik, kliknite Trčanje a zatim kliknite na SampleLoginWithAmazonApp.
- Odaberite emulator ili povezani Android uređaj i kliknite Trčanje.
Dodajte Custom Debug Key store u Eclipse
Ako koristite Eclipse, slijedite upute u nastavku za dodavanje prilagođenog spremišta ključeva za otklanjanje pogrešaka:
- u Postavke dijalog, odaberite Android i Izgraditi.
- Pored Običaj Debug Keystore, kliknite Pregledaj.
- Idite na sample app imenik i odaberite 3p.spremište ključeva, a zatim kliknite OK.
Registriranje s Loginom na Amazonu
Prije nego što možete koristiti Login s Amazonom na webweb-mjestu ili u mobilnoj aplikaciji, morate registrirati aplikaciju na Login with Amazon. Vaša Login with Amazon prijava je registracija koja sadrži osnovne podatke o vašem poslovanju i podatke o svakom webweb mjesto ili mobilnu aplikaciju koju izradite koja podržava prijavu putem Amazona. Ove poslovne informacije prikazuju se korisnicima svaki put kada koriste Login with Amazon na vašem webstranica ili mobilna aplikacija. Korisnici će vidjeti naziv vaše aplikacije, vaš logo i poveznicu na vašu politiku privatnosti. Ovi koraci pokazuju kako registrirati aplikaciju Login with Amazon i dodati Android aplikaciju tom računu.
Pogledajte sljedeće teme:
- Registrirajte svoju prijavu s aplikacijom Amazon
- Registrirajte svoju Android aplikaciju
- Dodajte Android aplikaciju za Amazon Appstore
- Dodajte Android aplikaciju bez Appstorea
- Potpisi Android aplikacija i API ključevi
- Utvrđivanje potpisa Android aplikacije
- Dohvaćanje Android API ključa
Registrirajte svoju prijavu s aplikacijom Amazon
- Idi na https://login.amazon.com.
- Ako ste se već prijavili za prijavu s Amazonom, kliknite Konzola aplikacija. U suprotnom kliknite Prijavite se. Bit ćete preusmjereni na Seller Central, koji upravlja registracijom aplikacije za prijavu s Ako prvi put koristite Seller Central, od vas će se tražiti da postavite račun Seller Central.
- Klik Registrirajte novu prijavu. The Registrirajte svoju prijavu pojavit će se obrazac:
a. u Registrirajte svoju prijavu obrazac, unesite a Ime i a Opis za vašu prijavu.
The Ime je ime koje se prikazuje na zaslonu pristanka kada korisnici pristanu dijeliti informacije s vašom aplikacijom. Ovaj naziv se odnosi na Android, iOS i webweb -lokacije vaše aplikacije.
b. Unesite a Obavijest o privatnosti URL za vašu prijavu
The Obavijest o privatnosti URL je mjesto politike privatnosti vaše tvrtke ili aplikacije (nprample, http://www.example.com/privacy.html). Ova se poveznica prikazuje korisnicima na zaslonu pristanka.
c. Ako želite dodati a Slika logotipa za svoju prijavu kliknite Pregledaj i pronađite primjenjivu sliku.
Ovaj logotip prikazuje se na ekranu za prijavu i pristanak kako bi predstavljao vašu tvrtku ili webmjesto. Logo će biti smanjen na 50 piksela u visinu ako je viši od 50 piksela; nema ograničenja u pogledu širine logotipa - Klik Uštedjeti. Vaš sampregistracija bi trebala izgledati ovako:
Nakon što su vaše osnovne postavke aplikacije spremljene, 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 izbor registracije aplikacije putem Amazon Appstore (Dodajte Android aplikaciju za Amazon Appstore, str. 8) ili izravno s Login with Amazon (Dodajte Android Aplikacija bez Appstorea, str. 9). Kada je vaša aplikacija registrirana, imat ćete pristup API ključu koji će vašoj aplikaciji omogućiti pristup autorizacijskoj usluzi Login with Amazon.
Bilješka: Ako planirate koristiti Amazon Device Messaging unutar svoje Android aplikacije, obratite se lwa- support@amazon.com s:
- Adresa e-pošte Amazon računa koji ste upotrijebili za prijavu na Login with Amazon.
- Adresa e-pošte Amazon računa koji ste upotrijebili za prijavu na Amazon Appstore (ako se razlikuje).
- Ime na vašem računu Seller Central. (Na Seller Central kliknite Postavke > Podaci o računu > Podaci o prodavaču, i koristite ime za prikaz).
- Ime na vašem računu razvojnog programera Amazon Appstore. (Na web mjestu za distribuciju mobilnih aplikacija kliknite postavke > Tvrtka profesionalacfile i koristite Ime programera ili naziv tvrtke).
Dodajte Android aplikaciju za Amazon Appstore
Sljedeći koraci će dodati aplikaciju Amazon Appstore na vaš Login with Amazon račun:
- Na zaslonu aplikacije kliknite Android postavke. Ako već imate registriranu Android aplikaciju, potražite Dodajte API ključ gumb u Android postavke
The Pojedinosti aplikacije za Android pojavit će se obrazac: - Odaberite Da kao odgovor na pitanje "Je li ova aplikacija distribuirana putem Amazon Appstore?"
- Unesite Označiti vaše Android aplikacije. Ovo ne mora biti službeni naziv vaše aplikacije. Jednostavno identificira ovu određenu Android aplikaciju među aplikacijama i webweb -lokacije registrirane na vašu aplikaciju Prijava s Amazonom.
- Dodajte svoje ID Amazon Appstore.
- Ako ste sami potpisali svoju aplikaciju, dodajte informacije o samopotpisivanju. To će vam omogućiti da dobijete API ključ tijekom razvoja bez izravnog korištenja Appstorea:
a. Ako vaša aplikacija nije potpisana putem Amazon Appstorea, odaberite Da kao odgovor na pitanje "Je li ova aplikacija samopotpisana?"
The Pojedinosti aplikacije za Android obrazac će se proširiti:
b. Unesite svoje Naziv paketa.
Ovo mora odgovarati nazivu paketa vašeg Android projekta. Da biste odredili naziv paketa svog Android projekta, otvorite projekt u alatu za razvojne programere Androida po svom izboru.
Otvoriti AndroidManifest.XML u Package Exploreru 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 odvojena dvotočkom (npr.ampono: 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). Vidjeti Potpisi Android aplikacija i API ključevi za korake koje možete koristiti za izdvajanje potpisa iz vašeg projekta. - Klik Uštedjeti.
Ako različite verzije vaše aplikacije imaju različite potpise ili nazive paketa, primjerice za jednu ili više verzija za testiranje i produkcijsku verziju, svaka verzija zahtijeva vlastiti API ključ. Od Android postavke u svojoj aplikaciji kliknite Dodajte API ključ gumb za stvaranje dodatnih ključeva za vašu aplikaciju (po jedan po verziji).
Potpisi Android aplikacija i API ključevi
Potpis aplikacije je SHA-256 hash vrijednost koja se primjenjuje na svaku Android aplikaciju kada se izgradi. Amazon koristi potpis aplikacije za izradu vašeg API ključa. API ključ omogućuje Amazonovim uslugama da prepoznaju vašu aplikaciju. Ako koristite Amazon Appstore za potpisivanje svoje aplikacije, API ključ se daje automatski. Ako ne koristite Amazon Appstore, morat ćete ručno upravljati svojim API ključem.
Potpisi aplikacije pohranjuju se u spremište ključeva. Općenito, za Android aplikacije postoji spremište ključeva za otklanjanje pogrešaka i spremište ključeva izdanja. Spremište ključeva za otklanjanje pogrešaka kreira dodatak Android Development Tools za Eclipse i koristi se prema zadanim postavkama. Možete pronaći lokaciju spremišta ključeva za otklanjanje pogrešaka u Eclipse klikom Prozor, a zatim odabirom Preference > Android > Build. S tog zaslona također možete dodati svoje vlastito spremište ključeva za otklanjanje pogrešaka. Za Android Studio, od Izgraditi izbornik, odaberite Uredi vrste izgradnje, zatim idite na Potpisivanje i pronađite spremište ključeva za otklanjanje pogrešaka u Store File polje.
Spremište ključeva izdanja obično se stvara kada izvezete svoju Android aplikaciju da biste izradili potpisani APK file.
Kroz proces izvoza, ako stvarate novo spremište ključeva izdanja, odabrat ćete njegovu lokaciju. Po
prema zadanim postavkama bit će postavljen na isto mjesto kao i vaš zadani KeyStore za otklanjanje pogrešaka.
Ako ste registrirali svoju aplikaciju pomoću potpisa za otklanjanje pogrešaka tijekom razvoja, morat ćete dodati novu Android postavku svojoj aplikaciji kada budete spremni izdati aplikaciju. Nova postavka aplikacije mora koristiti potpis iz spremišta ključeva izdanja.
Vidjeti Potpisivanje vaših prijava na developer.android.com za više informacija.
Odredite potpis Android aplikacije
- Ako imate potpisani APK file:
a. Raspakirajte APK file i ekstrakt CERT.RSA. (Ako je potrebno, APK ekstenziju možete preimenovati u ZIP).
b. Iz naredbenog retka pokrenite:alat za ključeve -printcert -file CERT.RSA Keytoolis koji se nalazi u kanta za smeće direktorij vaše Java instalacije.
- Ako imate spremište ključeva file:
a. Iz naredbenog retka pokrenite:keytool -list -v -pseudonim -skladište ključevafileime> Keytool nalazi se u direktoriju bin vaše Java instalacije. Alias je naziv ključa koji se koristi za potpisivanje aplikacije.
b. Unesite lozinku za ključ i pritisnite Uđi. - Pod Otisci prstiju certifikata, kopiraj SHA256 vrijednost.
Dohvatite Android API ključ
Kada registrirate postavku za Android i date potpis aplikacije, možete dohvatiti API ključ sa stranice za registraciju za svoju aplikaciju Login with Amazon. Morat ćete smjestiti taj API ključ u a file u vašem Android projektu. Dok to ne učinite, aplikacija neće biti ovlaštena za komunikaciju s uslugom za autorizaciju Login with Amazon.
- Idi na https://login.amazon.com.
- Klik Konzola aplikacija.
- u Prijave okvir s lijeve strane, odaberite svoj
- Pronađite svoju Android aplikaciju ispod Android postavke (Ako još niste registrirali Android aplikaciju, pogledajte Dodajte Android aplikaciju za Amazon Appstore).
- Klik Generirajte API ključnu vrijednost. Skočni prozor prikazat će vaš API ključ. Za kopiranje ključa kliknite Odaberite sve za odabir cijelog
Bilješka: Vrijednost ključa API-ja djelomično se temelji na vremenu kada je generirana. Stoga se sljedeće API ključeve koje generirate mogu razlikovati od izvornika. Možete koristiti bilo koju od ovih API ključnih vrijednosti u svojoj aplikaciji jer su sve važeće. - Vidjeti Dodajte svoj API ključ svom projektu za upute o dodavanju API ključa na vaš Android
Stvaranje prijave s projektom Amazon
U ovom odjeljku naučit ćete kako stvoriti novi Android projekt za Login with Amazon, konfigurirati projekt i dodati kod u projekt za prijavu korisnika s Login with Amazon. Opisat ćemo korake za Android Studio, ali možete primijeniti analogne korake na bilo koji IDE ili Android razvojni alat po vašem izboru.
Pogledajte sljedeće teme:
- Stvorite novu prijavu s projektom Amazon
- Instalirajte Login with Amazon Library
- Omogućite Content Assist za prijavu s Amazon Library
- Postavite mrežna dopuštenja za svoju aplikaciju
- Dodajte svoj API ključ svom projektu
- Uklonite Sample App Custom Debug Keystore
- Rukujte promjenama konfiguracije za svoju aktivnost
- Dodajte aktivnost autorizacije svom projektu
- Dodajte prijavu s Amazonovim gumbom u svoju aplikaciju
- Rukujte gumbom za prijavu i nabavite Profile Podaci
- Provjerite prijavu korisnika prilikom pokretanja
- Očistite stanje autorizacije i odjavite korisnika
- Sinkrono pozovite metode upravitelja autorizacije Amazona
Stvorite novu prijavu s projektom Amazon
Ako još nemate projekt aplikacije za korištenje prijave putem Amazona, slijedite upute u nastavku da biste ga izradili. Ako već imate aplikaciju, prijeđite na Instalirajte Login with Amazon Library .
- Pokreni Android razvojni alat.
- Od File izbornik, odaberite Novi i Projekt.
- Unesite Naziv aplikacije i Naziv tvrtke za tvoju
- Unesite Primjena i naziv tvrtke koji odgovara nazivu paketa koji ste odabrali kada ste registrirali svoju aplikaciju na Login with Amazon.
Ako još niste registrirali svoju aplikaciju, odaberite a Naziv paketa a zatim slijedite upute u Registriranje s Loginom na Amazonu odjeljak nakon što stvorite svoj projekt. 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 8: Android 2 (Froyo) ili noviji i kliknite Sljedeći.
- Odaberite vrstu aktivnosti koju želite stvoriti i kliknite Sljedeći.
- Ispunite relevantne podatke i kliknite Završiti.
Sada ćete imati novi projekt u svom radnom prostoru koji možete koristiti za poziv Login with Amazon.
Instalirajte Login with Amazon Library
Ako još niste preuzeli Login with Amazon SDK za Android, pogledajte Instalirajte Login with Amazon SDK za Android (str. 4).
- Dok je vaš projekt otvoren u alatima za razvojne programere Androida, u Istraživač projekta, desnom tipkom miša kliknite svoj Projekt.
- Ako je mapa pozvana libs nije već prisutan, stvoriti
- Kopiraj login-with-amazon-sdk.jar file iz File sustav, a zatim ga zalijepite u libs direktorij pod vašim projektom/aplikacijom.
- Desni klik login-with-amazon-sdk.jar, i provjerite Dodaj kao biblioteku
Omogućite Content Assist za prijavu s Amazon Library u Eclipse
Da bi se omogućila podrška za Eclipse content assist u Android projektu potrebno je koristiti a .svojstva file. Za više informacija o pomoći pri sadržaju pogledajte Pomoćnik za sadržaj/kod onhelp.eclipse.org.
Da bi se omogućila podrška za Eclipse content assist u Android projektu potrebno je koristiti a .svojstva file. Za više informacija o pomoći pri sadržaju pogledajte Pomoćnik za sadržaj/kod onhelp.eclipse.org.
- In Windows Explorer, idite na dokumenti mapu za Login with Amazon SDK za Android i kopirajte mapu u
- S otvorenim projektom idite na Istraživač paketa i odaberite libs Klik Uredi iz glavnog izbornika i odaberite Zalijepiti. Sada biste trebali imati a libs\docs imenik.
- Odaberite libs Klik File iz glavnog izbornika i odaberite Novi iFile.
- u Novi File dijalog, unesite login-with-amazon-sdk.jar.properties i kliknite Završiti.
- Eclipse bi se trebao otvoriti login-with-amazon-sdk.jar.properties u uređivaču teksta. U uređivaču teksta dodajte sljedeći redak u file:
doc=dokumenti - Od File izbornik, kliknite Uštedjeti.
- Možda ćete morati ponovno pokrenuti Eclipse kako bi promjene stupile na snagu
Postavite mrežna dopuštenja za svoju aplikaciju
Kako bi vaša aplikacija koristila prijavu putem Amazona, mora pristupiti internetu i informacijama o stanju mreže. Vaša aplikacija mora potvrditi ta dopuštenja u vašem Android manifestu, ako to već nije učinila.
BILJEŠKA: Koraci postupka u nastavku specifični su za dodavanje dopuštenja u Eclipse. Ako koristite Android Studio ili drugi IDE, možete preskočiti sve korake navedene u nastavku. Umjesto toga kopirajte retke koda prikazane ispod snimke zaslona i zalijepite ih u AndroidManifest.xml file, izvan bloka aplikacije.
- In Paket Istraživač, dvaput kliknite xml.
- Na Dozvole karticu, kliknite Dodati.
- Odaberite Koristi dopuštenje i kliknite OK.
- Desno od Dozvole, pronađite Atributi za dopuštenje za korištenje
- u Ime okvir, unesite dopuštenje. INTERNET ili ga odaberite s padajućeg izbornika.
- Na Dozvole karticu, kliknite Dodati
- Odaberite Koristi dopuštenje i kliknite OK.
- u Ime okvir, unesite dopuštenje.ACCESS_NETWORK_STATE ili ga odaberite s padajućeg izbornika
- Od File izbornik, kliknite Uštedjeti.
Vaša manifestna dopuštenja sada bi trebala imati sljedeće vrijednosti:
u AndroidManifest.xml sada biste trebali vidjeti ove unose ispod elementa manifesta:
Dodajte svoj API ključ svom projektu
Kada registrirate svoju Android aplikaciju s Login with Amazon, dodijeljen vam je API ključ. Ovo je identifikator koji će Amazonov upravitelj autorizacije koristiti za identifikaciju vaše aplikacije u servisu za autorizaciju Login with Amazon. Ako koristite Amazon Appstore za potpisivanje svoje aplikacije, Appstore će automatski osigurati API ključ. Ako ne koristite Amazon Appstore, Amazon Authorization Manager učitava ovu vrijednost tijekom izvođenja iz api_key.txt file u imovina imenik.
- Ako još nemate svoj API ključ, slijedite upute u Dohvatite Android API ključ (str. 11).
- S vašim ADT projektom otvorenim, od File izbornik, kliknite Novi i odaberite Tekst bez naslova File. Sada biste trebali imati prozor za uređivanje teksta file imenovani Bez naslova 1. Dodajte svoj API ključ u tekst
- Od File izbornik, kliknite Spremi kao.
- u Spremi kao dijaloški okvir, odaberite imovina direktorij vašeg projekta kao nadređenu mapu. Za File ime, uđi txt.
Uklonite Sample App Custom Debug Keystore
BILJEŠKA: Ovaj korak je potreban samo ako koristite Eclipse; ako koristite Android Studio, preskočite ovaj odjeljak.
Ako ste instalirali Login with Amazon for Android sampaplikaciju u isti radni prostor koji koristite za svoju Android aplikaciju, možda imate postavljeno prilagođeno spremište ključeva za otklanjanje pogrešaka za radni prostor. Morate očistiti prilagođeno spremište ključeva za otklanjanje pogrešaka kako biste koristili vlastiti API ključ.
- U glavnom izborniku kliknite Prozor i odaberite Postavke.
- u Postavke dijalog, odaberite Android i Izgraditi.
- Očistite Običaj spremište ključeva za otklanjanje pogrešaka
- Klik OK.
Rukujte promjenama konfiguracije za svoju aktivnost
Ako korisnik promijeni orijentaciju zaslona ili promijeni stanje tipkovnice uređaja dok se prijavljuje, to će zatražiti ponovno pokretanje trenutne aktivnosti. Ovo ponovno pokretanje će neočekivano odbaciti zaslon za prijavu. Da biste to spriječili, trebali biste postaviti aktivnost koja koristi metodu autorizacije za ručno rukovanje tim promjenama konfiguracije. To će spriječiti ponovno pokretanje aktivnosti.
- In Paket Istraživač, dvaput kliknite xml.
- u Primjena odjeljku, pronađite aktivnost koja će upravljati prijavom putem Amazona (nprample, Glavna aktivnost).
- Dodajte sljedeći atribut aktivnosti koju ste pronašli u 2. koraku:
android:configChanges=”tipkovnica|tipkovnicaSkrivena|orijentacija” Ili za API 13 ili noviji:
android:configChanges=”tipkovnica|tipkovnicaSkrivena|orijentacija|veličina zaslona” - Od File izbornik, kliknite Uštedjeti
Sada, kada dođe do promjene orijentacije tipkovnice ili uređaja, Android će pozvati onConfigurationChanged metoda za svoju aktivnost. Ne morate implementirati ovu funkciju osim ako ne postoji aspekt ovih konfiguracijskih promjena koje želite obraditi za svoju aplikaciju
Kada korisnik klikne gumb Prijava putem Amazona, API će pokrenuti a web preglednik za predstavljanje stranice za prijavu i pristanak korisniku. Kako bi ova aktivnost preglednika radila, morate dodati AuthorizationActivity u svoj manifest.
- In Paket Istraživač, dvaput kliknite xml.
- u Primjena odjeljku dodajte sljedeći kod, zamjenjujući "com.example.app” s nazivom vašeg paketa za ovu aplikaciju:
<activity 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” />
<data
android:host=”com.example.app” android:scheme=”amzn” />
svoju aplikaciju. Ovaj odjeljak daje korake za preuzimanje službene slike Login with Amazon i njezino uparivanje s Android ImageButton.
- Dodajte standardni ImageButton svojoj aplikaciji.
Za više informacija o Android gumbima i klasi ImageButton pogledajte Gumbi na developer.android.com. - Dajte svom gumbu ID.
U XML deklaraciji gumba postavite atribut android:id na @+id/login_with_amazon. Na primjerampono:android:id=”@+id/login_with_amazon” - Odaberite sliku gumba.
Pogledajte našu prijavu s Amazonom Stilske smjernice za popis gumba koje možete koristiti u svojoj aplikaciji. Preuzmite kopiju LWA_Android.zip file. Izdvojite kopiju željenog gumba za svaku gustoću zaslona koju vaša aplikacija podržava (xxhdpi, xhdpi, hdpi, mdpi ili tvdpi). Za više informacija o podršci više gustoća zaslona u Androidu, pogledajte Alternativni rasporedi u temi “Podrška za više zaslona” na developer.android.com. - Kopirajte odgovarajuću sliku gumba files na vaš projekt.
Za svaku gustoću zaslona koju podržavate (xhdpi, hdpi, mdpi ili ldpi), kopirajte preuzeti gumb na res/crtanje direktorij za tu gustoću zaslona. - Deklarirajte sliku gumba.
U XML deklaraciji gumba postavite atribut android:src na naziv gumba koji ste odabrali. Na primjerampono:android:src=”@drawable/btnlwa_gold_loginwithamazon.png” 6. Učitajte svoju aplikaciju i provjerite ima li gumb sada sliku Login with Amazon. Trebali biste provjeriti prikazuje li se gumb ispravno za svaku gustoću zaslona koju podržavate.
Ovaj odjeljak objašnjava kako pozvati autorize i getProfile API-ji za prijavu korisnika i dohvaćanje njihovih profile podaci. To uključuje stvaranje onClick slušača za vaš gumb Login with Amazon u onCreate metodi vaše aplikacije.
- Dodajte Login with Amazon svom Android projektu. Vidjeti Instalirajte Login with Amazon Library .
- Uvezite prijavu s Amazon API-jem u svoj izvor
Da biste uvezli Login with Amazon API, dodajte sljedeće izjave uvoza 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; - Inicijalizirati AmazonAuthorizationManager.
Morat ćete prijaviti AmazonAuthorizationManager varijablu i stvoriti novu instancu klase. Stvaranje nove instance zahtijeva samo trenutni kontekst aplikacije i prazan paket. Najbolje mjesto za inicijalizaciju AmazonAuthorizationManager je u onCreate način vaše aktivnosti. Na primjerampono: - Stvorite AuthorizeLiistener.
AuthorizeListener implementira sučelje AuthorizatioinListener i obradit će rezultat autorizirati poziv. Sadrži tri metode: oinSuccess, onError, i onCanceil. Svaka metoda prima Bundle ili an AuthError objekt.privatna klasa AuthorizeListener implementira AuthorizationListener{
/* Autorizacija je uspješno završena. */
@Preuzmi
public void onSuccess(Bundle response) {
}
/* Došlo je do pogreške tijekom pokušaja autorizacije aplikacije.
*/
@Preuzmi
public void onError(AuthError ae) {
}
/* Autorizacija je otkazana prije nego što je mogla biti dovršena. */
@Preuzmi
public void onCancel(Uzrok skupa) {
}
} - Poziv AmazonAuthorizationManager.authorize.
u onClick rukovatelj za vaš gumb Prijava putem Amazona, pozovite autorizaciju kako biste od korisnika zatražili da se prijavi i autorizira vašu aplikaciju.
Ova metoda je odgovorna za autorizaciju kupca na jedan od sljedećih načina:- Prebacuje se na preglednik sustava i omogućuje korisniku da se prijavi i pristane na traženo
- Prebacuje na web view u sigurnom kontekstu, kako bi se korisnik prijavio i pristao na traženo
Ovaj sigurni kontekst za #2 trenutno je dostupan kao aplikacija Amazon Shopping na Android uređajima. Uređaji koje je izradio Amazon s operativnim sustavom 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 korisnik već prijavljen u aplikaciju Amazon Shopping, ovaj API će preskočiti stranicu za prijavu, što će dovesti do Jedinstvena prijava iskustvo za kupca.
Kada je vaša aplikacija ovlaštena, ovlaštena je za jedan ili više skupova podataka poznatih kao dometi. Prvi parametar je niz opsega koji obuhvaća korisničke podatke koje tražite od Login with Amazon. Kada se korisnik prvi put prijavi u vašu aplikaciju, prikazat će mu se popis podataka koje tražite i za koje se traži odobrenje. Prijava putem Amazona trenutno podržava tri opsega: profile, koji sadrži ime korisnika, adresu e-pošte i ID Amazon računa; profile: user_id, koji sadrži samo ID računa Amazona; i Poštanski broj, koji sadrži korisnikov poštanski broj.
Najbolji način za pozivanje autorizacije je asinkroni, tako da ne morate blokirati nit korisničkog sučelja ili kreirati vlastitu radnu nit. Zvati autorizirati asinkrono, proći objekt koji podržava Autorizacijsko sučelje slušatelja kao zadnji parametar:privatni AmazonAuthorizationManager mAuthManager; @Preuzmi
zaštićeno void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
mAuthManager = novi AmazonAuthorizationManager(ovo, Bundle.EMPTY);// Pronađite gumb s ID-om login_with_amazon
// i postavite rukovatelj klikovima
mLoginButton = (Gumb) pronađiViewById(R.id.login_with_amazon);
mLoginButton.setOnClickListener(new OnClickListener() {
@Preuzmi
public void onClick(View v) {
mAuthManager.authorize(
novi niz []{“profile","Poštanski broj"},
Bundle.EMPTY, new AuthorizeListener());
}
});
} - Stvorite a profesionalacfileSlušatelj.
profesionalacfileSlušatelj je naš naziv za klasu koja implementira APIListener sučelja i obradit će rezultat getProfile poziv. APIListener sadrži dvije metode: onSuccess i onError (ne podržava onCancel jer ne postoji način da se otkaže a getProfile poziv). onSuccess prima objekt Bundle s profile podaci, dok onEriror prima an AuthError objekt s informacijama o pogrešci.privatni razred ProfileSlušatelj implementira APIListener{ /* getProfile uspješno završeno. */ @Nadjačaj
public void onSuccess(Bundle response) {}
/* Došlo je do pogreške tijekom pokušaja dobivanja profile. */ @Nadjačaj
public void onError(AuthError ae) {
}
} - implementirati onSuccess za tvoju AuthorizeListener.
In onSuccess, poziv AmazonAuthorizationManager.getProfile za preuzimanje klijenta profile. getProfile, poput autorizacije, koristi sučelje asinkronog slušatelja. Za getProfile, to sučelje je APIListener, notAuthorizationListener./* Autorizacija je uspješno završena. */ @Nadjačaj
public void onSuccess(Bundle response) {
mAuthManager.getProfile(novi ProfileSlušatelj());} - implementirati onSuccessfor tvoje profesionalacfileSlušatelj.
onSuccesshas dva glavna zadatka: dohvatiti profile podatke iz paketa odgovora i proslijediti podatke korisničkom sučelju. updateProfileDatais hipotetsku funkciju koju vaša aplikacija može implementirati za prikaz profile pojedinosti. setLoggedInState, druga hipotetska funkcija bi ukazala da je korisnik prijavljen i dala bi mu način za odjava.
Za preuzimanje profile podataka iz paketa, koristimo imena pohranjena od strane AuthzConstants razreda. The onSuccess paket sadrži profile podataka u BUNDLE_KEY.PROFILE bala.
Unutar profile paket, podaci o opsegu su indeksirani pod PROFILE_KEY.NAME, PROFILE_KEY.EMAIL, PROFILE_KEY.USER_ID, i PROFILE_KLJUČ.POŠTANSKI_BROJ. PROFILE_KLJUČ.POŠTANSKI_BROJ uključeno je samo ako zatražite poštanski_broj djelokrug.@Preuzmi
public void onSuccess(Bundle response) {
// Dohvaćanje podataka koji su nam potrebni od Bundle Bundle profileBundle = response.getBundle(
AuthzConstants.BUNDLE_KEY.PROFILE.val);
Naziv niza = profileBundle.getString(
AuthzConstants.PROFILE_KEY.NAME.val);
String email = profileBundle.getString(
AuthzConstants.PROFILE_KEY.EMAIL.val);
Gudački račun = 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, e-mail, račun, poštanski broj);
}
});
} - implementirati onError za tvoju profesionalacfileSlušatelj.
onError uključuje an AuthError objekt koji sadrži detalje o pogrešci./* Došlo je do pogreške tijekom pokušaja dobivanja profile. */ @Nadjačaj
public void onError(AuthError ae) {
/* Pokušajte ponovno ili obavijestite korisnika o pogrešci */
} - implementirati onErrorfor tvoje AuthorizeListener.
/* Došlo je do pogreške tijekom pokušaja autorizacije aplikacije.
*/
@Preuzmi
public void onError(AuthError ae) {
/* Obavijestite korisnika o pogrešci */
} - implementirati onCancelfor tvoje AuthorizeListener.
Budući da postupak autorizacije korisniku predstavlja zaslon za prijavu (i možda zaslon za pristanak) u web preglednik (ili a webview), korisnik će imati priliku poništiti prijavu ili otići s web stranica. Ako izričito otkažu proces prijave, onCancel Zove se. Ako onCancelis poziva, poželjet ćete resetirati svoje korisničko sučelje./* Autorizacija je otkazana prije nego što je mogla biti dovršena. */
@Preuzmi
public void onCancel(Uzrok skupa) {
/* resetirajte korisničko sučelje u stanje spremno za prijavu */
}Bilješka: Ako korisnik ode sa zaslona za prijavu u pregledniku ili web view i prebacuje se natrag na vašu aplikaciju, SDK neće otkriti da prijava nije dovršena. Ako uočite aktivnost korisnika u svojoj aplikaciji prije dovršetka prijave, možete pretpostaviti da su otišli iz preglednika i reagirati u skladu s tim.
Provjerite prijavu korisnika prilikom pokretanja
Ako se korisnik prijavi u vašu aplikaciju, zatvori aplikaciju i ponovno je pokrene kasnije, 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 biste vidjeli je li aplikacija još uvijek ovlaštena.
- Stvorite a TokenListener.
TokenListener provodi APIListener sučelje i obradit će rezultat poziva getToken. APIListener sadrži dvije metode: onSuccess i onError (ne podržava onCancel jer ne postoji način da se otkaže a getToken poziv). onSuccess prima Bundle objekt s podacima tokena, dok onError prima an AuthError objekt s informacijama o pogrešci.privatna klasa TokenListener implementira APIListener{ /* getToken uspješno završen. */ @Nadjačaj
public void onSuccess(Bundle response) {
}
/* Došlo je do pogreške tijekom pokušaja dobivanja tokena. */ @Nadjačaj
public void onError(AuthError ae) {
}
} - u onStart način Vaše Aktivnosti, nazovite getToken da biste vidjeli je li aplikacija još uvijek odobrena.
getToken dohvaća neobrađeni pristupni token koji AmazonAuthorizationManager koristi za pristup klijentu profile. Ako vrijednost tokena nije null, tada je aplikacija i dalje ovlaštena i upućuje poziv getProfile treba uspjeti. getTokenrequires iste opsege koje ste tražili u svom pozivu za autorizaciju.
getTokensupports asinkroni pozivi na isti način kao getProfile, tako da ne morate blokirati nit korisničkog sučelja ili kreirati vlastitu radnu nit. Da biste pozvali getToken asinkrono, proslijedite objekt koji podržava APIListener sučelje kao konačni parametar.@Preuzmi
zaštićena praznina onStart(){
super.onStart
();mAuthManager.getToken(novi niz []{“profile","Poštanski broj"},
novi
TokenListener());
} - implementirati onSuccess za tvoju TokenListener.
onSuccesshas dva zadatka: dohvatiti token iz paketa i, ako je token valjan, pozvati getProfile.
Da bismo dohvatili podatke tokena iz paketa, koristimo imena pohranjena od strane AuthzConstants razreda. The onSuccess paket sadrži podatke tokena u vrijednosti BUNDLE_KEY.TOKEN. Ako ta vrijednost nije nula, ovaj example poziva getProfile pomoću istog osluškivača kojeg ste deklarirali u prethodnom odjeljku (pogledajte korake 7 i 8)./* getToken uspješno završen. */
@Preuzmi
public void onSuccess(Bundle response) {
konačni niz authzToken =
response.getString(AuthzConstants.BUNDLE_KEY.TOKEN.val);
if (!TextUtils.isEmpty(authzToken))
{
// Dohvaćanje profesionalcafile podaci
mAuthManager.getProfile(novi ProfileSlušatelj());
}
}
Metoda clearAuthorizationState izbrisat će autorizacijske podatke korisnika iz lokalne pohrane podataka AmazonAuthorizationManager. Korisnik će se morati ponovno prijaviti kako bi aplikacija dohvatila profile podaci. Koristite ovu metodu za odjavu korisnika ili rješavanje problema s prijavom u aplikaciji.
- Implementirajte odjavu
Kada se korisnik uspješno prijavi, trebali biste osigurati mehanizam za odjavu kako bi mogao očistiti svoje profile podatke i prethodno ovlaštene opsege. Vaš mehanizam može biti hiperveza ili stavka izbornika. Za ovu bivšuample mi ćemo stvoriti onClick metoda za gumb. - U svom alatu za odjavu pozovite jasnoAuthorizationState. jasnoAuthorizationState uklonit će autorizacijske podatke korisnika (pristupne tokene, profile) iz lokalne trgovine. clearAuthorizationStatetakes nema parametara osim an APIListener vratiti uspjeh ili
- Proglasi se anonimnim APIListener.
Anonimne klase korisna su alternativa deklariranju nove klase za implementaciju APIListener. Vidjeti Rukujte gumbom za prijavu i nabavite Profile Podaci (str. 17) za an exampneka proglašava slušateljske klase. - implementirati onSuccess unutar APIListener
Kada jasnoAuthorizationState uspije, trebali biste ažurirati svoje korisničko sučelje kako biste uklonili reference na korisnika i osigurali mehanizam za prijavu koji korisnici mogu koristiti za ponovnu prijavu. - implementirati onError unutar APIListener.
If clearAuthorizationStaterreturns grešku, možete dopustiti korisniku da se ponovno pokuša odjaviti.@Preuzmi
zaštićeno void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
/* Prethodni onCreate deklaracije izostavljen */
// Pronađite gumb s ID-om za odjavu i postavite rukovatelj klikovima
mLogoutButton = (gumb) pronađiViewById(R.id.logout);
mLogoutButton.setOnClickListener(new OnClickListener() {
@Preuzmi
public void onClick(View v) {
mAuthManager.clearAuthorizationState(novo
APIListener() {
@Preuzmi
public void onSuccess(Bundle results) {
// Postavite odjavljeno stanje u korisničkom sučelju
}
@Preuzmi
public void onError(AuthError authError) {
// Bilježi pogrešku
}
});
}
});
}
Neki AmazonAuthorizationManager metode vraćaju Future objekt. To vam omogućuje sinkrono pozivanje metode umjesto prosljeđivanja slušatelja kao parametra. Ako koristite Future objekt, ne biste ga trebali koristiti na UI niti. Ako blokirate nit korisničkog sučelja na više od pet sekundi, dobit ćete upit ANR (Application Not Responding). U Rukovođenje gumbom za prijavu i Get Profile Podaci nprample , the onSuccess metoda za AuthorizeListener poziva se radničkom niti koju je kreirao AmazonAuthorizationManager. To znači da je sigurno koristiti tu nit za pozivanje getPirofile sinkrono. Za uspostavu sinkronog poziva dodijelite povratnu vrijednost iz getPirofile budućem objektu i pozovite gietmetoda na tom objektu čekati dok se metoda ne završi.
Fuuture.get vraća objekt Bundle koji sadrži a FUTURE_TYPE vrijednost od USPJEH, GREŠKA, or OTKAZATI. Ako je metoda bila uspješna, isti paket će sadržavati PROFILE_KEY vrijednosti za profesionalcefile podaci. Na primjerampono:
/* Autorizacija je uspješno završena. */ @Preuzmi public void onSuccess(Bundle response) { Future<Bundle> future = mAuthManager.getProfile(nula); Bundle result = future.get();// Saznajte je li poziv uspio i dohvatite profile Vrsta_budućnosti objekta = result.get(AuthzConstants.BUNDLE_KEY.FUTURE.val); if (future_type == AuthzConstants.FUTURE_TYPE.SUCCESS) { Naziv niza = result.getString( AuthzConstants.PROFILE_KEY.NAME.val); String email = result.getString( AuthzConstants.PROFILE_KEY.EMAIL.val); Račun niza = result.getString( AuthzConstants.PROFILE_KEY.USER_ID.val); String zipcode = result.getString( AuthzConstants.PROFILE_KEY.POSTAL_CODE.val); runOnUiThread(new Runnable() { @Override public void run() { updateProfilePodaci (ime, e-mail, račun, Poštanski broj); } }); } else if (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Dobivanje objekta pogreške AuthError authError = AuthError.extractError(rezultat); /* Koristite authError za dijagnosticiranje pogreške */ } |
Prijavite se putem Amazonovog vodiča za početak rada za Android – Preuzmi [optimizirano]
Prijavite se putem Amazonovog vodiča za početak rada za Android – preuzimanje