Logg inn med Amazon Komme i gang-guide for Android
Logg på med Amazon: Kom i gang-guide for Android
Copyright © 2016 Amazon.com, Inc., eller dets tilknyttede selskaper. Alle rettigheter forbeholdt. Amazon og Amazon-logoen er varemerker for Amazon.com, Inc. eller dets tilknyttede selskaper. Alle andre varemerker som ikke eies av Amazon tilhører deres respektive eiere.
Komme i gang for Android
I denne guiden vil vi vise deg hvordan du legger til pålogging med Amazon til Android-appen din. Etter å ha fullført denne veiledningen, bør du ha en fungerende pålogging med Amazon-knapp i appen din for å tillate brukere å logge på med deres Amazon-legitimasjon.
Installere Android Developer Tools
Pålogging med Amazon SDK for Android hjelper deg med å legge Pålogging med Amazon til Android-applikasjonen din. Vi anbefaler at du bruker Pålogging med Amazon SDK for Android fra developer.amazon.com med Android Studio. Du kan imidlertid også bruke Eclipse med ADT-plugin. For trinn for hvordan du installerer Android Studio og hvordan du konfigurerer Android SDK, se Skaff deg Android SDK på developer.android.com.
Når Android SDK er installert, finn SDK Manager applikasjonen i Android-installasjonen din. For å utvikle for pålogging med Amazon, må du bruke SDK Manager til å installere SDK-plattformen for Android 2.2 eller nyere (API-versjon 8). Se Legger til SDK-pakker på developer.android.com for mer informasjon om bruk av SDK
Etter at du har installert SDK, setter du opp en Android Virtual Device (AVD) for å kjøre appene dine. Se Administrere Virtuelle enheter på developer.android.com for instruksjoner om hvordan du konfigurerer en virtuell enhet.
Når utviklingsmiljøet ditt er satt opp, kan du Installer påloggingen med Amazon SDK for Android or Kjør Sample App, som beskrevet nedenfor.
Installer påloggingen med Amazon SDK for Android
Pålogging med Amazon SDK for Android kommer i to pakker. Den første inneholder Android -biblioteket og støttedokumentasjon. Den andre inneholder somampprogrammet som lar en bruker logge på og vise sin profffile data.
Hvis du ikke allerede har installert Android SDK eller Android Development Tools, se Installerer Android Developer Tools avsnittet ovenfor.
- Last ned zip og trekke ut files til en katalog på harddisken.
Du skulle se a dok og a lib underkatalog. - Åpne doc / index.html til view pålogging med Amazon Android API
- Se Installer påloggingen med Amazon Library, for instruksjoner om hvordan du legger til biblioteket og dokumentasjonen til en Android
Når påloggingen med Amazon SDK for Android er installert, kan du Opprett en ny pålogging med Amazon Prosjekt, etter Registrering med pålogging hos Amazon .
Kjør Sample App
For å kjøre sampfor søknaden, importer samppå et AndroidStudio -arbeidsområde (hvis du bruker Eclipse, må du også legge til en egendefinert feilsøkingsnøkkelbutikk i arbeidsområdet. Se Legg til tilpasset feilsøking Keystore i formørkelse avsnitt nedenfor). API -nøkkelen som sampBruken av applikasjonen krever at arbeidsområdet bruker nøkkelbutikken som leveres med sample. Hvis den tilpassede nøkkelbutikken ikke er installert, vil brukerne ikke kunne logge på med sample. Nøkkelbutikken blir hentet automatisk hvis du bruker AndroidStudio.
- Last ned SampleLoginWithAmazonAppForAndroid-src.zip og trekke ut files til en katalog på harddisken
- Start Android Studio og velg Åpne et eksisterende Android Studio-prosjekt
- Bla til SampleLoginWithAmazonApp katalog hentet etter å ha hentet den nedlastede zip -filen file i trinn
- Fra Bygge menyen, klikk Lag prosjekt, og vent til prosjektet skal
- Fra Løp menyen, klikk Løp og klikk deretter på SampleLoginWithAmazonApp.
- Velg emulatoren eller den tilkoblede Android-enheten, og klikk Løp.
Legg til Custom Debug Key-butikken i Eclipse
Hvis du bruker Eclipse, følg instruksjonene nedenfor for å legge til den egendefinerte feilsøkingstasten:
- I Preferanser dialog, velg Android og Bygge.
- Ved siden av Skikk Feilsøk Keystore, klikk Bla gjennom.
- Naviger til sample app -katalogen og velg 3p. Nøkkelbutikk, og klikk deretter OK.
Registrering med pålogging hos Amazon
Før du kan bruke Logg inn med Amazon på en webnettsted eller i en mobilapp, må du registrere en applikasjon med Logg inn med Amazon. Logg inn med Amazon-applikasjonen er registreringen som inneholder grunnleggende informasjon om virksomheten din, og informasjon om hver webnettsted eller mobilapp du oppretter som støtter pålogging med Amazon. Denne forretningsinformasjonen vises til brukere hver gang de bruker Logg inn med Amazon på din webnettsted eller mobilapp. Brukere vil se navnet på applikasjonen din, logoen din og en lenke til personvernerklæringen din. Disse trinnene viser hvordan du registrerer en pålogging med Amazon -applikasjon og legger til en Android -app til den kontoen.
Se følgende emner:
- Registrer påloggingen din med Amazon-applikasjonen
- Registrer Android-appen din
- Legg til en Android-app for Amazon Appstore
- Legg til en Android-app uten Appstore
- Android App-signaturer og API-nøkler
- Bestemme en Android App-signatur
- Henter en Android API-nøkkel
Registrer påloggingen din med Amazon-applikasjonen
- Gå til https://login.amazon.com.
- Hvis du har registrert deg for pålogging med Amazon før, klikker du App-konsoll. Ellers klikk Registrer deg. Du blir omdirigert til Seller Central, som håndterer søknadsregistrering for pålogging med Hvis dette er første gang du bruker Seller Central, blir du bedt om å opprette en Seller Central-konto.
- Klikk Registrer ny søknad. De Registrer søknaden din skjemaet vises:
a. I Registrer søknaden din skjema, skriv inn en Navn og a Beskrivelse for søknaden din.
De Navn er navnet som vises på samtykkeskjermen når brukere godtar å dele informasjon med applikasjonen din. Dette navnet gjelder for Android, iOS og webnettstedversjoner av søknaden din.
b. Skriv inn en Personvernerklæring URL for søknaden din
De Personvernerklæring URL er stedet for bedriftens eller applikasjonens personvernerklæring (f.eksample, http://www.example.com/privacy.html). Denne lenken vises for brukere på samtykkeskjermen.
c. Hvis du vil legge til en Logo bilde for søknaden din, klikk Bla gjennom og finn det aktuelle bildet.
Denne logoen vises på påloggings- og samtykkeskjermen for å representere virksomheten din eller webnettstedet. Logoen krympes til 50 piksler i høyden hvis den er høyere enn 50 piksler; det er ingen begrensning på bredden på logoen - Klikk Spare. Din sampregistreringen skal se slik ut:
Etter at de grunnleggende programinnstillingene er lagret, kan du legge til innstillinger for spesifikke webnettsteder og mobilapper som vil bruke denne påloggingen med Amazon -kontoen.
Registrer Android-appen din
For å registrere en Android-app, har du valget mellom å registrere en app via Amazon Appstore (Legg til en Android-app for Amazon Appstore, s. 8) eller direkte med pålogging med Amazon (Legg til en Android App Uten Appstore, s. 9). Når appen din er registrert, vil du ha tilgang til en API-nøkkel som gir appen din tilgang til pålogging med Amazon-autorisasjonstjeneste.
Note: Hvis du planlegger å bruke Amazon Device Messaging i Android-appen din, kan du kontakte lwa- support@amazon.com med:
- E-postadressen til Amazon-kontoen du brukte til å registrere deg for pålogging med Amazon.
- E-postadressen til Amazon-kontoen du brukte til å registrere deg for Amazon Appstore (hvis forskjellig).
- Navnet på selgersentralkontoen din. (Klikk på på Seller Central Innstillinger> Kontoinfo> Selgerinformasjon, og bruk Visningsnavn).
- Navnet på Amazon Appstore-utviklerkontoen din. (Klikk på på distribusjonssiden for mobilapp Innstillinger > Bedrift Profile og bruk Utviklernavn eller firmanavn).
Legg til en Android-app for Amazon Appstore
Følgende trinn vil legge til en Amazon Appstore-app til påloggingen din med Amazon-konto:
- Fra applikasjonsskjermen klikker du Android-innstillinger. Hvis du allerede har en Android-app registrert, kan du se etter Legg til API-nøkkel knappen i Android-innstillinger
De Android-applikasjonsdetaljer skjemaet vises: - Velge Ja som svar på spørsmålet “Distribueres denne applikasjonen via Amazon Appstore?”
- Skriv inn Merkelapp av Android -appen din. Dette trenger ikke å være det offisielle navnet på appen din. Den identifiserer ganske enkelt denne spesielle Android -appen blant appene og webnettsteder registrert for din pålogging med Amazon -applikasjon.
- Legg til din Amazon Appstore-ID.
- Hvis du selv signerer appen din, kan du legge til informasjon om selvsignering. Dette lar deg skaffe deg en API-nøkkel under utvikling uten å bruke Appstore direkte:
a. Hvis appen din ikke blir signert via Amazon Appstore, velger du Ja som svar på spørsmålet "Er denne applikasjonen selvsignert?"
De Android-applikasjonsdetaljer skjemaet utvides:
b. Skriv inn din Pakkens navn.
Dette må samsvare med pakkenavnet til Android-prosjektet ditt. For å bestemme pakkenavnet til Android Project, åpner du prosjektet etter eget valg av Android-utviklerverktøy.
Åpne AndroidManifest.XML i Package Explorer og velg Manifest fanen. Den første oppføringen er pakkenavnet.
c. Gå inn i appen Signatur.
Dette er en SHA-256-hashverdi som brukes til å bekrefte søknaden din. Signaturen må være i form av 32 heksadesimale par atskilt med kolon (f.eksampde: 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). Se Android App-signaturer og API-nøkler for trinn du kan bruke til å trekke ut signaturen fra prosjektet ditt. - Klikk Spare.
Hvis forskjellige versjoner av appen din har forskjellige signaturer eller pakkenavn, for eksempel for en eller flere testversjoner og en produksjonsversjon, krever hver versjon sin egen API-nøkkel. Fra Android-innstillinger på appen din, klikk på Legg til API-nøkkel for å lage flere nøkler for appen din (en per versjon).
Android App-signaturer og API-nøkler
Appens signatur er en SHA-256 hash-verdi som brukes på alle Android-apper når den er bygget. Amazon bruker app-signaturen til å konstruere API-nøkkelen. API-nøkkelen gjør det mulig for Amazon-tjenester å gjenkjenne appen din. Hvis du bruker Amazon Appstore til å signere appen din, blir API-nøkkelen gitt automatisk. Hvis du ikke bruker Amazon Appstore, må du administrere API-nøkkelen din manuelt.
App-signaturer lagres i en nøkkelbutikk. Vanligvis er det for Android-apper en feilsøkingsnøkkelbutikk og en frigjøringsnøkkelbutikk. Feilsøkingsnøkkelbutikken er opprettet av plugin-programmet Android Development Tools for Eclipse og brukes som standard. Du finner plasseringen til feilsøkingstasten i Eclipse ved å klikke Vindu, og deretter velge Innstillinger> Android> Bygg. Fra skjermen kan du også legge til din egen feilsøkingstast. For Android Studio, fra Bygge meny, velg Rediger byggetyper, gå deretter til Signering kategorien, og finn feilsøkingstasten i Lager File felt.
En utgivelsesnøkkelbutikk opprettes vanligvis når du eksporterer Android -appen din for å lage en signert APK file.
Gjennom eksportprosessen, hvis du oppretter en ny utgivelsesnøkkelbutikk, velger du plasseringen. Av
standard blir den plassert på samme sted som standard feilsøkings KeyStore.
Hvis du har registrert appen din ved hjelp av feilsøkingssignaturen under utviklingen, må du legge til en ny Android-innstilling i applikasjonen din når du er klar til å frigjøre appen. Den nye appinnstillingen må bruke signaturen fra utgivelsesnøkkelbutikken.
Se Signere applikasjonene dine på developer.android.com for mer informasjon.
Bestem Android App Signature
- Hvis du har en signert APK file:
a. Pakk ut APK -en file og ekstrakt CERT.RSA. (Du kan endre navn på APK-utvidelsen til ZIP om nødvendig).
b. Kjør fra kommandolinjen:nøkkelverktøy -trykk -file CERT.RSA Keytoolis ligger i bin katalog for Java-installasjonen din.
- Hvis du har en nøkkelbutikk file:
a. Kjør fra kommandolinjen:keytool -list -v -alias -nøkkelbutikkfilenavn> Tasteverktøy ligger i papirkurven på Java-installasjonen. Aliaset er navnet på nøkkelen som brukes til å signere appen.
b. Skriv inn passordet for nøkkelen og trykk på Gå. - Under Sertifikat fingeravtrykk, kopiere SHA256 verdi.
Hent Android API-nøkkelen
Når du har registrert en Android -innstilling og gitt en appsignatur, kan du hente API -nøkkelen fra registreringssiden for din pålogging med Amazon -applikasjon. Du må plassere den API -nøkkelen i en file i Android -prosjektet ditt. Før du gjør det, vil ikke appen bli autorisert til å kommunisere med pålogging med Amazon -autorisasjonstjeneste.
- Gå til https://login.amazon.com.
- Klikk App-konsoll.
- I Søknader boksen til venstre, velg din
- Finn Android-appen din under Android-innstillinger (Hvis du ennå ikke har registrert en Android-app, se Legg til en Android-app for Amazon Appstore).
- Klikk Generer API-nøkkelverdi. Et popup-vindu viser API-nøkkelen din. Klikk på for å kopiere nøkkelen Velg alle for å velge hele
Note: API-nøkkelverdien er delvis basert på tidspunktet den genereres. Dermed kan påfølgende API-nøkkelverdi (r) du genererer, avvike fra originalen. Du kan bruke noen av disse API-nøkkelverdiene i appen din, siden de alle er gyldige. - Se Legg API-nøkkelen til prosjektet ditt for instruksjoner om hvordan du legger til API-nøkkelen til Android
Opprette en pålogging med Amazon Project
I denne delen vil du lære hvordan du oppretter et nytt Android-prosjekt for innlogging med Amazon, konfigurerer prosjektet og legger til kode i prosjektet for å logge på en bruker med Login med Amazon. Vi vil beskrive trinnene for Android Studio, men du kan bruke analoge trinn på ethvert IDE- eller Android-utviklingsverktøy du ønsker.
Se følgende emner:
- Opprett en ny pålogging med Amazon Project
- Installer påloggingen med Amazon Library
- Aktiver Content Assist for pålogging med Amazon Library
- Angi nettverkstillatelser for appen din
- Legg API-nøkkelen til prosjektet ditt
- Fjern Sample App Custom Debug Keystore
- Håndter konfigurasjonsendringer for din aktivitet
- Legg til en autorisasjonsaktivitet i prosjektet ditt
- Legg til en pålogging med Amazon-knappen i appen din
- Håndter påloggingsknappen og få Profile Data
- Se etter brukerinnlogging ved oppstart
- Fjern autorisasjonsstatus og logg av en bruker
- Ring Amazon Authorization Manager Methods Synchronously
Opprett en ny pålogging med Amazon Project
Hvis du ennå ikke har et app-prosjekt for å bruke Logg inn med Amazon, følg instruksjonene nedenfor for å lage et. Hvis du har en eksisterende app, kan du hoppe til Installer påloggingen med Amazon Library .
- Lansering Android utviklingsverktøy.
- Fra File meny, velg Ny og Prosjekt.
- Skriv inn en Søknadsnavn og Firmanavn for din
- Skriv inn Søknad og firmanavn tilsvarer pakkenavnet du valgte da du registrerte appen din med Login med Amazon.
Hvis du ikke har registrert appen din ennå, velger du en Pakkenavn og følg deretter instruksjonene i Registrering med pålogging hos Amazon delen etter at du har opprettet prosjektet. Hvis pakkenavnet til appen din ikke samsvarer med det registrerte pakkenavnet, vil ikke påloggingen din med Amazon-samtaler lykkes. - Velg en Minimum påkrevd SDK av API 8: Android 2 (Froyo) eller høyere, og klikk Neste.
- Velg typen aktivitet du vil opprette, og klikk Neste.
- Fyll ut relevante detaljer og klikk Fullfør.
Du vil nå ha et nytt prosjekt i arbeidsområdet ditt som du kan bruke til å ringe pålogging med Amazon.
Installer påloggingen med Amazon Library
Hvis du ennå ikke har lastet ned påloggingen med Amazon SDK for Android, se Installer påloggingen med Amazon SDK for Android (s. 4).
- Med prosjektet ditt åpent i Android Developer Tools, i Prosjektutforsker, høyreklikk på Prosjekt.
- Hvis en mappe heter libs ikke allerede er til stede, opprette
- Kopier login-with-amazon-sdk.jar file fra File System, og lim den deretter inn i libs katalog under prosjektet / appen din.
- Høyreklikk login-with-amazon-sdk.jar, og sjekk Legg til som bibliotek
Aktiver Content Assist for pålogging med Amazon Library i Eclipse
For å aktivere Eclipse-innholdsstøtte krever støtte i et Android-prosjekt bruk av .egenskaper file. For mer informasjon om innholdshjelp, se Innhold / Kodeassistent onhelp.eclipse.org.
For å aktivere Eclipse-innholdsstøtte krever støtte i et Android-prosjekt bruk av .egenskaper file. For mer informasjon om innholdshjelp, se Innhold / Kodeassistent onhelp.eclipse.org.
- In Windows Utforsker, naviger til dokumenter mappe for pålogging med Amazon SDK for Android og kopier mappen til
- Med prosjektet åpent, gå til Pakkeutforsker og velg libs Klikk Redigere fra hovedmenyen og velg Lim inn. Du skal nå ha en libs \ docs katalog.
- Velg libs Klikk File fra hovedmenyen og velg Ny ogFile.
- I Ny File dialog, skriv inn login-with-amazon-sdk.jar.properties og klikk Fullfør.
- Formørkelsen skal åpne login-with-amazon-sdk.jar.properties i tekstredigereren. Legg til følgende linje i tekstredigeringsprogrammet file:
doc = docs - Fra File menyen, klikk Spare.
- Du må kanskje starte Eclipse på nytt for at endringene skal tre i kraft
Angi nettverkstillatelser for appen din
For at appen din skal kunne bruke Login med Amazon, må den få tilgang til Internett og få tilgang til nettverksstatusinformasjon. Appen din må hevde disse tillatelsene i Android-manifestet ditt, hvis det ikke allerede gjør det.
NOTE: Fremgangsmåten nedenfor er spesifikke for å legge til tillatelsene i Eclipse. Hvis du bruker Android Studio eller en annen IDE, kan du hoppe over alle de nummererte trinnene nedenfor. I stedet kopier kodelinjene som vises under skjermbildet, og lim dem inn i AndroidManifest.xml file, utenfor applikasjonsblokken.
- In Pakke Utforsker, dobbeltklikk xml.
- På Tillatelser fanen, klikk Legge til.
- Velge Bruker tillatelse og klikk OK.
- Til høyre for Tillatelser, finn Attributter for brukstillatelse
- I Navn boksen, skriv inn tillatelse. INTERNETT eller velg det fra rullegardinmenyen.
- På Tillatelser fanen, klikk Legge til
- Velge Bruker tillatelse og klikk OK.
- I Navn boksen, skriv inn tillatelse.ACCESS_NETWORK_STATE eller velg det fra rullegardinmenyen
- Fra File menyen, klikk Spare.
Nå skal manifesttillatelsene dine ha følgende verdier:
I AndroidManifest.xml fanen, bør du nå se disse oppføringene under manifestelementet:
Legg API-nøkkelen til prosjektet ditt
Når du registrerer Android-applikasjonen din med Login med Amazon, får du en API-nøkkel. Dette er en identifikator som Amazon Authorization Manager vil bruke til å identifisere søknaden din til Login med Amazon autorisasjonstjeneste. Hvis du bruker Amazon Appstore til å signere appen din, vil Appstore gi API-nøkkelen automatisk. Hvis du ikke bruker Amazon Appstore, laster Amazon Authorization Manager denne verdien ved kjøretid fra api_key.txt file i eiendeler katalog.
- Hvis du ikke har API-nøkkelen din ennå, følger du instruksjonene i Hent Android API-nøkkelen (s. 11).
- Med ADT-prosjektet ditt åpent, fra File menyen, klikk Ny og velg Uten tittel tekst File. Du bør nå ha et redigeringsvindu for en tekst file navngitt Uten tittel 1. Legg API-nøkkelen til teksten
- Fra File menyen, klikk Lagre som.
- I Lagre som velger du eiendeler katalog over prosjektet ditt som overordnet mappe. Til File navn, gå inn txt.
Fjern Sample App Custom Debug Keystore
NOTE: Dette trinnet kreves bare hvis du bruker Eclipse; Hvis du bruker Android Studio, hopper du over denne delen.
Hvis du installerte påloggingen med Amazon for Android sampHvis du bruker programmet til det samme arbeidsområdet som du bruker for Android -appen din, kan det hende du har et egendefinert feilsøkingsnøkkeloppsett for arbeidsområdet. Du må fjerne den egendefinerte feilsøkingsnøkkelen for å bruke din egen API -nøkkel.
- Fra hovedmenyen klikker du Vindu og velg Preferanser.
- I Preferanser dialog, velg Android og Bygge.
- Fjern Skikk feilsøk nøkkellager
- Klikk OK.
Håndter konfigurasjonsendringer for din aktivitet
Hvis en bruker endrer skjermretningen eller endrer tastaturtilstanden til enheten mens de logger på, vil den be om en omstart av den gjeldende aktiviteten. Denne omstarten vil avvise påloggingsskjermen uventet. For å forhindre dette, bør du angi aktiviteten som bruker autoriseringsmetoden for å håndtere disse konfigurasjonsendringene manuelt. Dette forhindrer en omstart av aktiviteten.
- In Pakke Utforsker, dobbeltklikk xml.
- I Søknad finner du aktiviteten som skal håndtere Logg inn med Amazon (f.eksample, Hoved aktivitet).
- Legg til følgende attributt til aktiviteten du fant i trinn 2:
android: configChanges = ”tastatur | tastatur Skjult | orientering” Eller for API 13 eller nyere:
android: configChanges = ”tastatur | tastatur skjult | retning | skjermstørrelse” - Fra File menyen, klikk Spare
Nå, når et endring av tastaturet eller enhetsretningen skjer, vil Android ringe onConfigurationChanged metode for din aktivitet. Du trenger ikke å implementere denne funksjonen med mindre det er et aspekt av disse konfigurasjonsendringene du vil håndtere for appen din
Når brukeren klikker på Logg inn med Amazon -knappen, starter APIen en web nettleser for å presentere en påloggings- og samtykkeside for brukeren. For at denne nettleseraktiviteten skal fungere, må du legge til AuthorizationActivity i manifestet ditt.
- In Pakke Utforsker, dobbeltklikk xml.
- I Søknad legg til følgende kode og erstatt "com.example.app ”med pakkenavnet for denne appen:
<aktivitet 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 ” />
appen din. Denne delen gir trinn for nedlasting av en offisiell pålogging med Amazon-bilde og sammenkobling med en Android ImageButton.
- Legg til en standard ImageButton i appen din.
For mer informasjon om Android-knapper og ImageButton-klassen, se Knapper på developer.android.com. - Gi knappen din en ID.
I knappen XML -erklæring, angi attributtet android: id til @+id/login_with_amazon. For eksampde:android: id = ”@ + id / login_with_amazon” - Velg et knappebilde.
Se vår pålogging med Amazon Retningslinjer for stil for en liste over knapper som du kan bruke i appen din. Last ned en kopi av LWA_Android.zip file. Trekk ut en kopi av knappen du foretrekker for hver skjermtetthet appen din støtter (xxhdpi, xhdpi, hdpi, mdpi eller tvdpi). For mer informasjon om støtte for flere skjermtettheter i Android, se Alternative oppsett i “Støtter flere skjermer” -temaet ondeveloper.android.com. - Kopier det riktige knappebildet files til prosjektet ditt.
For hver skjermtetthet du støtter (xhdpi, hdpi, mdpi eller ldpi), kopierer du den nedlastede knappen til res / tegnes katalog for skjermtettheten. - Erklær knappebildet.
Angi attributtet android: src i knappen XML -erklæring til navnet på knappen du har valgt. For eksampde:android: src = ”@ drawable / btnlwa_gold_loginwithamazon.png” 6. Last inn appen din, og kontroller at knappen nå har en pålogging med Amazon-bilde. Du bør kontrollere at knappen vises riktig for hver skjermtetthet du støtter.
Denne delen forklarer hvordan du ringer authorize og getProfile APIer for å logge på en bruker og hente proffene sinefile data. Dette inkluderer å lage en onClick -lytter for din pålogging med Amazon -knapp i onCreate -metoden i appen din.
- Legg til pålogging med Amazon til Android-prosjektet ditt. Se Installer påloggingen med Amazon Library .
- Importer påloggingen med Amazon API til kilden din
For å importere påloggingen med Amazon API, legg til følgende importuttalelser i kilden file:importer com.amazon.identity.auth.device.AuthError; import
com.amazon.identity.auth.device.authorization.api.
AmazonAuthorizationManager; import
com.amazon.identity.auth.device.authorization.api. AuthorizationListener; importer com.amazon.identity.auth.device.authorization.api.AuthzConstants; - Initialiser AmazonAuthorizationManager.
Du må erklære en AmazonAuthorizationManager variabel og opprette en ny forekomst av klassen. Å lage en ny forekomst krever bare din nåværende applikasjonskontekst og en tom pakke. Det beste stedet å initialisere AmazonAuthorizationManager er i påOpprett metode for din aktivitet. For eksampde: - Opprett en AuthorizeLiistener.
AuthorizeListener implementerer AuthorizatioinListener-grensesnittet, og behandler resultatet av autorisasjon. Den inneholder tre metoder: oinSuccess, onError, og onCanceil. Hver metode mottar enten en pakke eller en AuthError gjenstand.privat klasse AuthorizeListener implementerer AuthorizationListener {
/ * Autorisasjonen ble fullført. * /
@Overstyring
offentlig tomrom onSuccess (gruppesvar) {
}
/ * Det oppsto en feil under forsøket på å autorisere søknaden.
*/
@Overstyring
offentlig ugyldighet onError (AuthError ae) {
}
/ * Autorisasjonen ble kansellert før den kunne fullføres. * /
@Overstyring
public void onCancel (Bundle cause) {
}
} - Ringe AmazonAuthorizationManager.authorize.
I påKlikk behandler for pålogging med Amazon-knappen, ring autorisasjon for å be brukeren om å logge på og autorisere søknaden din.
Denne metoden er ansvarlig for å autorisere kunden på en av følgende måter:- Bytter til systemleseren og lar kunden logge på og samtykke til det forespurte
- Bytter til web view i en sikker kontekst, for å la kunden logge på og samtykke til den forespurte
Denne sikre konteksten for #2 er for øyeblikket tilgjengelig som Amazon Shopping -appen på Android -enheter. Amazon-opprettede enheter som kjører Fire OS (f.eksample Kindle Fire, Fire Phone og Fire TV) bruk alltid dette alternativet selv om det ikke er noen Amazon Shopping -app på enheten. På grunn av dette, hvis kunden allerede er logget på Amazon Shopping-appen, hopper denne APIen over påloggingssiden, noe som fører til en Enkel pålogging opplevelse for kunden.
Når søknaden din er autorisert, er den godkjent for ett eller flere datasett kjent som omfang. Den første parameteren er en rekke omfang som omfatter brukerdataene du ber om fra Logg inn med Amazon. Første gang en bruker logger på appen din, vil de bli presentert med en liste over dataene du ber om og bli bedt om godkjenning. Pålogging med Amazon støtter for tiden tre omfang: profffile, som inneholder brukerens navn, e -postadresse og Amazon -konto -ID; profile:bruker-ID, som bare inneholder Amazon-konto-ID; og postnummer, som inneholder brukerens postnummer.
Den beste måten å ringe autorisasjon på er asynkront, slik at du ikke trenger å blokkere brukergrensesnitttråden eller opprette en egen arbeidertråd. Å ringe autoriseasynkront, passere et objekt som støtter AuthorizationListener -grensesnitt som siste parameter:privat AmazonAuthorizationManager mAuthManager; @Overstyring
protected void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
mAuthManager = ny AmazonAuthorizationManager (dette, Bundle.EMPTY);// Finn knappen med login_with_amazon ID
// og sett opp en klikkbehandler
mLoginButton = (Knapp) finnViewById (R.id.login_with_amazon);
mLoginButton.setOnClickListener (ny OnClickListener () {
@Overstyring
offentlig ugyldig onClick (View v) {
mAuthManager.authorize (
ny streng [] {“profile","postnummer"},
Bundle.EMPTY, ny AuthorizeListener ());
}
});
} - Lag en ProfileLytter.
ProfileLytter er vårt navn for en klasse som implementerer APIListener grensesnitt, og vil behandle resultatet av bli profffile ringe. APIListener inneholder to metoder: på suksess og onError (den støtter ikke på Avbryt fordi det ikke er noen måte å kansellere a bli profffile anrop). på suksess mottar et pakkeobjekt med profile data, mens påEriror mottar en AuthError objekt med informasjon om feilen.privat klasse ProfileListener implementerer APIListener { /* bli profffile fullført vellykket. */ @Overstyring
offentlig tomrom onSuccess (gruppesvar) {}
/* Det oppstod en feil under forsøket på å skaffe profffile. */ @Overstyring
offentlig ugyldighet onError (AuthError ae) {
}
} - Implementere på suksess for din AuthorizeListener.
In påSuksess, ringe AmazonAuthorizationManager.getProfile å hente kundens profffile. bli profffile, som autoriserer, bruker et asynkront lyttergrensesnitt. Til bli profffile, det grensesnittet er APIListener, notAuthorizationListener.
/ * Autorisasjonen ble fullført. */ @Overstyring
offentlig tomrom onSuccess (gruppesvar) {
mAuthManager.getProfile(ny ProfileListener ());} - Implementere på suksess for din ProfileLytter.
på suksesshar to hovedoppgaver: å hente profffile data fra svarpakken, og for å overføre dataene til brukergrensesnittet. updateProfileData er en hypotetisk funksjon appen din kan implementere for å vise profffile detaljer. setLoggedInState, en annen hypotetisk funksjon, vil indikere at en bruker er logget inn og gi dem et middel til logger ut.
For å hente profffile data fra pakken, bruker vi navn lagret av AuthzConstants klasse. De på suksess pakken inneholder profffile data i en BUNDLE_KEY.PROFILE bunt.
Innenfor proffenefile pakke, blir omfangsdataene indeksert under PROFILE_KEY.NAME, PROFILE_KEY.EMAIL, PROFILE_KEY.USER_ID, og PROFILE_KEY.POSTAL_CODE. PROFILE_KEY.POSTAL_CODE er bare inkludert hvis du ber om postnummer omfang.@Overstyring
offentlig tomrom onSuccess (gruppesvar) {
// Hent dataene vi trenger fra Bundle Bundle profileBundle = response.getBundle (
AuthzConstants.BUNDLE_KEY.PROFILE.val);
Strengenavn = profffileBundle.getString (
AuthzConstants.PROFILE_KEY.NAME.val);
String -e -post = profffileBundle.getString (
AuthzConstants.PROFILE_KEY.EMAIL.val);
Stringkonto = profffileBundle.getString (
AuthzConstants.PROFILE_KEY.USER_ID.val);
String postnummer = profileBundle.getString (
AuthzConstants.PROFILE_KEY.POSTAL_CODE.val);
runOnUiThread (ny Runnable () {@Override
offentlig tomkjøring () {
updateProfileData (navn, e -post, konto, postnummer);
}
});
} - Implementere onFeil for din ProfileLytter.
onFeil inkluderer en AuthError objekt som inneholder detaljer om feilen./* Det oppstod en feil under forsøket på å skaffe profffile. */ @Overstyring
offentlig ugyldighet onError (AuthError ae) {
/ * Prøv på nytt eller informer brukeren om feilen * /
} - Implementere påFeilfor din AuthorizeListener.
/ * Det oppsto en feil under forsøket på å autorisere søknaden.
*/
@Overstyring
offentlig ugyldighet onError (AuthError ae) {
/ * Informer brukeren om feilen * /
} - Implementere påCancelfor din AuthorizeListener.
Fordi autorisasjonsprosessen presenterer en påloggingsskjerm (og muligens et samtykkeskjermbilde) for brukeren i en web nettleser (eller a webview), brukeren vil ha en mulighet til å avbryte påloggingen eller navigere vekk fra web side. Hvis de eksplisitt avbryter påloggingsprosessen, på Avbryt er kalt. Hvis på Avbryt ringt, vil du tilbakestille brukergrensesnittet./ * Autorisasjonen ble kansellert før den kunne fullføres. * /
@Overstyring
public void onCancel (Bundle cause) {
/ * tilbakestill brukergrensesnittet til en klar til innloggingstilstand * /
}Note: Hvis brukeren navigerer vekk fra påloggingsskjermen i nettleseren eller web view og bytter tilbake til appen din, oppdager ikke SDK at påloggingen ikke ble fullført. Hvis du oppdager brukeraktivitet i appen din før påloggingen er fullført, kan du anta at de har navigert bort fra nettleseren og reagere deretter.
Se etter brukerinnlogging ved oppstart
Hvis en bruker logger på appen din, lukker appen og starter appen på nytt senere, er appen fortsatt autorisert til å hente data. Brukeren logges ikke ut automatisk. Ved oppstart kan du vise brukeren som pålogget hvis appen din fremdeles er autorisert. Denne delen forklarer hvordan du bruker getToken for å se om appen fremdeles er autorisert.
- Lag en TokenListener.
TokenListener implementerer APIListener grensesnitt, og vil behandle resultatet av getToken-samtalen. APIListener inneholder to metoder: på suksess og onFeil (det støtter ikke på Avbryt fordi det ikke er noen måte å kansellere a getToken anrop). på suksess mottar et pakkeobjekt med token-data, mens onFeil mottar en AuthError objekt med informasjon om feilen.privat klasse TokenListener implementerer APIListener { / * getToken fullført. */ @Overstyring
offentlig tomrom onSuccess (gruppesvar) {
}
/ * Det oppstod en feil under forsøket på å få tokenet. */ @Overstyring
offentlig ugyldighet onError (AuthError ae) {
}
} - I på Start metode for din aktivitet, ring getToken for å se om søknaden fremdeles er godkjent.
getToken henter det rå tilgangstokenet som AmazonAuthorizationManager bruker for å få tilgang til en kundeprofffile. Hvis token -verdien ikke er null, er appen fortsatt autorisert og ringer til bli profffile skal lykkes. getToken krever de samme omfangene du ba om i samtalen din om å godkjenne.
getTokenstøtter asynkrone anrop på samme måte som getProfile, slik at du ikke trenger å blokkere UI -tråden eller opprette en egen arbeidertråd. For å ringe getToken asynkront, send et objekt som støtter APIListener grensesnitt som den siste parameteren.@Overstyring
beskyttet tomrom onStart () {
super.onStart
(); mAuthManager.getToken (ny streng [] {“profile","postnummer"},
ny
TokenListener ());
} - Implementere på suksess for din TokenListener.
på suksesshar to oppgaver: å hente tokenet fra pakken, og hvis tokenet er gyldig, å ringe bli profffile.
For å hente token-dataene fra pakken, bruker vi navn lagret av AuthzConstants klasse. De på suksess pakken inneholder token -dataene i en BUNDLE_KEY.TOKEN -verdi. Hvis denne verdien ikke er null, vil denne eksample ringer bli profffile ved å bruke samme lytter som du erklærte i forrige avsnitt (se trinn 7 og 8)./ * getToken fullført. * /
@Overstyring
offentlig tomrom onSuccess (gruppesvar) {
endelig streng authzToken =
respons.getString (AuthzConstants.BUNDLE_KEY.TOKEN.val);
if (! TextUtils.isEmpty (authzToken))
{
// Hent profffile data
mAuthManager.getProfile(ny ProfileListener ());
}
}
ClearAuthorizationState -metoden sletter brukerens autorisasjonsdata fra AmazonAuthorizationManager lokale datalagring. En bruker må logge på igjen for at appen skal kunne hente profffile data. Bruk denne metoden for å logge av en bruker, eller for å feilsøke påloggingsproblemer i appen.
- Implementere en avlogging
Når en bruker har logget seg på, bør du tilby en avloggingsmekanisme slik at de kan slette proffene sinefile data og tidligere godkjente omfang. Mekanismen din kan være en hyperkobling eller et menyelement. For denne eksample vi skal lage en påKlikk metode for en knapp. - Ring din i avloggingsbehandleren clearAuthorizationState. clearAuthorizationState vil fjerne en brukers autorisasjonsdata (tilgangstokener, profile) fra den lokale butikken. clearAuthorizationStatetakes ingen parametere bortsett fra en APIListener å returnere suksess eller
- Erklær en anonym APIListener.
Anonyme klasser er et nyttig alternativ til å erklære at en ny klasse skal implementeres APIListener. Se Håndter påloggingsknappen og få Profile Data (s. 17) for en examplete erklærer lytterklasser. - Implementere på suksess inne i APIListener
Når clearAuthorizationState lykkes, bør du oppdatere brukergrensesnittet ditt for å fjerne referanser til brukeren, og gi en påloggingsmekanisme brukere kan bruke til å logge på igjen. - Implementere onFeil inne i APIListener.
If clearAuthorizationStater returnerer en feil, kan du la brukeren prøve å logge ut igjen.@Overstyring
protected void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
/ * Forrige påOpprett erklæringer utelatt * /
// Finn knappen med avloggings-ID og sett opp en klikkbehandler
mLogoutButton = (Knapp) finnViewById (R.id.logout);
mLogoutButton.setOnClickListener (ny OnClickListener () {
@Overstyring
offentlig ugyldig onClick (View v) {
mAuthManager.clearAuthorizationState (ny
APIListener () {
@Overstyring
public void onSuccess (Bundle results) {
// Angi utlogget tilstand i brukergrensesnittet
}
@Overstyring
offentlig tomrom onError (AuthError authError) {
// Logg feilen
}
});
}
});
}
Noen AmazonAuthorizationManager metoder returnerer et fremtidig objekt. Dette lar deg ringe metoden synkront i stedet for å sende en lytter som parameter. Hvis du bruker et Future -objekt, bør du ikke bruke det på en UI -tråd. Hvis du blokkerer en UI -tråd i mer enn fem sekunder, får du en ANR -melding (Application Not Responding). I håndtaket påloggingsknappen og Get Profile Data eksample, den på suksess metode for AuthorizeListener kalles med en arbeidstråd opprettet av AmazonAuthorizationManager. Dette betyr at det er trygt å bruke den tråden til å ringe getPirofile synkront. For å foreta et synkront anrop, tilordner du returverdien fra få Pirofile til et fremtidig objekt, og kalle gietmetode på det objektet for å vente til metoden er fullført.
Future.get returnerer et pakkeobjekt som inneholder et FUTURE_TYPE verdi av SUKSESS, FEIL, or KANSELLERE. Hvis metoden var en suksess, vil den samme pakken inneholde PROFILE_KEY -verdier for proffenefile data. For eksampde:
/ * Autorisasjonen ble fullført. * / @Overstyring offentlig tomrom onSuccess (gruppesvar) { Fremtidig <Bundle> fremtid = mAuthManager.getProfile(null); Buntresultat = future.get (); // Finn ut om samtalen lyktes, og hent profffile Objekt future_type = result.get (AuthzConstants.BUNDLE_KEY.FUTURE.val); hvis (future_type == AuthzConstants.FUTURE_TYPE.SUCCESS) { Stringnavn = result.getString (AuthzConstants.PROFILE_KEY.NAME.val); String -e -post = result.getString (AuthzConstants.PROFILE_KEY.EMAIL.val); Stringkonto = result.getString (AuthzConstants.PROFILE_KEY.USER_ID.val); String postnummer = result.getString (AuthzConstants.PROFILE_KEY.POSTAL_CODE.val); runOnUiThread (ny Runnable () {@Override offentlig ugyldig kjøring () {updateProfileData (navn, e -post, konto, post kode); } }); } annet hvis (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Få feilobjekt AuthError authError = AuthError.extractError (resultat); / * Bruk authError for å diagnostisere feil * / } |
Logg inn med Amazon Komme i gang-guide for Android - Last ned [optimalisert]
Logg inn med Amazon Komme i gang-guide for Android - Last ned