Inicieu la sessió amb la Guia d'inici d'Amazon per a Android

Inicieu sessió amb Amazon: Guia d'iniciació per a Android
Copyright © 2016 Amazon.com, Inc. o els seus afiliats. Tots els drets reservats. Amazon i el logotip d’Amazon són marques comercials d’Amazon.com, Inc. o dels seus afiliats. La resta de marques comercials que no són propietat d’Amazon són propietat dels seus respectius propietaris.
Primers passos per a Android
En aquesta guia us mostrarem com afegir Inici de sessió amb Amazon a la vostra aplicació per a Android. Després de completar aquesta guia, hauríeu de tenir un botó d'inici de sessió amb Amazon a la vostra aplicació per permetre als usuaris iniciar sessió amb les seves credencials d'Amazon.
Instal·lació de les eines per a desenvolupadors d'Android
L'SDK d'inici de sessió amb Amazon per a Android us ajudarà a afegir Inici de sessió amb Amazon a la vostra aplicació per a Android. Us recomanem que utilitzeu Inici de sessió amb Amazon SDK per a Android des de developer.amazon.com amb Android Studio. Tanmateix, també podeu utilitzar el connector Eclipse amb ADT. Per obtenir els passos sobre com instal·lar Android Studio i per configurar l'SDK d'Android, consulteu Obteniu l'SDK d'Android a developer.android.com.
Quan l'SDK d'Android estigui instal·lat, cerqueu el Gestor d'SDK aplicació a la vostra instal·lació d'Android. Per desenvolupar l'inici de sessió amb Amazon, heu d'utilitzar el Gestor d'SDK per instal·lar la plataforma SDK per a Android 2.2 o superior (versió de l'API 8). Vegeu Afegint paquets SDK a developer.android.com per obtenir més informació sobre com utilitzar l'SDK
Després d'instal·lar l'SDK, configureu un dispositiu virtual d'Android (AVD) per executar les vostres aplicacions. Vegeu Gestionant Dispositius virtuals a developer.android.com per obtenir instruccions sobre com configurar un dispositiu virtual.
Quan el vostre entorn de desenvolupament estigui configurat, podeu fer-ho Instal·leu l'inici de sessió amb Amazon SDK per a Android or Executar el Sampl'aplicació, tal com es descriu a continuació.
Instal·leu l'inici de sessió amb Amazon SDK per a Android
L'inici de sessió amb Amazon SDK per a Android es presenta en dos paquets. El primer conté la biblioteca d'Android i la documentació de suport. El segon conté comampl'aplicació que permet a un usuari iniciar sessió i mostrar el seu profile dades.
Si encara no heu instal·lat l'SDK d'Android o les eines de desenvolupament d'Android, consulteu el Instal·lació les eines per a desenvolupadors d'Android secció anterior.
- Descarregar cremallera i extreu el files a un directori del disc dur.
Hauríeu de veure una doc i a lib subdirectori. - Obert doc/index.html a view l'inici de sessió amb l'API d'Amazon Android
- Mireu Instal·leu l'inici de sessió amb la biblioteca d'Amazon, per obtenir instruccions sobre com afegir la biblioteca i la documentació a un Android
Quan s'ha instal·lat l'inici de sessió amb Amazon SDK per a Android, podeu fer-ho Creeu un nou inici de sessió amb Amazon Projecte, després Registrar-se a Iniciar sessió amb Amazon .
Executar el Sampl'aplicació
Per executar el sampl'aplicació, importeu el sampen un espai de treball d'AndroidStudio (si feu servir Eclipse, també heu d'afegir un magatzem de claus de depuració personalitzat a l'espai de treball. Vegeu el Afegiu la depuració personalitzada Botiga de claus a Eclipse secció següent). La clau API que el sampL'aplicació utilitza requereix que l'espai de treball utilitzi el magatzem de claus que s'envia amb el sample. Si el magatzem de claus personalitzat no està instal·lat, els usuaris no podran iniciar sessió amb sample. El magatzem de claus es recollirà automàticament si feu servir AndroidStudio.
- Descarregar SampleLoginWithAmazonAppForAndroid-src.zip i extreu el files a un directori del vostre disc dur
- Inicieu Android Studio i seleccioneu Obriu un projecte d'Android Studio existent
- Navegueu fins al SampleLoginWithAmazonApp directori obtingut després d'extreure el zip descarregat file al Pas
- Des del Construir menú, feu clic Fes Projecte, i espereu que el projecte ho faci
- Des del Corre menú, feu clic Corre i després feu clic a SampleLoginWithAmazonApp.
- Seleccioneu l'emulador o el dispositiu Android connectat i feu clic Corre.
Afegiu la botiga de claus de depuració personalitzada a Eclipse
Si utilitzeu Eclipse, seguiu les instruccions següents per afegir el magatzem de claus de depuració personalitzat:
- En el Preferències diàleg, seleccioneu Android i Construir.
- Al costat Personalitzat Depura el magatzem de claus, feu clic Navega.
- Navega fins al sample directori de l'aplicació i seleccioneu 3p.keystore, i després feu clic OK.
Registrar-se a Iniciar sessió amb Amazon
Abans de poder utilitzar Inici de sessió amb Amazon a weblloc o en una aplicació mòbil, heu de registrar una aplicació amb Inici de sessió amb Amazon. La vostra aplicació d'inici de sessió amb Amazon és el registre que conté informació bàsica sobre la vostra empresa i informació sobre cadascuna weblloc o aplicació mòbil que creeu que admet la sessió amb Amazon. Aquesta informació empresarial es mostra als usuaris cada vegada que utilitzen Inici de sessió amb Amazon al vostre weblloc o aplicació mòbil. Els usuaris veuran el nom de la vostra aplicació, el vostre logotip i un enllaç a la vostra política de privadesa. Aquests passos mostren com registrar una aplicació d'inici de sessió amb Amazon i afegir una aplicació d'Android a aquest compte.
Vegeu els temes següents:
- Registreu el vostre inici de sessió amb l'aplicació Amazon
- Registreu la vostra aplicació per a Android
- Afegiu una aplicació d'Android per a Amazon Appstore
- Afegiu una aplicació per a Android sense Appstore
- Signatures d'aplicacions d'Android i claus API
- Determinació d'una signatura d'aplicació Android
- Recuperació d'una clau d'API d'Android
Registreu el vostre inici de sessió amb l'aplicació Amazon
- Vés a https://login.amazon.com.
- Si ja us heu registrat per iniciar sessió amb Amazon, feu clic a Consola d'aplicacions. En cas contrari, feu clic Registra't. Se us redirigirà a Seller Central, que gestiona el registre de l'aplicació per iniciar sessió amb Si és la primera vegada que feu servir Seller Central, se us demanarà que configureu un compte de Seller Central.
- Feu clic Registre una nova aplicació. El Registreu la vostra sol·licitud apareixerà el formulari:
a. En el Registreu la vostra sol·licitud formulari, introduïu a Nom i a Descripció per a la seva aplicació.
El Nom és el nom que es mostra a la pantalla de consentiment quan els usuaris accepten compartir informació amb la vostra aplicació. Aquest nom s'aplica a Android, iOS i webversions del lloc de la vostra aplicació.
b. Introduïu a Avís de privadesa URL per a la seva aplicació
El Avís de privadesa URL és la ubicació de la política de privadesa de la vostra empresa o aplicació (per exemple,ampel, http://www.example.com/privacy.html). Aquest enllaç es mostra als usuaris a la pantalla de consentiment.
c. Si voleu afegir un Imatge del logotip per a la vostra aplicació, feu clic Navega i localitza la imatge corresponent.
Aquest logotip es mostra a la pantalla d'inici de sessió i consentiment per representar la vostra empresa o weblloc. El logotip es reduirà a 50 píxels d'alçada si supera els 50 píxels; no hi ha cap limitació a l'amplada del logotip - Feu clic Desa. El teu sampel registre hauria de ser semblant a això:

Després de desar la configuració bàsica de l'aplicació, podeu afegir paràmetres específics webllocs i aplicacions mòbils que faran servir aquest inici de sessió amb el compte d’Amazon.
Registreu la vostra aplicació per a Android
Per registrar una aplicació d'Android, podeu triar registrar una aplicació a través de l'Amazon Appstore (Afegiu una aplicació d'Android per a Amazon Appstore, pàg. 8) o directament amb Inici de sessió amb Amazon (Afegeix un Android Aplicació sense Appstore, pàg. 9). Quan la vostra aplicació estigui registrada, tindreu accés a una clau API que us permetrà accedir al servei d'autorització Inici de sessió amb Amazon.
Nota: Si teniu previst utilitzar Amazon Device Messaging a la vostra aplicació per a Android, poseu-vos en contacte lwa- support@amazon.com amb:
- L'adreça de correu electrònic del compte d'Amazon que heu utilitzat per registrar-vos a Inici de sessió amb Amazon.
- L'adreça de correu electrònic del compte d'Amazon que heu utilitzat per registrar-vos a Amazon Appstore (si és diferent).
- El nom del vostre compte de Seller Central. (A Seller Central, feu clic a Configuració > Informació del compte > Informació del venedor, i utilitzeu el Nom visible).
- El nom del vostre compte de desenvolupador d'Amazon Appstore. (Al lloc de distribució d'aplicacions mòbils, feu clic a Configuració > Companyia Profile i utilitza el Nom del desenvolupador o nom de l'empresa).
Afegiu una aplicació d'Android per a Amazon Appstore
Els passos següents afegiran una aplicació Amazon Appstore al vostre compte d'inici de sessió amb Amazon:
- A la pantalla de l'aplicació, feu clic Configuració d'Android. Si ja teniu una aplicació d'Android registrada, cerqueu Afegeix una clau API botó a Configuració d'Android
El Detalls de l'aplicació d'Android apareixerà el formulari: - Seleccioneu Sí en resposta a la pregunta "Aquesta aplicació es distribueix a través de l'Amazon Appstore?"
- Introduïu el Etiqueta de la teva aplicació per a Android. Aquest no ha de ser el nom oficial de la vostra aplicació. Simplement identifica aquesta aplicació d'Android en particular entre les aplicacions i webllocs registrats al vostre inici de sessió amb l'aplicació Amazon.
- Afegeix el teu Identificador d'Amazon Appstore.
- Si heu signat l'aplicació, afegiu-hi informació d'autofirma. Això us permetrà obtenir una clau API durant el desenvolupament sense utilitzar directament l'Appstore:
a. Si la vostra aplicació no s'està signant a través de l'Amazon Appstore, seleccioneu Sí en resposta a la pregunta "Aquesta aplicació està signada automàticament?"
El Detalls de l'aplicació d'Android el formulari s'ampliarà:

b. Introduïu el vostre Nom del paquet.
Ha de coincidir amb el nom del paquet del vostre projecte Android. Per determinar el nom del paquet del vostre projecte d'Android, obriu el projecte a l'eina de desenvolupament d'Android que trieu.
Obert AndroidManifest.XML a l'Explorador de paquets i seleccioneu Manifest pestanya. La primera entrada és el nom del paquet.
c. Entra a l'aplicació Signatura.
Aquest és un valor hash SHA-256 utilitzat per verificar la vostra aplicació. La signatura ha de tenir la forma de 32 parells hexadecimals separats per dos punts (per exampLI: 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). Mireu Signatures d'aplicacions d'Android i claus API per als passos que podeu utilitzar per extreure la signatura del vostre projecte. - Feu clic Desa.
Si diferents versions de la vostra aplicació tenen signatures o noms de paquet diferents, com ara una o més versions de prova i una versió de producció, cada versió requereix la seva pròpia clau d'API. Des del Configuració d'Android de la vostra aplicació, feu clic a Afegeix una clau API per crear claus addicionals per a la vostra aplicació (una per versió).
Signatures d'aplicacions d'Android i claus API
La signatura de l'aplicació és un valor hash SHA-256 que s'aplica a totes les aplicacions d'Android quan es crea. Amazon utilitza la signatura de l'aplicació per construir la vostra clau API. La clau API permet als serveis d'Amazon reconèixer la vostra aplicació. Si utilitzeu Amazon Appstore per signar la vostra aplicació, la clau de l'API es proporciona automàticament. Si no feu servir l'Amazon Appstore, haureu de gestionar la vostra clau API manualment.
Les signatures de les aplicacions s'emmagatzemen en un magatzem de claus. En general, per a les aplicacions d'Android hi ha un magatzem de claus de depuració i un magatzem de claus de llançament. El magatzem de claus de depuració el crea el connector Android Development Tools per a Eclipse i s'utilitza de manera predeterminada. Podeu trobar la ubicació del magatzem de claus de depuració a Eclipse fent clic Finestra, i després seleccionant Preferències > Android > Construir. Des d'aquesta pantalla també podeu afegir el vostre propi magatzem de claus de depuració. Per a Android Studio, des del Construir menú, seleccioneu Edita els tipus de compilació, després aneu a Signatura pestanya i localitzeu el magatzem de claus de depuració al fitxer Botiga File camp.
Normalment es crea un magatzem de claus de llançament quan exporteu la vostra aplicació per a Android per crear un APK signat file.
Mitjançant el procés d'exportació, si esteu creant un magatzem de claus de versió nova, seleccionareu la seva ubicació. Per
per defecte es col·locarà a la mateixa ubicació que el vostre KeyStore de depuració predeterminat.
Si heu registrat la vostra aplicació mitjançant la signatura de depuració durant el desenvolupament, haureu d'afegir una nova configuració d'Android a la vostra aplicació quan estigueu preparat per llançar l'aplicació. La nova configuració de l'aplicació ha d'utilitzar la signatura del magatzem de claus de llançament.
Mireu Signant les vostres sol·licituds a developer.android.com per obtenir més informació.
Determineu la signatura de l'aplicació d'Android
- Si teniu un APK signat file:
a. Descomprimiu l'APK file i extreure CERT.RSA. (Podeu canviar el nom de l'extensió APK a ZIP si cal).
b. Des de la línia d'ordres, executeu:keytool -printcert -file CERT.RSA Keytoolis situat a la paperera directori de la vostra instal·lació de Java.
- Si teniu un magatzem de claus file:
a. Des de la línia d'ordres, executeu:keytool -list -v -alias - magatzem de clausfilenom> Keytool es troba al directori bin de la vostra instal·lació de Java. L'àlies és el nom de la clau utilitzada per signar l'aplicació.
b. Introduïu la contrasenya de la clau i premeu Entra. - Sota Empremtes dactilars del certificat, copiar el SHA256 valor.
Recupera la clau de l'API d'Android
Quan hàgiu registrat una configuració d'Android i heu proporcionat una signatura d'aplicació, podeu recuperar la clau API des de la pàgina de registre de l'aplicació Inici de sessió amb Amazon. Haureu de col·locar aquesta clau de l'API a un file al vostre projecte Android. Fins que no ho feu, l'aplicació no estarà autoritzada per comunicar-se amb el servei d'autorització Login with Amazon.
- Vés a https://login.amazon.com.
- Feu clic Consola d'aplicacions.
- En el Aplicacions quadre de l'esquerra, seleccioneu el vostre
- Trobeu la vostra aplicació per a Android a sota de Configuració d'Android (Si encara no heu registrat una aplicació per a Android, consulteu Afegiu una aplicació d'Android per a Amazon Appstore).
- Feu clic Genera el valor de la clau de l'API. Una finestra emergent mostrarà la vostra clau API. Per copiar la clau, feu clic Seleccioneu Tot per seleccionar la totalitat
Nota: el valor de la clau de l'API es basa, en part, en el moment en què es genera. Per tant, els valors de clau de l'API posteriors que genereu poden diferir de l'original. Podeu utilitzar qualsevol d'aquests valors clau de l'API a la vostra aplicació, ja que tots són vàlids. - Mireu Afegiu la vostra clau API al vostre projecte per obtenir instruccions sobre com afegir la clau API al vostre Android
Creació d’un inici de sessió amb Amazon Project
En aquesta secció, aprendràs a crear un nou projecte d'Android per iniciar sessió amb Amazon, configurar el projecte i afegir codi al projecte per iniciar la sessió d'un usuari amb Inici de sessió amb Amazon. Descrivim els passos per a Android Studio, però podeu aplicar passos anàlegs a qualsevol IDE o eina de desenvolupament d'Android que trieu.
Vegeu els temes següents:
- Creeu un nou inici de sessió amb Amazon Project
- Instal·leu l'inici de sessió amb la biblioteca d'Amazon
- Activeu Content Assist per a l'inici de sessió amb la biblioteca d'Amazon
- Establiu els permisos de xarxa per a la vostra aplicació
- Afegiu la vostra clau API al vostre projecte
- Traieu el Sampl'App Custom Debug Keystore
- Gestioneu els canvis de configuració de la vostra activitat
- Afegiu una activitat d'autorització al vostre projecte
- Afegiu un inici de sessió amb el botó Amazon a la vostra aplicació
- Maneu el botó d’inici de sessió i obteniu Profile Dades
- Cerqueu l’inici de sessió d’usuari a l’inici
- Esborreu l'estat d'autorització i tanqueu la sessió d'un usuari
- Truqueu als mètodes del gestor d'autoritzacions d'Amazon de manera sincrònica
Creeu un nou inici de sessió amb Amazon Project
Si encara no teniu cap projecte d'aplicació per utilitzar Inici de sessió amb Amazon, seguiu les instruccions següents per crear-ne un. Si teniu una aplicació existent, aneu a Instal·leu l'inici de sessió amb la biblioteca d'Amazon .
- Llançament Eina de desenvolupament d'Android.
- Des del File menú, seleccioneu Nou i Projecte.
- Introduïu un Nom de l'aplicació i Nom de l'empresa pel teu
- Introduïu el Aplicació i Nom de l'empresa corresponent al nom del paquet que vau triar quan vau registrar la vostra aplicació amb Inici de sessió amb Amazon.
Si encara no heu registrat la vostra aplicació, trieu a Nom del paquet i després seguiu les instruccions del fitxer Registrar-se a Iniciar sessió amb Amazon secció després de crear el projecte. Si el nom del paquet de la vostra aplicació no coincideix amb el nom del paquet registrat, les trucades d'inici de sessió amb Amazon no tindran èxit. - Seleccioneu a SDK mínim requerit de l'API 8: Android 2 (Froyo) o superior i feu clic A continuació.
- Seleccioneu el tipus d'activitat que voleu crear i feu clic A continuació.
- Ompliu les dades rellevants i feu clic Acabar.
Ara tindreu un nou projecte al vostre espai de treball que podeu utilitzar per trucar a Inici de sessió amb Amazon.
Instal·leu l'inici de sessió amb la biblioteca d'Amazon
Si encara no us heu descarregat el Login with Amazon SDK per a Android, consulteu Instal·leu l'inici de sessió amb Amazon SDK per a Android (pàg. 4).
- Amb el vostre projecte obert a Android Developer Tools, a Explorador de projectes, feu clic dret al vostre Projecte.
- Si una carpeta crida libs encara no està present, crea
- Copia el login-with-amazon-sdk.jar file des del File Sistema, i després enganxeu-lo al fitxer libs directori sota el vostre projecte/aplicació.
- Feu clic amb el botó dret login-with-amazon-sdk.jar, i comproveu el Afegeix com a biblioteca
Activeu Content Assist per a l'inici de sessió amb la biblioteca d'Amazon a Eclipse
Per habilitar el suport d'assistència de contingut d'Eclipse en un projecte d'Android, cal utilitzar a .propietats file. Per obtenir més informació sobre l'assistència de contingut, vegeu Assistència de contingut/codi onhelp.eclipse.org.
Per habilitar el suport d'assistència de contingut d'Eclipse en un projecte d'Android, cal utilitzar a .propietats file. Per obtenir més informació sobre l'assistència de contingut, vegeu Assistència de contingut/codi onhelp.eclipse.org.
- In Explorador de Windows, navegueu fins a docs carpeta per a Inicieu sessió amb Amazon SDK per a Android i copieu la carpeta a
- Amb el vostre projecte obert, aneu a Explorador de paquets i seleccioneu el libs Feu clic Edita des del menú principal i seleccioneu Enganxa. Ara hauríeu de tenir un libs\docs directori.
- Seleccioneu el libs Feu clic File des del menú principal i seleccioneu Nou iFile.
- En el Nou File diàleg, entra login-with-amazon-sdk.jar.properties i feu clic Acabar.
- Eclipse hauria d'obrir-se login-with-amazon-sdk.jar.properties a l'editor de text. A l'editor de text, afegiu la línia següent al fitxer file:
doc=docs - Des del File menú, feu clic Desa.
- És possible que hàgiu de reiniciar Eclipse perquè els canvis tinguin efecte
Establiu els permisos de xarxa per a la vostra aplicació
Perquè la vostra aplicació utilitzi Login with Amazon, ha d'accedir a Internet i accedir a la informació de l'estat de la xarxa. La vostra aplicació ha d'afirmar aquests permisos al vostre manifest d'Android, si encara no ho fa.
NOTA: Els passos del procediment següents són específics per afegir els permisos a Eclipse. Si utilitzeu Android Studio o un IDE diferent, podeu saltar tots els passos numerats a continuació. En lloc d'això, copieu les línies de codi que es mostren a sota de la captura de pantalla i enganxeu-les al fitxer AndroidManifest.xml file, fora del bloc d'aplicacions.
- In paquet Explorador, feu doble clic xml.
- A la Permisos pestanya, feu clic Afegeix.
- Seleccioneu Permís d'ús i feu clic OK.
- A la dreta de Permisos, troba el Permís d'atributs per a usos
- En el Nom quadre, introduïu permís. INTERNET o seleccioneu-lo al menú desplegable.
- A la Permisos pestanya, feu clic Afegeix
- Seleccioneu Permís d'ús i feu clic OK.
- En el Nom quadre, introduïu permís.ACCESS_NETWORK_STATE o seleccioneu-lo al menú desplegable
- Des del File menú, feu clic Desa.
Els vostres permisos de manifest ara haurien de tenir els valors següents:

En el AndroidManifest.xml pestanya, ara hauríeu de veure aquestes entrades sota l'element del manifest:
Afegiu la vostra clau API al vostre projecte
Quan registreu la vostra aplicació d'Android amb Inici de sessió amb Amazon, se us assigna una clau API. Aquest és un identificador que el Gestor d'autoritzacions d'Amazon utilitzarà per identificar la vostra aplicació al servei d'autorització Inici de sessió amb Amazon. Si utilitzeu Amazon Appstore per signar la vostra aplicació, l'Appstore us proporcionarà la clau de l'API automàticament. Si no feu servir l'Amazon Appstore, el Gestor d'autoritzacions d'Amazon carrega aquest valor en temps d'execució des del api_key.txt file en el actius directori.
- Si encara no teniu la vostra clau API, seguiu les instruccions a Recupera la clau de l'API d'Android (pàg. 11).
- Amb el teu projecte ADT obert, des del File menú, feu clic Nou i seleccioneu Text sense títol File. Ara hauríeu de tenir una finestra d'editor per a un text file nomenat Sense títol 1. Afegiu la vostra clau API al text
- Des del File menú, feu clic Desa com.
- En el Desa com , seleccioneu el quadre de diàleg actius directori del vostre projecte com a carpeta principal. Per File nom, entra txt.
Traieu el Sampl'App Custom Debug Keystore
NOTA: aquest pas només és necessari si feu servir Eclipse; si feu servir Android Studio, ometeu aquesta secció.
Si heu instal·lat l'inici de sessió amb Amazon per a Androidampl'aplicació al mateix espai de treball que feu servir per a la vostra aplicació per a Android, és possible que tingueu un magatzem de claus de depuració personalitzat per a l'espai de treball. Heu d'esborrar el magatzem de claus de depuració personalitzat per utilitzar la vostra pròpia clau d'API.
- Des del menú principal, feu clic Finestra i seleccioneu Preferències.
- En el Preferències diàleg, seleccioneu Android i Construir.
- Esborra el Personalitzat depurar el magatzem de claus
- Feu clic OK.
Gestioneu els canvis de configuració de la vostra activitat
Si un usuari canvia l'orientació de la pantalla o canvia l'estat del teclat del dispositiu mentre inicia sessió, es demanarà que es reiniciï l'activitat actual. Aquest reinici descartarà la pantalla d'inici de sessió de manera inesperada. Per evitar-ho, hauríeu de configurar l'activitat que utilitza el mètode d'autorització per gestionar aquests canvis de configuració manualment. Això evitarà la reinici de l'activitat.
- In paquet Explorador, feu doble clic xml.
- En el Aplicació secció, localitzeu l'activitat que gestionarà l'inici de sessió amb Amazon (per exemple,ampel, Activitat principal).
- Afegiu l'atribut següent a l'activitat que heu localitzat al pas 2:
android:configChanges="keyboard|keyboardHidden|orientació" O per a l'API 13 o superior:
android:configChanges="keyboard|keyboardHidden|orientation|screenSize" - Des del File menú, feu clic Desa
Ara, quan es produeix un canvi d'orientació del teclat o del dispositiu, Android trucarà a onConfigurationChanged mètode per a la seva activitat. No cal que implementeu aquesta funció tret que hi hagi algun aspecte d'aquests canvis de configuració que vulgueu gestionar per a la vostra aplicació
Quan l'usuari faci clic al botó Inicia sessió amb Amazon, l'API s'iniciarà a web navegador per presentar una pàgina d'inici de sessió i consentiment a l'usuari. Perquè aquesta activitat del navegador funcioni, heu d'afegir l'Activitat d'autorització al vostre manifest.
- In paquet Explorador, feu doble clic xml.
- En el Aplicació secció, afegiu el codi següent, substituint “com.example.app” amb el nom del paquet per a aquesta aplicació:
<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” />
la teva aplicació. Aquesta secció ofereix els passos per descarregar una imatge oficial d'inici de sessió amb Amazon i vincular-la amb un ImageButton d'Android.
- Afegiu un ImageButton estàndard a la vostra aplicació.
Per obtenir més informació sobre els botons d'Android i la classe ImageButton, vegeu Botons a developer.android.com. - Doneu una identificació al vostre botó.
A la declaració XML del botó, establiu l'atribut android:id a @+id/login_with_amazon. Per exampLI:android:id="@+id/login_with_amazon" - Trieu una imatge de botó.
Consulteu el nostre inici de sessió amb Amazon Pautes d’estil per obtenir una llista de botons que podeu utilitzar a la vostra aplicació. Descarregueu una còpia del fitxer LWA_Android.zip file. Extraieu una còpia del vostre botó preferit per a cada densitat de pantalla que admet la vostra aplicació (xxhdpi, xhdpi, hdpi, mdpi o tvdpi). Per obtenir més informació sobre la compatibilitat amb múltiples densitats de pantalla a Android, vegeu Dissenys alternatius al tema "Suport de diverses pantalles" ondeveloper.android.com. - Copieu la imatge del botó corresponent files al teu projecte.
Per a cada densitat de pantalla que admeti (xhdpi, hdpi, mdpi o ldpi), copieu el botó descarregat al res/dibuixable directori per a aquesta densitat de pantalla. - Declara la imatge del botó.
A la declaració XML del botó, establiu l'atribut android:src amb el nom del botó que heu triat. Per exampLI:android:src="@drawable/btnlwa_gold_loginwithamazon.png" 6. Carregueu la vostra aplicació i comproveu que el botó ara tingui una imatge d'inici de sessió amb Amazon. Heu de verificar que el botó es mostra correctament per a cada densitat de pantalla que admeti.
Aquesta secció explica com trucar a authorize i getProfile API per iniciar sessió a un usuari i recuperar el seu professionalfile dades. Això inclou la creació d'un oient onClick per al botó Inici de sessió amb Amazon al mètode onCreate de la vostra aplicació.
- Afegiu Inici de sessió amb Amazon al vostre projecte Android. Vegeu Instal·leu l'inici de sessió amb la biblioteca d'Amazon .
- Importeu l’accés amb l’API d’Amazon al vostre origen
Per importar l'API d'inici de sessió amb Amazon, afegiu les següents declaracions d'importació a la vostra font file:importar com.amazon.identity.auth.device.AuthError; importar
com.amazon.identity.auth.device.authorization.api.
Amazon AuthorizationManager; importar
com.amazon.identity.auth.device.authorization.api. AuthorizationListener; importar com.amazon.identity.auth.device.authorization.api.AuthzConstants; - Inicialitzar Amazon AuthorizationManager.
Haureu de declarar un Amazon AuthorizationManager variable i creeu una nova instància de la classe. La creació d'una instància nova només requereix el vostre context d'aplicació actual i un paquet buit. El millor lloc per inicialitzar Amazon AuthorizationManager està a la onCreate mètode de la seva activitat. Per exampLI: - Creeu un AuthorizeListener.
AuthorizeListener implementa la interfície AuthorizationinListener i processarà el resultat de l' autoritzar la trucada. Conté tres mètodes: oinSuccess, onError, i onCanceil. Cada mètode rep un paquet o un AuthError objecte.classe privada AuthorizeListener implementa AuthorizationListener{
/* L'autorització s'ha completat correctament. */
@Anul·lació
public void onSuccess (resposta del paquet) {
}
/* S'ha produït un error durant l'intent d'autoritzar l'aplicació.
*/
@Anul·lació
public void onError(AuthError ae) {
}
/* L'autorització s'ha cancel·lat abans que es pogués completar. */
@Anul·lació
public void onCancel (causa del paquet) {
}
} - Truca AmazonAuthorizationManager.authorize.
En el onClick gestor del vostre botó Inici de sessió amb Amazon, truqueu a autorització per demanar a l'usuari que iniciï sessió i autoritzi la vostra aplicació.
Aquest mètode s'encarrega d'autoritzar el client d'una de les maneres següents:- Canvia al navegador del sistema i permet al client iniciar sessió i donar el seu consentiment al sol·licitat
- Canvia a web view en un context segur, per permetre que el client iniciï sessió i doni el seu consentiment al sol·licitat
Aquest context segur per al número 2 està disponible actualment com a aplicació Amazon Shopping als dispositius Android. Dispositius creats per Amazon amb Fire OS (per exemple,ampKindle Fire, Fire Phone i Fire TV) sempre utilitza aquesta opció encara que no hi hagi cap aplicació Amazon Shopping al dispositiu. Per això, si el client ja ha iniciat la sessió a l'aplicació Amazon Shopping, aquesta API ometrà la pàgina d'inici de sessió, donant lloc a un Inici de sessió únic experiència per al client.
Quan la vostra aplicació està autoritzada, s'autoritza per a un o més conjunts de dades coneguts com a àmbits. El primer paràmetre és una matriu d'àmbits que inclou les dades d'usuari que esteu sol·licitant a Inici de sessió amb Amazon. La primera vegada que un usuari iniciï sessió a la vostra aplicació, se li presentarà una llista de les dades que esteu sol·licitant i se li demanarà l'aprovació. L'inici de sessió amb Amazon actualment admet tres àmbits: profile, que conté el nom de l'usuari, l'adreça de correu electrònic i l'identificador del compte d'Amazon; profile:ID d'usuari, que només conté l'identificador del compte d'Amazon; i Codi Postal, que conté el codi postal / postal de l'usuari.
La millor manera de trucar a l'autorització és de manera asíncrona, de manera que no cal que bloquegeu el fil de la interfície d'usuari ni que creeu un fil de treball. Trucar autoritzar de manera asíncrona, passar un objecte que suporta el Interfície AuthorizationListener com a darrer paràmetre:AmazonAuthorizationManager privat mAuthManager; @Anul·lació
void protegit onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
mAuthManager = nou AmazonAuthorizationManager (això, Bundle.EMPTY);// Trobeu el botó amb l'identificador login_with_amazon
// i configureu un gestor de clics
mLoginButton = (Botó) cercaViewById(R.id.login_with_amazon);
mLoginButton.setOnClickListener(nou OnClickListener() {
@Anul·lació
public void onClick(View v) {
mAuthManager.authorize(
cadena nova []{“profile","Codi Postal"},
Bundle.EMPTY, nou AuthorizeListener());
}
});
} - Crea un ProfileOient.
ProfileOient és el nostre nom per a una classe que implementa el APIlister interfície i processarà el resultat de la getProfile truca. APIlister conté dos mètodes: a l'èxit i onError (no és compatible onCancel perquè no hi ha manera de cancel·lar a getProfile anomenada). a l'èxit rep un objecte Bundle amb profile dades, mentre onError rep un AuthError objecte amb informació sobre l’error.classe privada ProfileListener implementa APIListener{ /* getProfile completat amb èxit. */ @Anul·lació
public void onSuccess (resposta del paquet) {}
/* S'ha produït un error durant l'intent d'obtenir el profile. */ @Anul·lació
public void onError(AuthError ae) {
}
} - Implementar a l'èxit pel teu AuthorizeListener.
In a l'èxit, truca AmazonAuthorizationManager.getProfile per recuperar el client professionalfile. getProfile, com autoritza, utilitza una interfície d'escolta asíncrona. Per getProfile, aquesta interfície és APIListener, noAuthorizationListener.
/* L'autorització s'ha completat correctament. */ @Anul·lació
public void onSuccess (resposta del paquet) {
mAuthManager.getProfile(nou ProfileOient ());} - Implementar onSuccessfor teu ProfileOient.
onSuccesshas dues tasques principals: recuperar el professionalfile dades del paquet de resposta i passar les dades a la IU. updateProfileDades una funció hipotètica que la vostra aplicació podria implementar per mostrar profile detalls. setLoggedInState, una altra funció hipotètica, indicaria que un usuari ha iniciat sessió i li donaria un mitjà tancar sessió.
Per recuperar el professionalfile dades del paquet, utilitzem noms emmagatzemats per AuthzConstants classe. El a l'èxit paquet conté el profile dades en un BUNDLE_KEY.PROFILE paquet.
Dins del profile paquet, les dades d'abast s'indexen a sota PROFILE_KEY.NAME, PROFILE_KEY.EMAIL, PROFILE_KEY.USER_ID, i PROFILE_KEY.POSTAL_CODE. PROFILE_KEY.POSTAL_CODE només s'inclou si sol·liciteu el codi_postal abast.@Anul·lació
public void onSuccess (resposta del paquet) {
// Recuperem les dades que necessitem del Bundle Bundle profilePaquet = response.getBundle(
AuthzConstants.BUNDLE_KEY.PROFILE.val);
Nom de cadena = profileBundle.getString(
AuthzConstants.PROFILE_KEY.NAME.val);
Correu electrònic de cadena = profileBundle.getString(
AuthzConstants.PROFILE_KEY.EMAIL.val);
compte de cadena = profileBundle.getString(
AuthzConstants.PROFILE_KEY.USER_ID.val);
Codi postal de cadena = profileBundle.getString(
AuthzConstants.PROFILE_KEY.POSTAL_CODE.val);
runOnUiThread(new Runnable() { @Override
public void run() {
updateProfileDades (nom, correu electrònic, compte, codi postal);
}
});
} - Implementar onError pel teu ProfileOient.
onError inclou un AuthError objecte que conté detalls sobre l'error./* S'ha produït un error durant l'intent d'obtenir el profile. */ @Anul·lació
public void onError(AuthError ae) {
/* Torna a provar o informa l'usuari de l'error */
} - Implementar onErrorfor teu AuthorizeListener.
/* S'ha produït un error durant l'intent d'autoritzar l'aplicació.
*/
@Anul·lació
public void onError(AuthError ae) {
/* Informar a l'usuari de l'error */
} - Implementar onCancelfor teu AuthorizeListener.
Perquè el procés d'autorització presenta una pantalla d'inici de sessió (i possiblement una pantalla de consentiment) a l'usuari en a web navegador (o a webview), l'usuari tindrà l'oportunitat de cancel·lar l'inici de sessió o navegar fora del web pàgina. Si cancel·len explícitament el procés d'inici de sessió, onCancel es diu. Si onCancelis trucada, voldreu restablir la vostra IU./* L'autorització s'ha cancel·lat abans que es pogués completar. */
@Anul·lació
public void onCancel (causa del paquet) {
/* restablir la interfície d'usuari a un estat llest per iniciar sessió */
}Nota: Si l'usuari s'allunya de la pantalla d'inici de sessió al navegador o web view i torna a la vostra aplicació, l'SDK no detectarà que l'inici de sessió no s'ha completat. Si detecteu activitat de l'usuari a la vostra aplicació abans que s'hagi completat l'inici de sessió, podeu suposar que han sortit del navegador i reaccionar en conseqüència.
Cerqueu l’inici de sessió d’usuari a l’inici
Si un usuari inicia sessió a la vostra aplicació, tanca l'aplicació i reinicia l'aplicació més tard, l'aplicació encara està autoritzada per recuperar dades. L'usuari no es tanca automàticament. A l'inici, podeu mostrar que l'usuari ha iniciat sessió si la vostra aplicació encara està autoritzada. En aquesta secció s'explica com utilitzar getToken per veure si l'aplicació encara està autoritzada.
- Crea un TokenListener.
TokenListener implementa el APIlister interfície i processarà el resultat de la trucada getToken. APIlister conté dos mètodes: a l'èxit i onError (no admet onCancel perquè no hi ha manera de cancel·lar a getToken anomenada). a l'èxit rep un objecte Bundle amb dades de testimoni, mentre onError rep un AuthError objecte amb informació sobre l’error.classe privada TokenListener implementa APIListener{ /* getToken completat correctament. */ @Anul·lació
public void onSuccess (resposta del paquet) {
}
/* S'ha produït un error durant l'intent d'obtenir el testimoni. */ @Anul·lació
public void onError(AuthError ae) {
}
} - En el onStart mètode de la teva activitat, truca getToken per veure si l'aplicació encara està autoritzada.
getToken recupera el testimoni d'accés en brut que el Amazon AuthorizationManager utilitza per accedir a un client professionalfile. Si el valor del testimoni no és nul, l'aplicació encara està autoritzada i una trucada a getProfile hauria de tenir èxit. getToken requereix els mateixos àmbits que vau demanar a la vostra convocatòria per autoritzar.
suport de getToken trucades asíncrones de la mateixa manera que getProfile, de manera que no heu de bloquejar el fil de la interfície d'usuari ni crear un fil de treball propi. Per trucar a getToken de manera asíncrona, passeu un objecte que admeti el APIlister interfície com a paràmetre final.@Anul·lació
void protegit onStart(){
super.onStart
();mAuthManager.getToken(new String []{“profile","Codi Postal"},
nou
TokenListener());
} - Implementar a l'èxit pel teu TokenListener.
onSuccesshas dues tasques: recuperar el testimoni del paquet i, si el testimoni és vàlid, trucar getProfile.
Per recuperar les dades del testimoni del paquet, utilitzem noms emmagatzemats per AuthzConstants classe. El a l'èxit El paquet conté les dades del testimoni en un valor BUNDLE_KEY.TOKEN. Si aquest valor no és nul, aquest exampli crida getProfile utilitzant el mateix oient que vau declarar a la secció anterior (vegeu els passos 7 i 8)./* getToken completat correctament. */
@Anul·lació
public void onSuccess (resposta del paquet) {
cadena final authzToken =
response.getString(AuthzConstants.BUNDLE_KEY.TOKEN.val);
si (!TextUtils.isEmpty(authzToken))
{
// Recupera el profile dades
mAuthManager.getProfile(nou ProfileOient());
}
}
El mètode clearAuthorizationState esborrarà les dades d'autorització de l'usuari del magatzem de dades local d'AmazonAuthorizationManager. Un usuari haurà de tornar a iniciar sessió per tal que l'aplicació recuperi profile dades. Utilitzeu aquest mètode per tancar la sessió d’un usuari o per solucionar problemes d’inici de sessió a l’aplicació.
- Implementar una sortida
Quan un usuari hagi iniciat la sessió amb èxit, haureu de proporcionar un mecanisme de tancament de sessió per poder esborrar el seu professionalfile dades i àmbits autoritzats prèviament. El vostre mecanisme pot ser un hiperenllaç o un element de menú. Per aquest example crearem un onClick mètode per a un botó. - Al controlador de tancament de sessió, truqueu clearAuthorizationState. clearAuthorizationState eliminarà les dades d'autorització d'un usuari (fitxers d'accés, profile) de la botiga local. clearAuthorizationStatetakes no hi ha paràmetres excepte un APIlister per tornar l'èxit o
- Declarar un anònim APIlister.
Les classes anònimes són una alternativa útil per declarar una nova classe per implementar APIlister. Mireu Maneu el botó d’inici de sessió i obteniu Profile Dades (pàg. 17) per a un exampdeixa que declara classes d'oient. - Implementar a l'èxit dins del APIlister
Quan clearAuthorizationState En cas correcte, hauríeu d'actualitzar la vostra interfície d'usuari per eliminar les referències a l'usuari i proporcionar un mecanisme d'inici de sessió que els usuaris puguin utilitzar per iniciar sessió de nou. - Implementar onError dins del APIlister.
If clearAuthorizationStateretorns un error, podeu deixar que l'usuari torni a provar de tancar la sessió.@Anul·lació
void protegit onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
/* S'han omès les declaracions anteriors de Crear */
// Trobeu el botó amb l'ID de tancament de sessió i configureu un gestor de clics
mLogoutButton = (Botó) cercaViewById(R.id.logout);
mLogoutButton.setOnClickListener(nou OnClickListener() {
@Anul·lació
public void onClick(View v) {
mAuthManager.clearAuthorizationState (nou
APIlistener() {
@Anul·lació
public void onSuccess(Resultats del paquet) {
// Estableix l'estat de tancament de la sessió a la IU
}
@Anul·lació
public void onError(AuthError authError) {
// Registra l'error
}
});
}
});
}
Alguns Amazon AuthorizationManager Els mètodes retornen un objecte Future. Això us permet cridar el mètode de manera sincrònica en lloc de passar un oient com a paràmetre. Si feu servir un objecte Future, no l'heu d'utilitzar en un fil d'interfície d'usuari. Si bloquegeu un fil de la interfície d'usuari durant més de cinc segons, rebreu un missatge ANR (Aplicació que no respon). Al manejar el botó d'inici de sessió i obtenir Profile Dades exampel, el a l'èxit mètode per AuthorizeListener es crida amb un fil de treball creat per Amazon AuthorizationManager. Això significa que és segur utilitzar aquest fil per trucar a getPirofile de manera sincrònica. Per fer una trucada síncrona, assigneu el valor de retorn de getPirofile a un objecte futur i crida a mètode giet en aquest objecte per esperar fins que finalitzi el mètode.
Fuiture.get retorna un objecte Bundle que conté a FUTURE_TYPE valor de ÈXIT, ERROR, or CANCEL·LA. Si el mètode va ser un èxit, el mateix paquet contindrà PROFILEValors _KEY per al professionalfile dades. Per exampLI:
| /* L'autorització s'ha completat correctament. */ @Anul·lació public void onSuccess (resposta del paquet) { Futur<Paquet> futur = mAuthManager.getProfile(nul); Resultat del paquet = future.get();// Esbrineu si la trucada ha tingut èxit i recupera el profile Objecte futur_type = resultat.get(AuthzConstants.BUNDLE_KEY.FUTURE.val); if (future_type == AuthzConstants.FUTURE_TYPE.SUCCESS) { Nom de cadena = resultat.getString( AuthzConstants.PROFILE_KEY.NAME.val); String email = result.getString( AuthzConstants.PROFILE_KEY.EMAIL.val); Compte de cadena = result.getString( AuthzConstants.PROFILE_KEY.USER_ID.val); Codi postal de cadena = result.getString( AuthzConstants.PROFILE_KEY.POSTAL_CODE.val); runOnUiThread(new Runnable() { @Override public void run() { updateProfileDades (nom, correu electrònic, compte, codi ZIP); } }); } else if (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Obté l'objecte d'error AuthError authError = AuthError.extractError (resultat); /* Utilitzeu authError per diagnosticar l'error */ } |
Inicieu sessió amb Amazon Guia d'iniciació per a Android - Baixa [optimitzat]
Inicieu sessió amb Amazon Guia d'iniciació per a Android - Descarregar



