Prijavite se z Amazon Vodnik za začetek za Android
Prijava z Amazonom: Vodnik za začetek za Android
Avtorske pravice © 2016 Amazon.com, Inc. ali njene podružnice. Vse pravice pridržane. Amazon in logotip Amazon sta blagovni znamki Amazon.com, Inc. ali njenih podružnic. Vse druge blagovne znamke, ki niso v lasti Amazona, so last njihovih lastnikov.
Prvi koraki za Android
V tem priročniku vam bomo pokazali, kako v aplikacijo za Android dodate prijavo z Amazonom. Ko dokončate ta vodnik, bi morali imeti v aplikaciji delujoč gumb Prijava z Amazonom, ki uporabnikom omogoča prijavo s svojimi poverilnicami Amazon.
Namestitev orodij za razvijalce Android
Login with Amazon SDK za Android vam bo pomagal dodati Login with Amazon v vašo aplikacijo za Android. Priporočamo, da uporabite SDK za prijavo z Amazon za Android z developer.amazon.com z Android Studio. Lahko pa uporabite tudi vtičnik Eclipse with ADT. Za korake o tem, kako namestiti Android Studio in kako nastaviti Android SDK, glejte Pridobite Android SDK na developer.android.com.
Ko je Android SDK nameščen, poiščite Upravitelj SDK aplikacijo v vaši namestitvi Android. Za razvoj za Login with Amazon morate uporabiti SDK Manager za namestitev platforme SDK za Android 2.2 ali novejšo (API različica 8). Glej Dodajanje paketov SDK na developer.android.com za več informacij o uporabi SDK
Po namestitvi SDK nastavite navidezno napravo Android (AVD) za izvajanje vaših aplikacij. Glej Upravljanje Virtualne naprave na developer.android.com za navodila o nastavitvi virtualne naprave.
Ko je vaše razvojno okolje nastavljeno, lahko Namestite Login with Amazon SDK za Android or Zaženite Sample App, kot je opisano spodaj.
Namestite Login with Amazon SDK za Android
Login with Amazon SDK za Android je na voljo v dveh paketih. Prvi vsebuje knjižnico Android in podporno dokumentacijo. Drugi vsebuje asample aplikacija, ki uporabniku omogoča prijavo in prikaže njegovo profile podatke.
Če še niste namestili Android SDK ali Android Development Tools, glejte Namestitev orodja za razvijalce za Android razdelek zgoraj.
- Prenos zip in izvlecite files v imenik na trdem disku.
Morali bi videti a doc in a lib podimenik. - Odpri doc/index.html do view API za prijavo z Amazon Android
- glej Namestite prijavo s knjižnico Amazon, za navodila o dodajanju knjižnice in dokumentacije v Android
Ko je nameščen Login with Amazon SDK za Android, lahko Ustvarite novo prijavo z Amazonom Projekt, po Registracija z Login with Amazon .
Zaženite Sample App
Za zagon sample, uvozite datoteko sampv delovni prostor AndroidStudio (če uporabljate Eclipse, morate v delovni prostor dodati tudi shrambo ključev za odpravljanje napak po meri. Glejte Dodajte odpravljanje napak po meri Shramba ključev v Eclipsu razdelek spodaj). Ključ API, ki ga sampuporaba aplikacije zahteva, da delovni prostor uporablja shrambo ključev, ki je priložena datoteki sample. Če shramba ključev po meri ni nameščena, se uporabniki ne bodo mogli prijaviti z uporabo sample. Če uporabljate AndroidStudio, bo shramba ključev samodejno prevzeta.
- Prenos SampleLoginWithAmazonAppForAndroid-src.zip in izvlecite files v imenik na vašem trdem disku
- Zaženite Android Studio in izberite Odprite obstoječi projekt Android Studio
- Poiščite SamplePrijava z aplikacijo Amazon imenik, pridobljen po ekstrahiranju prenesenega zip file v koraku
- Od Zgradite meni, kliknite Ustvari projektin počakajte, da projekt
- Od Teči meni, kliknite Teči in nato kliknite SamplePrijava z aplikacijo Amazon.
- Izberite emulator ali povezano napravo Android in kliknite Teči.
Dodajte shrambo ključev za odpravljanje napak po meri v Eclipse
Če uporabljate Eclipse, sledite spodnjim navodilom, da dodate shrambo ključev za odpravljanje napak po meri:
- V Nastavitve pogovorno okno izberite Android in Zgradite.
- poleg Po meri Shramba ključev za odpravljanje napak, kliknite Prebrskaj.
- Pojdite do sampimenik aplikacij in izberite 3p.keystorein nato kliknite OK.
Registracija z Login with Amazon
Preden lahko uporabite prijavo z Amazonom na webspletnem mestu ali v mobilni aplikaciji, morate registrirati aplikacijo z Login with Amazon. Vaša aplikacija Login with Amazon je registracija, ki vsebuje osnovne informacije o vašem podjetju in informacije o vsakem od njih webspletno mesto ali mobilno aplikacijo, ki jo ustvarite in podpira prijavo z Amazonom. Ti podatki o podjetju so prikazani uporabnikom vsakič, ko uporabijo Login with Amazon na vašem webspletno mesto ali mobilno aplikacijo. Uporabniki bodo videli ime vaše aplikacije, vaš logotip in povezavo do vaše politike zasebnosti. Ti koraki prikazujejo, kako registrirati aplikacijo Login with Amazon in temu računu dodati aplikacijo Android.
Oglejte si naslednje teme:
- Registrirajte svojo prijavo z aplikacijo Amazon
- Registrirajte svojo aplikacijo za Android
- Dodajte aplikacijo za Android za Amazon Appstore
- Dodajte aplikacijo za Android brez trgovine z aplikacijami
- Podpisi aplikacij za Android in ključi API
- Določanje podpisa aplikacije za Android
- Pridobivanje ključa Android API
Registrirajte svojo prijavo z aplikacijo Amazon
- Pojdi na https://login.amazon.com.
- Če ste se že prej prijavili za prijavo z Amazonom, kliknite Konzola za aplikacije. V nasprotnem primeru kliknite Prijavite se. Preusmerjeni boste v Seller Central, ki obravnava registracijo aplikacije za prijavo s Če prvič uporabljate Seller Central, boste pozvani, da nastavite račun Seller Central.
- Kliknite Registrirajte novo aplikacijo. The Registrirajte svojo prijavo prikazal se bo obrazec:
a. V Registrirajte svojo prijavo obrazec, vnesite a Ime in a Opis za vašo prijavo.
The Ime je ime, prikazano na zaslonu za soglasje, ko se uporabniki strinjajo z deljenjem informacij z vašo aplikacijo. To ime velja za Android, iOS in webspletne različice vaše aplikacije.
b. Vnesite a Obvestilo o zasebnosti URL za vašo prijavo
The Obvestilo o zasebnosti URL je lokacija pravilnika o zasebnosti vašega podjetja ali aplikacije (nprample, http://www.example.com/privacy.html). Ta povezava je uporabnikom prikazana na zaslonu za soglasje.
c. Če želite dodati a Slika logotipa za svojo aplikacijo kliknite Prebrskaj in poiščite ustrezno sliko.
Ta logotip je prikazan na zaslonu za prijavo in soglasje, da predstavlja vaše podjetje oz webmesto. Logotip bo skrčen na 50 slikovnih pik v višino, če je višji od 50 slikovnih pik; širina logotipa ni omejena - Kliknite Shrani. Vaš sampregistracija bi morala biti podobna temu:
Ko so vaše osnovne nastavitve aplikacije shranjene, lahko dodate nastavitve za posebne webspletna mesta in mobilne aplikacije, ki bodo uporabljale to prijavo z računom Amazon.
Registrirajte svojo aplikacijo za Android
Če želite registrirati aplikacijo za Android, lahko aplikacijo registrirate v trgovini Amazon Appstore (Dodajte aplikacijo za Android za Amazon Appstore, str. 8) ali neposredno z Prijava z Amazon (Dodajte Android Aplikacija brez Appstore, str. 9). Ko je vaša aplikacija registrirana, boste imeli dostop do ključa API, ki bo vaši aplikaciji omogočil dostop do avtorizacijske storitve Login with Amazon.
Opomba: Če nameravate uporabljati Amazon Device Messaging v svoji aplikaciji za Android, se obrnite na lwa- support@amazon.com z:
- E-poštni naslov računa Amazon, s katerim ste se prijavili za prijavo z Amazonom.
- E-poštni naslov računa Amazon, ki ste ga uporabili za prijavo v Amazon Appstore (če je drugačen).
- Ime na vašem računu Seller Central. (V Seller Central kliknite Nastavitve > Podatki o računu > Podatki o prodajalcu, in uporabite prikazno ime).
- Ime v vašem računu razvijalca Amazon Appstore. (Na spletnem mestu za distribucijo mobilnih aplikacij kliknite nastavitve > Podjetje Profile in uporabite Ime razvijalca ali ime podjetja).
Dodajte aplikacijo za Android za Amazon Appstore
Naslednji koraki bodo dodali aplikacijo Amazon Appstore v vaš račun Login with Amazon:
- Na zaslonu aplikacij kliknite Nastavitve za Android. Če že imate registrirano aplikacijo za Android, poiščite Dodaj ključ API gumb v Nastavitve za Android
The Podrobnosti aplikacije za Android prikazal se bo obrazec: - Izberite ja kot odgovor na vprašanje "Ali se ta aplikacija distribuira prek Amazon Appstore?"
- Vnesite Oznaka vaše aplikacije za Android. Ni nujno, da je to uradno ime vaše aplikacije. Preprosto prepozna to posebno aplikacijo za Android med aplikacijami in webspletna mesta, registrirana v aplikaciji Prijava z Amazon.
- Dodajte svoje ID Amazon Appstore.
- Če ste svojo aplikacijo podpisali sami, dodajte podatke o samopodpisu. To vam bo omogočilo pridobitev ključa API med razvojem brez neposredne uporabe Appstore:
a. Če vaša aplikacija ni podpisana prek Amazon Appstore, izberite Da kot odgovor na vprašanje »Ali je ta aplikacija samopodpisana?«
The Podrobnosti aplikacije za Android obrazec se bo razširil:
b. Vnesite svoj Ime paketa.
To se mora ujemati z imenom paketa vašega projekta Android. Če želite določiti ime paketa vašega projekta Android, odprite projekt v izbranem orodju za razvijalce Android.
Odpri AndroidManifest.XML v Raziskovalcu paketov in izberite Manifest zavihek. Prvi vnos je ime paketa.
c. Vnesite aplikacijo Podpis.
To je zgoščena vrednost SHA-256, ki se uporablja za preverjanje vaše aplikacije. Podpis mora biti v obliki 32 šestnajstiških parov, ločenih z dvopičjem (npr.ample: 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). glej Podpisi aplikacij za Android in ključi API za korake, ki jih lahko uporabite za pridobivanje podpisa iz vašega projekta. - Kliknite Shrani.
Če imajo različne različice vaše aplikacije različne podpise ali imena paketov, na primer za eno ali več preskusnih različic in produkcijsko različico, vsaka različica zahteva svoj ključ API. Od Nastavitve za Android svoje aplikacije kliknite Dodaj ključ API gumb, da ustvarite dodatne ključe za aplikacijo (po enega na različico).
Podpisi aplikacij za Android in ključi API
Podpis aplikacije je zgoščena vrednost SHA-256, ki se uporabi za vsako aplikacijo za Android, ko je izdelana. Amazon uporablja podpis aplikacije za izdelavo ključa API. Ključ API omogoča storitvam Amazon, da prepoznajo vašo aplikacijo. Če za podpis aplikacije uporabljate Amazon Appstore, se ključ API-ja zagotovi samodejno. Če ne uporabljate Amazon Appstore, boste morali svoj API ključ upravljati ročno.
Podpisi aplikacij so shranjeni v shrambi ključev. Na splošno za aplikacije za Android obstaja shramba ključev za odpravljanje napak in shramba ključev za izdajo. Shrambo ključev za odpravljanje napak ustvari vtičnik Android Development Tools za Eclipse in se uporablja privzeto. Lokacijo shrambe ključev za odpravljanje napak v Eclipsu najdete s klikom Oknoin nato izberite Preferences > Android > Build. Na tem zaslonu lahko dodate tudi lastno shrambo ključev za odpravljanje napak. Za Android Studio, od Zgradite meni, izberite Uredi vrste zgradb, nato pojdite na Podpisovanje in poiščite shrambo ključev za odpravljanje napak v Trgovina File polje.
Shramba ključev za izdajo se običajno ustvari, ko izvozite aplikacijo za Android, da ustvarite podpisan APK file.
Če ustvarjate novo shrambo ključev za izdajo, boste med postopkom izvoza izbrali njeno lokacijo. Avtor:
privzeto bo postavljen na isto lokacijo kot vaša privzeta shramba ključev za odpravljanje napak.
Če ste svojo aplikacijo registrirali s podpisom za odpravljanje napak med razvojem, boste morali svoji aplikaciji dodati novo nastavitev za Android, ko boste pripravljeni izdati aplikacijo. Nova nastavitev aplikacije mora uporabljati podpis iz shrambe ključev za izdajo.
glej Podpisovanje vaših prijav na developer.android.com za več informacij.
Določite podpis aplikacije Android
- Če imate podpisan APK file:
a. Razpakirajte APK file in izvleček CERT.RSA. (Po potrebi lahko razširitev APK preimenujete v ZIP).
b. Iz ukazne vrstice zaženite:keytool -printcert -file CERT.RSA Keytoolis ki se nahaja v koš imenik vaše namestitve Java.
- Če imate shrambo ključev file:
a. Iz ukazne vrstice zaženite:keytool -list -v -alias - shramba ključevfileime> Keytool se nahaja v imeniku bin vaše namestitve Java. Vzdevek je ime ključa, ki se uporablja za podpisovanje aplikacije.
b. Vnesite geslo za ključ in pritisnite Vnesite. - Pod Prstni odtisi potrdila, kopirajte SHA256 vrednost.
Pridobite ključ Android API
Ko registrirate nastavitev za Android in zagotovite podpis aplikacije, lahko pridobite ključ API s strani za registracijo za vašo aplikacijo Login with Amazon. Ta ključ API boste morali postaviti v a file v vašem projektu Android. Dokler tega ne storite, aplikacija ne bo pooblaščena za komunikacijo z avtorizacijsko storitvijo Login with Amazon.
- Pojdi na https://login.amazon.com.
- Kliknite Konzola za aplikacije.
- V Aplikacije polju na levi izberite svojega
- Poiščite svojo aplikacijo za Android pod Nastavitve za Android (Če še niste registrirali aplikacije za Android, glejte Dodajte aplikacijo za Android za Amazon Appstore).
- Kliknite Ustvari vrednost ključa API. V pojavnem oknu bo prikazan vaš ključ API. Če želite kopirati ključ, kliknite Izberite Vse da izberete celotno
Opomba: Vrednost ključa API delno temelji na času, ko je ustvarjen. Tako se lahko naslednje ključne vrednosti API-ja, ki jih ustvarite, razlikujejo od izvirnika. V svoji aplikaciji lahko uporabite katero koli od teh ključnih vrednosti API-ja, saj so vse veljavne. - glej Dodajte svoj ključ API svojemu projektu za navodila o dodajanju ključa API v vaš Android
Ustvarjanje prijave s projektom Amazon
V tem razdelku se boste naučili, kako ustvariti nov projekt Android za prijavo z Amazonom, konfigurirati projekt in dodati kodo v projekt za prijavo uporabnika z prijavo z Amazon. Opisali bomo korake za Android Studio, vendar lahko analogne korake uporabite za katero koli razvojno orodje IDE ali Android po vaši izbiri.
Oglejte si naslednje teme:
- Ustvarite novo prijavo s projektom Amazon
- Namestite Login with Amazon Library
- Omogoči Content Assist za prijavo s knjižnico Amazon
- Nastavite omrežna dovoljenja za svojo aplikacijo
- Dodajte svoj ključ API svojemu projektu
- Odstranite Sample App Custom Debug Keystore
- Obravnavajte spremembe konfiguracije za svojo dejavnost
- Dodajte avtorizacijsko dejavnost svojemu projektu
- Svoji aplikaciji dodajte gumb za prijavo z Amazonom
- Ravnajte z gumbom za prijavo in pridobite Profile podatki
- Preverite uporabniško prijavo ob zagonu
- Počisti stanje avtorizacije in odjavi uporabnika
- Sinhrono pokličite metode Amazon Authorization Manager
Ustvarite novo prijavo s projektom Amazon
Če še nimate projekta aplikacije za uporabo prijave z Amazonom, sledite spodnjim navodilom, da ga ustvarite. Če imate obstoječo aplikacijo, preskočite na Namestite Login with Amazon Library .
- Zagon Android razvojno orodje.
- Od File meni, izberite Novo in Projekt.
- Vnesite Ime aplikacije in Ime podjetja za vašo
- Vnesite Aplikacija in ime podjetja ustreza imenu paketa, ki ste ga izbrali, ko ste registrirali svojo aplikacijo pri Login with Amazon.
Če še niste registrirali svoje aplikacije, izberite a Ime paketa in nato sledite navodilom v Registracija z Login with Amazon potem, ko ustvarite projekt. Če se ime paketa vaše aplikacije ne ujema z registriranim imenom paketa, vaši klici Login with Amazon ne bodo uspešni. - Izberite a Minimalni zahtevani SDK API 8: Android 2 (Froyo) ali novejši in kliknite Naprej.
- Izberite vrsto dejavnosti, ki jo želite ustvariti, in kliknite Naprej.
- Izpolnite ustrezne podatke in kliknite Končaj.
Zdaj boste imeli v svojem delovnem prostoru nov projekt, ki ga lahko uporabite za klic Login with Amazon.
Namestite Login with Amazon Library
Če še niste prenesli Login with Amazon SDK za Android, glejte Namestite prijavo z Amazon SDK za Android (str. 4).
- Ko je vaš projekt odprt v orodjih za razvijalce Android, v Raziskovalec projektov, z desno miškino tipko kliknite vašo Projekt.
- Če je mapa poklicana libs še ni prisoten, ustvarite
- Kopiraj login-with-amazon-sdk.jar file od File Sistemin ga nato prilepite v libs pod vašim projektom/aplikacijo.
- Desni klik login-with-amazon-sdk.jar, in preverite Dodaj kot knjižnico
Omogočite Content Assist za prijavo s knjižnico Amazon Library v Eclipse
Če želite omogočiti podporo za pomoč pri vsebini Eclipse v projektu Android, morate uporabiti a .lastnosti file. Za več informacij o pomoči pri vsebini glejte Pomočnik za vsebino/kodo onhelp.eclipse.org.
Če želite omogočiti podporo za pomoč pri vsebini Eclipse v projektu Android, morate uporabiti a .lastnosti file. Za več informacij o pomoči pri vsebini glejte Pomočnik za vsebino/kodo onhelp.eclipse.org.
- In Windows Explorer, pojdite na dokumenti mapo za prijavo z Amazon SDK za Android in kopirajte mapo v
- Ko je projekt odprt, pojdite na Raziskovalec paketov in izberite libs Kliknite Uredi v glavnem meniju in izberite Prilepi. Zdaj bi morali imeti a libs\docs imenik.
- Izberite libs Kliknite File v glavnem meniju in izberite Novo inFile.
- V Novo File dialog, enter login-with-amazon-sdk.jar.properties in kliknite Končaj.
- Eclipse bi se moral odpreti login-with-amazon-sdk.jar.properties v urejevalniku besedil. V urejevalniku besedil dodajte naslednjo vrstico v file:
doc=dokumenti - Od File meni, kliknite Shrani.
- Morda boste morali znova zagnati Eclipse, da bodo spremembe začele veljati
Nastavite omrežna dovoljenja za svojo aplikacijo
Če želite, da vaša aplikacija uporablja prijavo z Amazonom, mora imeti dostop do interneta in informacij o stanju omrežja. Vaša aplikacija mora uveljaviti ta dovoljenja v manifestu za Android, če tega še ni storila.
OPOMBA: Spodnji koraki postopka so specifični za dodajanje dovoljenj v Eclipse. Če uporabljate Android Studio ali drug IDE, lahko preskočite vse spodnje oštevilčene korake. Namesto tega kopirajte vrstice kode, prikazane pod posnetkom zaslona, in jih prilepite v AndroidManifest.xml file, zunaj aplikacijskega bloka.
- In Paket Raziskovalec, dvokliknite xml.
- Na Dovoljenja zavihek, kliknite Dodaj.
- Izberite Uporablja dovoljenje in kliknite OK.
- Desno od Dovoljenja, poiščite Atributi za dovoljenje za uporabo
- V Ime polje, vnesite dovoljenje. INTERNET ali pa ga izberite na spustnem seznamu.
- Na Dovoljenja zavihek, kliknite Dodaj
- Izberite Uporablja dovoljenje in kliknite OK.
- V Ime polje, vnesite dovoljenje.ACCESS_NETWORK_STATE ali pa ga izberite na spustnem seznamu
- Od File meni, kliknite Shrani.
Vaša dovoljenja za manifest bi morala zdaj imeti naslednje vrednosti:
V AndroidManifest.xml pod elementom manifesta bi zdaj morali videti te vnose:
Dodajte svoj ključ API svojemu projektu
Ko registrirate svojo aplikacijo za Android z Login with Amazon, vam je dodeljen ključ API. To je identifikator, ki ga bo Amazon Authorization Manager uporabil za identifikacijo vaše aplikacije v avtorizacijski storitvi Login with Amazon. Če za podpis aplikacije uporabljate Amazon Appstore, bo Appstore samodejno zagotovil ključ API. Če ne uporabljate Amazon Appstore, Amazon Authorization Manager naloži to vrednost med izvajanjem iz api_key.txt file v sredstev imenik.
- Če še nimate ključa API, sledite navodilom v Pridobite ključ Android API (str. 11).
- Ko je vaš projekt ADT odprt, od File meni, kliknite Novo in izberite Besedilo brez naslova File. Zdaj bi morali imeti okno urejevalnika za besedilo file imenovan Brez naslova 1. Dodajte svoj ključ API v besedilo
- Od File meni, kliknite Shrani kot.
- V Shrani kot v pogovornem oknu izberite sredstev imenik vašega projekta kot nadrejeno mapo. Za File ime, vstopi txt.
Odstranite Sample App Custom Debug Keystore
OPOMBA: Ta korak je potreben le, če uporabljate Eclipse; če uporabljate Android Studio, preskočite ta razdelek.
Če ste namestili Login with Amazon for Android sampv isti delovni prostor, ki ga uporabljate za vašo aplikacijo za Android, imate morda nastavljeno shrambo ključev za odpravljanje napak po meri za delovni prostor. Če želite uporabiti lasten ključ API, morate počistiti shrambo ključev za odpravljanje napak po meri.
- V glavnem meniju kliknite Okno in izberite Nastavitve.
- V Nastavitve pogovorno okno izberite Android in Zgradite.
- Počistite Po meri shramba ključev za odpravljanje napak
- Kliknite OK.
Obravnavajte spremembe konfiguracije za svojo dejavnost
Če uporabnik med prijavo spremeni orientacijo zaslona ali spremeni stanje tipkovnice naprave, bo pozvan k ponovnemu zagonu trenutne dejavnosti. Ta ponovni zagon bo nepričakovano opustil prijavni zaslon. Če želite to preprečiti, nastavite dejavnost, ki uporablja metodo avtorizacije za ročno obravnavanje teh konfiguracijskih sprememb. To bo preprečilo ponovni zagon dejavnosti.
- In Paket Raziskovalec, dvokliknite xml.
- V Aplikacija poiščite dejavnost, ki bo obravnavala prijavo z Amazonom (nprample, Glavna dejavnost).
- Aktivnosti, ki ste jo našli v 2. koraku, dodajte naslednji atribut:
android:configChanges=”tipkovnica|tipkovnicaHidden|usmerjenost” Ali za API 13 ali novejši:
android:configChanges=”tipkovnica|skrite tipkovnice|usmerjenost|velikost zaslona” - Od File meni, kliknite Shrani
Zdaj, ko pride do spremembe orientacije tipkovnice ali naprave, bo Android poklical onConfigurationChanged način za vašo dejavnost. Te funkcije vam ni treba implementirati, razen če obstaja vidik teh konfiguracijskih sprememb, ki jih želite obravnavati za svojo aplikacijo
Ko uporabnik klikne gumb Prijava z Amazonom, bo API zagnal a web brskalnik, da uporabniku predstavi stran za prijavo in soglasje. Da bo ta dejavnost brskalnika delovala, morate svojemu manifestu dodati AuthorizationActivity.
- In Paket Raziskovalec, dvokliknite xml.
- V Aplikacija dodajte naslednjo kodo in nadomestite »com.example.app« z imenom vašega paketa za to aplikacijo:
<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” />
vašo aplikacijo. V tem razdelku so opisani koraki za prenos uradne slike Login with Amazon in njeno seznanjanje z Android ImageButton.
- Svoji aplikaciji dodajte standardni ImageButton.
Za več informacij o gumbih Android in razredu ImageButton glejte Gumbi na developer.android.com. - Dajte svojemu gumbu ID.
V deklaraciji XML gumba nastavite atribut android:id na @+id/login_with_amazon. Na primerample:android:id=”@+id/login_with_amazon” - Izberite sliko gumba.
Oglejte si našo prijavo pri Amazonu Stilske smernice za seznam gumbov, ki jih lahko uporabite v svoji aplikaciji. Prenesite kopijo LWA_Android.zip file. Ekstrahirajte kopijo želenega gumba za vsako gostoto zaslona, ki jo podpira vaša aplikacija (xxhdpi, xhdpi, hdpi, mdpi ali tvdpi). Za več informacij o podpori več gostot zaslona v sistemu Android glejte Alternativne postavitve v temi »Podpora več zaslonov« na developer.android.com. - Kopirajte ustrezno sliko gumba filek vašemu projektu.
Za vsako gostoto zaslona, ki jo podpirate (xhdpi, hdpi, mdpi ali ldpi), kopirajte preneseni gumb v res/risanje imenik za to gostoto zaslona. - Razglasite sliko gumba.
V deklaraciji XML gumba nastavite atribut android:src na ime gumba, ki ste ga izbrali. Na primerample:android:src=”@drawable/btnlwa_gold_loginwithamazon.png” 6. Naložite svojo aplikacijo in preverite, ali ima gumb zdaj sliko Login with Amazon. Preverite, ali je gumb pravilno prikazan za vsako gostoto zaslona, ki jo podpirate.
V tem razdelku je razloženo, kako pokličete avtorize in getProfile API-ji za prijavo uporabnika in pridobitev njegovega profile podatke. To vključuje ustvarjanje poslušalca onClick za gumb Login with Amazon v metodi onCreate vaše aplikacije.
- Svojemu projektu Android dodajte Login with Amazon. Glej Namestite Login with Amazon Library .
- Uvozite prijavo z Amazon API v svoj vir
Če želite uvoziti API za prijavo z Amazonom, svojemu viru dodajte naslednje uvozne izjave 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; - Inicializiraj AmazonAuthorizationManager.
Morali boste prijaviti AmazonAuthorizationManager spremenljivko in ustvarite nov primerek razreda. Ustvarjanje novega primerka zahteva samo trenutni kontekst aplikacije in prazen sveženj. Najboljše mesto za inicializacijo AmazonAuthorizationManager je v onCreate način vaše dejavnosti. Na primerample: - Ustvarite AuthorizeLiistener.
AuthorizeListener implementira vmesnik AuthorizationinListener in bo obdelal rezultat avtoriziraj klic. Vsebuje tri metode: oinSuccess, onError, in onCanceil. Vsaka metoda prejme paket ali paket AuthError predmet.zasebni razred AuthorizeListener izvaja AuthorizationListener{
/* Avtorizacija je bila uspešno zaključena. */
@Prevedi
public void onSuccess(Bundle response) {
}
/* Med poskusom avtorizacije aplikacije je prišlo do napake.
*/
@Prevedi
public void onError(AuthError ae) {
}
/* Pooblastilo je bilo preklicano, preden se je lahko dokončalo. */
@Prevedi
public void onCancel(Vzrok svežnja) {
}
} - Pokliči AmazonAuthorizationManager.authorize.
V onClick za vaš gumb Login with Amazon, pokličite avtorizacijo, da pozovete uporabnika, naj se prijavi in avtorizira vašo aplikacijo.
Ta metoda je odgovorna za avtorizacijo stranke na enega od naslednjih načinov:- Preklopi na sistemski brskalnik in stranki omogoči prijavo in soglasje za zahtevano
- Preklopi na web view v varnem kontekstu, da se stranki omogoči vpis in privolitev v zahtevano
Ta varni kontekst za #2 je trenutno na voljo kot aplikacija Amazon Shopping v napravah Android. Naprave, ki jih je ustvaril Amazon in poganjajo Fire OS (nprample Kindle Fire, Fire Phone in Fire TV) vedno uporabite to možnost, tudi če v napravi ni aplikacije Amazon Shopping. Zaradi tega, če je stranka že prijavljena v aplikacijo Amazon Shopping, bo ta API preskočil stran za prijavo, kar bo vodilo do Enotna prijava izkušnje za stranko.
Ko je vaša aplikacija pooblaščena, je pooblaščena za enega ali več nizov podatkov, znanih kot obsegi. Prvi parameter je niz obsegov, ki zajemajo uporabniške podatke, ki jih zahtevate od Login with Amazon. Ko se uporabnik prvič prijavi v vašo aplikacijo, se mu prikaže seznam podatkov, ki jih zahtevate in zahtevate odobritev. Prijava z Amazon trenutno podpira tri obsege: profile, ki vsebuje uporabnikovo ime, elektronski naslov in ID računa Amazon; profile:user_id, ki vsebuje samo ID računa Amazon; in poštna_številka, ki vsebuje uporabnikovo poštno številko.
Najboljši način za klic avtorizacije je asinhroni, tako da vam ni treba blokirati niti uporabniškega vmesnika ali ustvariti lastne delovne niti. Za klic avtoriziraj asinhrono, mimo predmeta, ki podpira AuthorizationListenerinterface kot zadnji parameter:zasebni AmazonAuthorizationManager mAuthManager; @Prevedi
protected void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
mAuthManager = nov AmazonAuthorizationManager(to, Bundle.EMPTY);// Poiščite gumb z ID-jem login_with_amazon
// in nastavite obravnavo klikov
mLoginButton = (gumb) najdiViewById(R.id.login_with_amazon);
mLoginButton.setOnClickListener(novo OnClickListener() {
@Prevedi
public void onClick(View v) {
mAuthManager.authorize(
nov niz []{“profile”,”poštna_koda”},
Bundle.EMPTY, nov AuthorizeListener());
}
});
} - Ustvari a Profileposlušalec.
Profileposlušalec je naše ime za razred, ki implementira APIListener vmesnik in bo obdelal rezultat getProfile klic. APIListener vsebuje dva načina: onSuccess in onError (ne podpira onCancel ker ni mogoče preklicati a getProfile klic). onSuccess prejme objekt Bundle s profile podatkov, medtem ko onEriror prejme an AuthError objekt s podatki o napaki.zasebni razred ProfilePoslušalec implementira APIListener{ /* getProfile uspešno zaključen. */ @Preglasi
public void onSuccess(Bundle response) {}
/* Med poskusom pridobivanja pro je prišlo do napakefile. */ @Preglasi
public void onError(AuthError ae) {
}
} - Izvajati onSuccess za vašo AuthorizeListener.
In onSuccess, klic AmazonAuthorizationManager.getProfile za pridobitev stranke profile. getProfile, tako kot avtoriziranje uporablja vmesnik asinhronega poslušalca. Za getProfile, ta vmesnik je APIListener, notAuthorizationListener.
/* Avtorizacija je bila uspešno zaključena. */ @Preglasi
public void onSuccess(Bundle response) {
mAuthManager.getProfile(novi Profileposlušalec ());} - Izvajati onSuccessfor tvoje Profileposlušalec.
onSuccesshas dve glavni nalogi: pridobiti profile podatkov iz svežnja odgovorov in za posredovanje podatkov uporabniškemu vmesniku. posodobitevProfileDatais hipotetična funkcija, ki bi jo vaša aplikacija lahko izvajala za prikaz profile podrobnosti. setLoggedInState, druga hipotetična funkcija bi nakazovala, da je uporabnik prijavljen, in bi mu dala sredstvo za odjava.
Za pridobitev profile podatke iz svežnja, uporabljamo imena, ki jih hrani AuthzConstants razred. The onSuccess paket vsebuje profile podatkov v BUNDLE_KEY.PROFILE sveženj.
Znotraj profile svežnju, so podatki o obsegu indeksirani pod PROFILE_KEY.NAME, PROFILE_KEY.EMAIL, PROFILE_KEY.USER_ID, in PROFILE_KEY.POSTAL_CODE. PROFILE_KEY.POSTAL_CODE je vključen samo, če zahtevate poštna_številka obseg.@Prevedi
public void onSuccess(Bundle response) {
// Pridobite podatke, ki jih potrebujemo, 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);
Račun niza = profileBundle.getString(
AuthzConstants.PROFILE_KEY.USER_ID.val);
String zipcode = profileBundle.getString(
AuthzConstants.PROFILE_KEY.POSTAL_CODE.val);
runOnUiThread(new Runnable() { @Override
public void run() {
posodobitevProfilePodatki (ime, e-pošta, račun, poštna številka);
}
});
} - Izvajati onError za vašo Profileposlušalec.
onError vključuje an AuthError predmet, ki vsebuje podrobnosti o napaki./* Med poskusom pridobivanja pro je prišlo do napakefile. */ @Preglasi
public void onError(AuthError ae) {
/* Poskusite znova ali obvestite uporabnika o napaki */
} - Izvajati onErrorfor tvoje AuthorizeListener.
/* Med poskusom avtorizacije aplikacije je prišlo do napake.
*/
@Prevedi
public void onError(AuthError ae) {
/* Obvesti uporabnika o napaki */
} - Izvajati onCancelfor tvoje AuthorizeListener.
Ker avtorizacijski postopek uporabniku prikaže prijavni zaslon (in morda zaslon za soglasje) v web brskalnik (ali a webview), uporabnik bo imel možnost preklicati prijavo ali zapustiti stran web strani. Če izrecno prekličejo postopek prijave, onCancel se imenuje. če onCancelis poklicali, boste želeli ponastaviti svoj uporabniški vmesnik./* Pooblastilo je bilo preklicano, preden se je lahko dokončalo. */
@Prevedi
public void onCancel(Vzrok svežnja) {
/* ponastavi uporabniški vmesnik v stanje, pripravljeno za prijavo */
}Opomba: Če se uporabnik odmakne od prijavnega zaslona v brskalniku oz web view in preklopi nazaj na vašo aplikacijo, SDK ne bo zaznal, da prijava ni bila dokončana. Če zaznate dejavnost uporabnikov v svoji aplikaciji, preden je prijava zaključena, lahko domnevate, da so zapustili brskalnik, in se ustrezno odzovejo.
Preverite uporabniško prijavo ob zagonu
Če se uporabnik prijavi v vašo aplikacijo, jo zapre in pozneje znova zažene, je aplikacija še vedno pooblaščena za pridobivanje podatkov. Uporabnik ni samodejno odjavljen. Ob zagonu lahko uporabnika prikažete kot prijavljenega, če je vaša aplikacija še vedno pooblaščena. V tem razdelku je razloženo, kako uporabiti getToken, da preverite, ali je aplikacija še vedno pooblaščena.
- Ustvari a TokenListener.
TokenListener izvaja APIListener vmesnik in bo obdelal rezultat klica getToken. APIListener vsebuje dva načina: onSuccess in onError (ne podpira onCancel ker ni mogoče preklicati a getToken klic). onSuccess prejme objekt Bundle s podatki žetona, medtem ko onError prejme an AuthError objekt s podatki o napaki.zasebni razred TokenListener izvaja APIListener{ /* getToken uspešno zaključen. */ @Preglasi
public void onSuccess(Bundle response) {
}
/* Med poskusom pridobivanja žetona je prišlo do napake. */ @Preglasi
public void onError(AuthError ae) {
}
} - V onStart način vaše dejavnosti, pokličite getToken da preverite, ali je aplikacija še dovoljena.
getToken pridobi žeton neobdelanega dostopa, ki ga je AmazonAuthorizationManager uporablja za dostop do stranke profile. Če vrednost žetona ni ničelna, je aplikacija še vedno pooblaščena in kliče getProfile bi moralo uspeti. getTokenrequires iste obsege, ki ste jih zahtevali v klicu za avtorizacijo.
getTokensupports asinhrone klice na enak način kot getProfile, tako da vam ni treba blokirati niti uporabniškega vmesnika ali ustvariti lastne delovne niti. Če želite asinhrono poklicati getToken, posredujte objekt, ki podpira APIListener vmesnik kot končni parameter.@Prevedi
zaščitena praznina onStart(){
super.onStart
();mAuthManager.getToken(nov niz []{“profile”,”poštna_koda”},
novo
TokenListener());
} - Izvajati onSuccess za vašo TokenListener.
onSuccesshas dve nalogi: pridobiti žeton iz paketa in, če je žeton veljaven, poklicati getProfile.
Za pridobitev podatkov o žetonih iz svežnja uporabimo imena, ki jih shrani AuthzConstants razred. The onSuccess sveženj vsebuje podatke žetona v vrednosti BUNDLE_KEY.TOKEN. Če ta vrednost ni ničelna, ta example kliče getProfile z uporabo istega poslušalca, ki ste ga navedli v prejšnjem razdelku (glejte koraka 7 in 8)./* getToken uspešno zaključen. */
@Prevedi
public void onSuccess(Bundle response) {
končni niz authzToken =
response.getString(AuthzConstants.BUNDLE_KEY.TOKEN.val);
če (!TextUtils.isEmpty(authzToken))
{
// Pridobi profile podatke
mAuthManager.getProfile(novi ProfilePoslušalec());
}
}
Metoda clearAuthorizationState bo izbrisala avtorizacijske podatke uporabnika iz lokalne shrambe podatkov AmazonAuthorizationManager. Uporabnik se bo moral znova prijaviti, da bo aplikacija pridobila profile podatkov. S to metodo odjavite uporabnika ali odpravite težave pri prijavi v aplikacijo.
- Izvedite odjavo
Ko se je uporabnik uspešno prijavil, morate zagotoviti mehanizem odjave, da lahko počisti svojega profesionalcafile podatki in predhodno odobreni obsegi. Vaš mehanizem je lahko hiperpovezava ali menijski element. Za tega bivšegaample bomo ustvarili onClick metoda za gumb. - V svojem upravljalniku za odjavo pokličite clearAuthorizationState. clearAuthorizationState bo odstranil avtorizacijske podatke uporabnika (žetone za dostop, profile) iz lokalne trgovine. clearAuthorizationStatetakes nobenih parametrov razen an APIListener vrniti uspeh oz
- Razglasi anonimnega APIListener.
Anonimni razredi so uporabna alternativa deklaraciji novega razreda za implementacijo APIListener. glej Ravnajte z gumbom za prijavo in pridobite Profile podatki (str. 17) za an exampLethat razglasi slušateljske razrede. - Izvajati onSuccess znotraj APIListener
kdaj clearAuthorizationState uspe, bi morali posodobiti svoj uporabniški vmesnik, da odstranite sklicevanja na uporabnika, in zagotoviti mehanizem za prijavo, ki ga lahko uporabniki uporabijo za ponovno prijavo. - Izvajati onError znotraj APIListener.
If clearAuthorizationStaterreturns napako, lahko dovolite uporabniku, da se znova poskusi odjaviti.@Prevedi
protected void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
/* Prejšnji onCreate deklaracije izpuščene */
// Poiščite gumb z ID-jem za odjavo in nastavite obravnavo klikov
mLogoutButton = (Gumb) najdiViewById(R.id.odjava);
mLogoutButton.setOnClickListener(novo OnClickListener() {
@Prevedi
public void onClick(View v) {
mAuthManager.clearAuthorizationState(novo
APIListener() {
@Prevedi
public void onSuccess(Bundle results) {
// Nastavitev odjavljenega stanja v uporabniškem vmesniku
}
@Prevedi
public void onError(AuthError authError) {
// Zapiši napako
}
});
}
});
}
nekaj AmazonAuthorizationManager metode vrnejo objekt Future. To vam omogoča, da metodo pokličete sinhrono, namesto da posredujete poslušalca kot parameter. Če uporabljate objekt Future, ga ne smete uporabljati v niti uporabniškega vmesnika. Če blokirate nit uporabniškega vmesnika za več kot pet sekund, boste prejeli poziv ANR (Application Not Responding). V razdelku Handle the Login Button in Get Profile Podatki nprample , the onSuccess metoda za AuthorizeListener se kliče z delovno nitjo, ki jo ustvari AmazonAuthorizationManager. To pomeni, da je varno uporabiti to nit za klic getPirofile sinhrono. Če želite izvesti sinhroni klic, dodelite vrnjeno vrednost iz getPirofile na objekt Future in pokličite gietmetoda na tem objektu, da počaka, dokler se metoda ne zaključi.
Fuuture.get vrne objekt Bundle, ki vsebuje a FUTURE_TYPE vrednost USPEH, NAPAKA, or PREKLIC. Če je bila metoda uspešna, bo isti sveženj vseboval PROFILE_KEY vrednosti za profesionalcafile podatke. Na primerample:
/* Avtorizacija je bila uspešno zaključena. */ @Prevedi public void onSuccess(Bundle response) { Future<Bundle> future = mAuthManager.getProfile(nič); Bundle result = future.get();// Ugotovite, ali je klic uspel, in pridobite profile Objekt future_type = result.get(AuthzConstants.BUNDLE_KEY.FUTURE.val); if (future_type == AuthzConstants.FUTURE_TYPE.SUCCESS) { Ime 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() { updateProfilePodatki (ime, e-pošta, račun, poštna številka); } }); } else if (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Pridobi objekt napake AuthError authError = AuthError.extractError(rezultat); /* Uporabi authError za diagnosticiranje napake */ } |
Prijavite se z Amazonovim vodnikom za začetek za Android – Prenos [optimizirano]
Prijavite se z Amazonovim vodnikom za začetek za Android – Prenos