Iniciar sesión con la guía de introducción de Amazon para aplicaciones de Android

Iniciar sesión con Amazon: Guía de inicio para Android
Copyright © 2017 Amazon.com, Inc. o sus afiliados. Reservados todos los derechos.
Amazon y el logotipo de Amazon son marcas comerciales de Amazon.com, Inc. o sus filiales. Todas las demás marcas comerciales que no son propiedad de Amazon son propiedad de sus respectivos dueños.
Instale las herramientas para desarrolladores de Android
El inicio de sesión con Amazon SDK para Android lo ayudará a agregar el inicio de sesión con Amazon a sus aplicaciones de Android, Fire TV y Fire Tablet. Le recomendamos que utilice el SDK de inicio de sesión con Amazon para Android con Android Studio. Para conocer los pasos sobre cómo instalar Android Studio y cómo configurar el SDK de Android, consulte Obtenga el SDK de Android en developer.android.com.
Para utilizar el inicio de sesión con el SDK de Amazon para Android, su aplicación de Android debe cumplir uno de estos requisitos mínimos:
- Versión mínima de SDK (minSdkVersion) de Android 0 (API nivel 11) o superior.
- Versión mínima del SDK (minSdkVersion) de Android 2.2 (API nivel 8) o superior con la v4 Compatibilidad con Android Biblioteca.
Cuando esté instalado el SDK de Android, busque el Administrador de SDK aplicación en su instalación de Android. Para desarrollar para Iniciar sesión con Amazon, debe utilizar SDK Manager para instalar los requisitos mínimos de SDK anteriores. Ver Agregar paquetes de SDK en developer.android.com para obtener más información sobre el uso de SDK Manager.
Después de instalar el SDK, configure un dispositivo virtual Android (AVD) para ejecutar sus aplicaciones. Ver Gerente Dispositivos virtuales en developer.android.com para obtener instrucciones sobre cómo configurar un dispositivo virtual.
Cuando su entorno de desarrollo está configurado, puede Instale el inicio de sesión con el SDK de Amazon para Android or Ejecutar la Sample App como se describe abajo
Instale el inicio de sesión con el SDK de Amazon para Android
El inicio de sesión con Amazon SDK para Android viene en dos paquetes. El primero contiene la biblioteca de Android y la documentación de respaldo. El segundo contiene comoample aplicación que permite a un usuario iniciar sesión y muestra su profesionalfile datos.
Si aún no ha instalado el SDK de Android o las herramientas de desarrollo de Android, consulte la Instalación las herramientas de desarrollo de Android Sección anterior.
- Descargar cremallera y extraer el files en un directorio de su disco duro. Deberías ver un documentos y un biblioteca subdirectorio.
- Abierto docs / index.html a view la Referencia de la API de inicio de sesión con Amazon Android.
- Ver Instale el inicio de sesión con la biblioteca de Amazon para obtener instrucciones sobre cómo agregar la biblioteca y la documentación a un dispositivo Android
Cuando se instala Iniciar sesión con Amazon SDK para Android, puede Cree un nuevo inicio de sesión con Amazon Proyecto Después de usted Regístrese con Iniciar sesión con Amazon.
Ejecutar la Sampla aplicación
Para ejecutar el sample aplicación, importe el sample en un espacio de trabajo de AndroidStudio.
- Descargar SampleLoginWithAmazonAppForAndroid-src.zip y extraer el files a un directorio en su disco duro
- Inicie Android Studio y seleccione Abra un proyecto de Android Studio existente.
- Navega hasta el SampleLoginWithAmazonApp directorio obtenido después de extraer el zip descargado file en el paso 1.
- Desde Construir menú, haga clic Hacer proyectoy espere a que el proyecto termine de construirse.
- Desde Correr menú, haga clic Correr y luego haga clic en el SampleLoginWithAmazonApp.
- Seleccione el emulador o dispositivo Android conectado y haga clic en Correr.
Registrarse con Iniciar sesión con Amazon
Antes de poder utilizar Iniciar sesión con Amazon en un websitio o en una aplicación móvil, debe registrar una aplicación con Login with Amazon. Su aplicación Login with Amazon es el registro que contiene información básica sobre su negocio e información sobre cada uno de sus productos. webSitio o aplicación móvil que cree que admita Iniciar sesión con Amazon. Esta información comercial se muestra a los usuarios cada vez que usan Iniciar sesión con Amazon en su websitio o aplicación móvil. Los usuarios verán el nombre de su aplicación, su logotipo y un enlace a su política de privacidad. Estos pasos demuestran cómo registrar su aplicación de Android para usarla con Iniciar sesión con Amazon.
Registre su inicio de sesión con la aplicación de Amazon
- Ir a https://login.amazon.com.
- Si ya se registró para iniciar sesión con Amazon antes, haga clic en Consola de aplicaciones. De lo contrario, haga clic en Inscribirse. Se le redirigirá a Seller Central, que gestiona el registro de la aplicación para iniciar sesión con Si es la primera vez que utiliza Seller Central, se le pedirá que configure una cuenta de Seller Central.
- Hacer clic Registrar nueva aplicación. El Registre su aplicación aparecerá el formulario:
a. En el Registre su aplicación formulario, ingrese un Nombre y un Descripción para su aplicación.
El Nombre es el nombre que se muestra en la pantalla de consentimiento cuando los usuarios aceptan compartir información con su aplicación. Este nombre se aplica a Android, iOS y webversiones del sitio de su aplicación. los Descripción le ayuda a diferenciar cada una de sus aplicaciones de inicio de sesión con Amazon y no se muestra a los usuarios.
b. Introduzca una Aviso de privacidad URL para su aplicación.
El Aviso de privacidad URL es la ubicación de la política de privacidad de su empresa o aplicación (por ejemplo,ampel, http://www.example.com/privacy.html). Este enlace se muestra a los usuarios en la pantalla de consentimiento.
c. Si desea agregar un Imagen del logotipo Para su aplicación, haga clic en Navegar y localice la imagen aplicable. - Hacer clic Ahorrar. TuyoampEl registro debería verse similar a esto:

Una vez guardada la configuración básica de la aplicación, puede agregar configuraciones para aplicaciones específicas. websitios y aplicaciones móviles que utilizarán este inicio de sesión con cuenta de Amazon.
Agregue la configuración de Android a su aplicación
Para registrar una aplicación de Android, tiene la opción de registrar una aplicación a través de Amazon Appstore (Agregar una aplicación de Android para Amazon Appstore) o directamente con Iniciar sesión con Amazon (Agregar un Android Aplicación sin Appstore). Cuando su aplicación esté registrada, tendrá acceso a una clave API que le otorgará acceso al servicio de autorización de inicio de sesión con Amazon.
Nota: Si planea utilizar Amazon Device Messaging dentro de su aplicación de Android, comuníquese con lwa-soporte@amazon.com con:
- La dirección de correo electrónico de la cuenta de Amazon que utilizó para registrarse para Iniciar sesión con
- La dirección de correo electrónico de la cuenta de Amazon que usó para registrarse en Amazon Appstore (si es diferente).
- El nombre de su cuenta de Seller Central (en Seller Central, haga clic en Configuración> Información de cuenta> Información del vendedor, y utiliza el Nombre para mostrar).
- El nombre de su cuenta de desarrollador de Amazon Appstore (en el sitio de Distribución de aplicaciones móviles, haga clic en Configuración> Company Profile y utiliza el Nombre del desarrollador o nombre de la empresa).
Agregar una aplicación de Android para Amazon Appstore
Los siguientes pasos agregarán una aplicación de Amazon Appstore a su inicio de sesión con cuenta de Amazon:
- Desde la pantalla de la aplicación, haga clic en Configuración de Android. Si ya tiene una aplicación de Android registrada, busque el Agregar clave de API botón en el Configuración de Android selección
El Detalles de la aplicación de Android aparecerá el formulario: - Seleccionar Sí en respuesta a la pregunta "¿Esta aplicación se distribuye a través de Amazon Appstore?"
- Entrar en el Etiqueta de su aplicación de Android. Este no tiene que ser el nombre oficial de su aplicación. Simplemente identifica esta aplicación de Android en particular entre las aplicaciones y websitios registrados en su inicio de sesión con Amazon
- Añade tu ID de Amazon Appstore.
- Si autofirmó su aplicación, agregue información de autofirma. Esto le permitirá obtener una clave API durante el desarrollo sin usar la Appstore directamente.
a. Si su aplicación no se está firmando a través de Amazon Appstore, seleccione Sí en respuesta a la pregunta "¿Esta solicitud está autofirmada?"
El Detalles de la aplicación de Android la forma se expandirá

b. Ingresa tu Nombre del paquete.
Debe coincidir con el nombre del paquete de su proyecto de Android. Para determinar el nombre del paquete de su proyecto de Android, abra el proyecto en la herramienta de desarrollo de Android que elija. Abierto
AndroidManifest.XML en el Explorador de paquetes y seleccione el Manifiesto pestaña. La primera entrada es la Paquete nombre.
c. Entrar en la aplicación Firma.
Este es un valor hash SHA-256 que se usa para verificar su aplicación. La firma debe tener la forma de 32 pares hexadecimales separados por dos puntos (por ej.ampen: 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:23:45:67:89:ab:cd:ef). Ver Firmas de aplicaciones de Android y claves de API para conocer los pasos que puede utilizar para extraer la firma de su proyecto.
6. Haga clic Ahorrar.
Agregar una aplicación de Android sin la tienda de aplicaciones
Si desea registrar su aplicación de Android sin usar la tienda de aplicaciones de Amazon, puede seguir los siguientes pasos para registrar el nombre y la firma de su paquete con el inicio de sesión con Amazon:
- Desde la pantalla de la aplicación, haga clic en Configuración de Android. Si ya tiene una aplicación de Android registrada, busque el Agregar clave de API botón en el Configuración de Android El Detalles de la aplicación de Android aparecerá el formulario:

- Seleccionar No en respuesta a la pregunta "¿Esta aplicación se distribuye a través de Amazon Appstore?"
- Entrar en el Etiqueta de tu Android
Este no tiene que ser el nombre oficial de su aplicación. Simplemente identifica esta aplicación de Android en particular entre las aplicaciones y websitios que ha registrado. - Ingresa tu Nombre del paquete. Debe coincidir con el nombre del paquete de su proyecto de Android.
Para determinar el nombre del paquete de su proyecto de Android, abra el proyecto en la herramienta de desarrollo de Android que elija. Abierto AndroidManifest.XML en el Explorador de paquetes y seleccione el Manifiesto pestaña. La primera entrada es la Paquete nombre. - Entrar en la aplicación Firma.
Este es un valor hash SHA-256 que se usa para verificar su aplicación. La firma debe tener la forma de 32 pares hexadecimales separados por dos puntos (por ej.ampen: 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:23:45:67:89:ab:cd: ef) Ver el Firmas de aplicaciones de Android y claves de API sección a continuación para conocer los pasos que puede utilizar para extraer la firma de su proyecto. - Hacer clic Ahorrar.
Si diferentes versiones de su aplicación tienen diferentes firmas o nombres de paquetes, como para una o más versiones de prueba y una versión de producción, cada versión requiere su propia clave API. Desde el Configuración de Android de su aplicación, haga clic en el Agregar clave de API para crear claves adicionales para su aplicación (una por versión).
Firmas de aplicaciones de Android y claves de API
La firma de la aplicación es un valor hash SHA-256 que se aplica a cada aplicación de Android cuando se crea. Amazon usa la firma de la aplicación para construir su clave API. La clave API permite que los servicios de Amazon reconozcan su aplicación. Si utiliza Amazon Appstore para firmar su aplicación, la clave API se proporciona automáticamente. Si no está utilizando Amazon Appstore, deberá administrar su clave API manualmente.
Las firmas de aplicaciones se almacenan en un almacén de claves. Generalmente, para las aplicaciones de Android hay un almacén de claves de depuración y un almacén de claves de lanzamiento. Para encontrar la ubicación del almacén de claves de depuración en Android Studio, abra el Construir menú, seleccionar Editar Tipos de construcción, luego ve a la Firma pestaña, y localice el almacén de claves de depuración en el Almacenar File campo.
Normalmente, se crea un almacén de claves de versión cuando exporta su aplicación de Android para crear un APK firmado file. A través del proceso de exportación, si está creando un nuevo almacén de claves de versión, seleccionará su ubicación. De forma predeterminada, se colocará en la misma ubicación que su almacén de claves de depuración predeterminado.
Si ha registrado su aplicación con la firma de depuración durante el desarrollo, tendrá que agregar una nueva configuración de Android a su aplicación cuando esté listo para lanzar la aplicación. La nueva configuración de la aplicación debe utilizar la firma del almacén de claves de la versión.
Ver Firma de sus aplicaciones en developer.android.com para obtener más información.
Determinar la firma de la aplicación de Android
- Si tiene un APK firmado file:
a. Descomprime el APK file y extraer CERT.RSA. (Puede cambiar el nombre de la extensión APK a ZIP si es necesario).
b. Desde la línea de comando, ejecute:keytool-printcert-file CERT.RSA Herramientas de teclado Ubicado en el papelera directorio de su instalación de Java.
- Si tienes un almacén de claves file:
a. Desde la línea de comando, ejecute:keytool -list -v -alias -keystorefilenombre> Herramienta de claves se encuentra en el papelera directorio de su instalación de Java. El alias es el nombre de la clave utilizada para firmar la aplicación.
b. Ingrese la contraseña para la clave y presione Ingresar. - Bajo Certificado de huellas dactilares, Copiar el SHA256 valor.
Recuperar la clave de API de Android
Cuando haya registrado una configuración de Android y haya proporcionado una firma de aplicación, puede recuperar la clave API de la página de registro para su aplicación Iniciar sesión con Amazon. Deberá colocar esa clave API en un file en su proyecto de Android. Hasta que lo haga, la aplicación no estará autorizada para comunicarse con el servicio de autorización de inicio de sesión con Amazon.
- Ir a https://login.amazon.com.
- Hacer clic Consola de aplicaciones.
- En el Aplicaciones cuadro a la izquierda, seleccione su
- Busque su aplicación de Android en la Configuración de Android sección (Si aún no ha registrado una aplicación de Android, consulte Agregar una aplicación de Android para Amazon Appstore).
- Hacer clic Generar valor clave de API. Una ventana emergente mostrará su API Para copiar la clave, haga clic en Seleccionar todo para seleccionar toda la clave.
Nota: El valor de la clave de API se basa, en parte, en el momento en que se genera. Por lo tanto, los valores clave de API posteriores que genere pueden diferir del original. Puede utilizar cualquiera de estos valores clave de API en su aplicación, ya que todos son válidos. - Ver Agregue su clave API a su proyecto para obtener instrucciones sobre cómo agregar la clave API a su Android
Crear un inicio de sesión con Amazon Project
En esta sección, aprenderá cómo crear un nuevo proyecto de Android para Iniciar sesión con Amazon, configurar el proyecto y agregar código al proyecto para iniciar sesión como usuario con Iniciar sesión con Amazon. Describiremos los pasos para Android Studio, pero puede aplicar pasos análogos a cualquier IDE o herramienta de desarrollo de Android de su elección.
Esta guía requiere una comprensión de Actividades - un concepto clave del desarrollo de aplicaciones de Android. Aprender más sobre Actividades y Fragmentos de actividad en developer.android.com.
Cree un nuevo inicio de sesión con Amazon Project
Si aún no tiene un proyecto de aplicación para usar Iniciar sesión con Amazon, siga las instrucciones a continuación para crear uno. Si tiene una aplicación existente, pase a Instale el inicio de sesión con la biblioteca de Amazon.
- Lanzamiento Androide
- Desde File menú, seleccionar Nuevo y Proyecto.
- Ingrese una Nombre de la aplicación y nombre de empresa Para tu
- Entrar en el Solicitud y nombre de empresa correspondiente al nombre del paquete que eligió cuando registró su aplicación con Iniciar sesión con Amazon.
Si aún no ha registrado su aplicación, elija una Nombre del paquete y luego siga las instrucciones en el Registrarse con Iniciar sesión con Amazon sección después de crear su proyecto. Si el nombre del paquete de su aplicación no coincide con el nombre del paquete registrado, sus llamadas de inicio de sesión con Amazon no se realizarán correctamente. - Seleccione una SDK mínimo requerido de API 11: Android 3.0 (Honeycomb) o superior y haga clic en Próximo. Alternativamente, puede utilizar un SDK mínimo requerido de API 8: Android 2.2 (Froyo) o superior cuando se usa la v4 Biblioteca de soporte de Android.
- Seleccione el tipo de actividad que desea crear y haga clic en Próximo.
- Complete los detalles relevantes y haga clic en Finalizar.
Ahora tendrá un nuevo proyecto en su espacio de trabajo que puede usar para llamar a Iniciar sesión con Amazon.
Instale el inicio de sesión con la biblioteca de Amazon
Si aún no ha descargado el inicio de sesión con el SDK de Amazon para Android, consulte Instale el inicio de sesión con Amazon SDK para Android.
- Usando el file sistema en su computadora, busque el iniciar sesión con amazon-sdk.jar file dentro de Iniciar sesión con Amazon SDK para Android. Cópialo en el portapapeles.
- Con su proyecto abierto en Android Studio, abra el Proyecto View.
- Haga clic con el botón derecho en el directorio principal de su proyecto / aplicación en el Proyecto View y seleccione Pasta.
- Clic derecho iniciar sesión con amazon-sdk.jar en el Proyecto View y seleccione Agregar como biblioteca.
Establecer permisos de red para su aplicación
Para que su aplicación utilice Iniciar sesión con Amazon, debe acceder a Internet y acceder a la información del estado de la red. Su aplicación debe hacer valer estos permisos en su manifiesto de Android, si aún no lo ha hecho.
- Desde Proyecto View, haga doble clic en xml para abrirlo.
- Copie las líneas de código que se muestran a continuación y péguelas en el xml file, fuera del bloque de la aplicación:
Exampen:

Agregue su clave API a su proyecto
Cuando registra su aplicación de Android con Iniciar sesión con Amazon, se le asigna una clave API. Este es un identificador que el administrador de autorización de Amazon utilizará para identificar su aplicación en el servicio de autorización de inicio de sesión con Amazon. Si está utilizando Amazon Appstore para firmar su aplicación, Appstore le proporcionará la clave API automáticamente. Si no está utilizando Amazon Appstore, Amazon Authorization Manager carga este valor en tiempo de ejecución desde el clave_api.txt file en el activos directorio.
- Si aún no tiene su clave API, siga las instrucciones en Recuperar la clave de API de Android.
- Desde Proyecto View en Android Studio, haga clic con el botón derecho en la carpeta de activos y luego haga clic en Nuevo y seleccione File. Si no tiene una carpeta de activos, haga clic con el botón derecho en el directorio principal de su proyecto, luego seleccione Nuevo, Carpeta, Carpeta de activos.
- Nombra el file clave_api.txt.
- Ahora debería tener una ventana de edición para un texto file nombrado TXT. Agrega tu clave API al texto file.
- En el File menú, haga clic Ahorrar.
Nota: Si un editor de texto agrega caracteres adicionales a su api_key.txt file (como una marca de orden de bytes), es posible que vea ERROR_ACCESS_DENIED cuando intente conectarse al servicio de autorización de inicio de sesión con Amazon. Si esto ocurre, intente eliminar los espacios iniciales o finales, los avances de línea o los caracteres sospechosos. (Por example, un editor que use Byte Order Mark podría agregar 0xEF 0xBB 0xBF u otras secuencias hexadecimales al comienzo de su api_key.txt file). También puede intentar recuperar una nueva clave de API.
Manejar cambios de configuración para su actividad
Si un usuario cambia la orientación de la pantalla o cambia el estado del teclado del dispositivo mientras está iniciando sesión, se le pedirá que se reinicie la actividad actual. Este reinicio cerrará la pantalla de inicio de sesión inesperadamente. Para evitar esto, debe configurar la actividad que usa el método de autorización para manejar esos cambios de configuración manualmente. Esto evitará un reinicio de la actividad.
- In Paquete Explorador, haga doble clic xml.
- En el Solicitud sección, ubique la actividad que manejará el inicio de sesión con Amazon (forexampel, Actividad principal),
- Agregue el siguiente atributo a la actividad que ubicó en el Paso 2:
android: configChanges = ”teclado | keyboardHidden | orientación” O para API 13 o superior:
android: configChanges = ”teclado | keyboardHidden | orientación | screenSize” - Desde File menú, haga clic Ahorrar
Ahora, cuando ocurre un cambio de orientación del teclado o del dispositivo, Android llamará al método onConfigurationChanged para su actividad. No es necesario implementar esta función a menos que exista un aspecto de estos cambios de configuración que desee manejar para su aplicación.
Agregue una actividad de flujo de trabajo a su proyecto
Cuando el usuario hace clic en el botón Iniciar sesión con Amazon, la API iniciará un web navegador para presentar una página de inicio de sesión y consentimiento al usuario. Para que esta actividad del navegador funcione, debe agregar WorkflowActivity a su manifiesto.
Si se ha integrado previamente con el inicio de sesión con el SDK de Amazon o tiene la actividad com.amazon.identity.auth.device.authorization.AuthorizationActivity declarada en su AndroidManifest.xml, debe eliminarse y reemplazarse con WorkflowActivity.
- In Paquete Explorador, haga doble clic AndroidMailfest.xml ..
- En el Solicitud sección, agregue el siguiente código.
<actividad android:nombre=
"Com.amazon.identity.auth.device.workflow.WorkflowActivity" android: theme = "@ android: style / Theme.NoDisplay" android: allowTaskReparenting = "true" android: launchMode = "singleTask">
<acción android:nombre=”android.intent.action.VIEW” />
<datos
android: host = ”$ {applicationId}” android: esquema = ”amzn” />
Nota: Si no está utilizando el sistema de compilación de Gradle, reemplace $ {applicationId} con el nombre de su paquete para esta aplicación.
Iniciar sesión con Amazon proporciona varios botones estándar que puede utilizar para solicitar a los usuarios que inicien sesión desde su aplicación. Esta sección proporciona los pasos para descargar una imagen oficial de inicio de sesión con Amazon y emparejarla con un botón de imagen de Android.
- Agregue un ImageButton estándar a su aplicación.
Para obtener más información sobre los botones de Android y la clase ImageButton, consulte Botones en developer.android.com.
- Dale a tu botón una En la declaración XML del botón, establece el atributo android: id en @ + id / login_with_amazon. Por exampen:
android: id = ”@ + id / login_with_amazon” - Elija una imagen de botón.
Consulte nuestro Iniciar sesión con Amazon Pautas de estilo para obtener una lista de botones que puede utilizar en su aplicación.
Descargue una copia del LWA_Android.zip file. Extraiga una copia de su botón preferido para cada densidad de pantalla que admita su aplicación (xxhdpi, xhdpi, hdpi, mdpi o tvdpi). Para obtener más información sobre cómo admitir varias densidades de pantalla en Android, consulte Diseños alternativos en el tema "Compatibilidad con varias pantallas" endeveloper.android.com. - Copie la imagen del botón correspondiente files a tu proyecto.
Para cada densidad de pantalla que admita (xhdpi, hdpi, mdpi o ldpi), copie el botón descargado en la res / dibujable directorio para esa densidad de pantalla. - Declare la imagen del botón.
En el botón de declaración XML, establezca el android: src atributo al nombre del botón que ha elegido. Por exampen:android: src = ”@ drawable / btnlwa_gold_loginwithamazon.png” - Cargue su aplicación y verifique que el botón ahora tenga una imagen de Inicio de sesión con Amazon.
Debe verificar que el botón se muestre correctamente para cada densidad de pantalla que admita
Utilice el SDK para las API de Android
En esta sección, agregará código a su proyecto para iniciar sesión como usuario con Iniciar sesión con Amazon.
Esta sección explica cómo llamar a la API autorizada para iniciar sesión como usuario. Esto incluye la creación de un al hacer clic oyente de su botón Iniciar sesión con Amazon en el enCrear método de su aplicación.
- Agregar inicio de sesión con Amazon a su Android Ver Instale el inicio de sesión con la biblioteca de Amazon.
- Inicializar Contexto de solicitud.
Deberá declarar un Contexto de solicitud variable y cree una nueva instancia de la clase. El mejor lugar para inicializar Contexto de solicitud esta en el enCrear método de su actividad o fragmento de Android. Por exampen:requestContext privado requestContext;
@Anular
onCreate vacío protegido (paquete SavedInstanceState) {super.onCreate (SavedInstanceState); requestContext = RequestContext.create (esto);
} - Crear un AutorizarListener.
Autorizar oyente procesará el resultado de la Authorizecall. Contiene tres métodos: en éxito, en error, y onCancelar. Crea el Autorizar oyente interfaz en línea con un registrarseOyente llamar en el enCrear método de su actividad o fragmento de Android.@Anular
onCreate vacío protegido (paquete SavedInstanceState) {super.onCreate (SavedInstanceState); requestContext = RequestContext.create (esto);requestContext.registerListener (new AuthorizeListener () {
/ * La autorización se completó con éxito. * /
@Anular
public void onSuccess (resultado AuthorizeResult) {
/ * Su aplicación ahora está autorizada para los ámbitos solicitados * /
}
/ * Hubo un error durante el intento de autorizar la aplicación. * /
@Anular
public void onError (AuthError ae) {
/ * Informar al usuario del error * /
}
/ * La autorización se canceló antes de que pudiera completarse. * / @ Anular
public void onCancel (cancelación de AuthCancellation) {
/ * Restablecer la interfaz de usuario a un estado listo para iniciar sesión * /
}
});
}Nota: Si está utilizando un fragmento y capturando referencias a View objetos en tu Autorizar oyente implementación, crear Autorizar oyente en el enCrearView método en lugar de enCrear. Esto garantiza que View las referencias de objeto se establecen cuando la llamada a autorizar acabados.
- Implementar en éxito, en error, y al cancelar Para tu AutorizarListener.
Debido a que el proceso de autorización presenta una pantalla de inicio de sesión (y posiblemente una pantalla de consentimiento) al usuario en un web navegador (o un WebView), el usuario tendrá la oportunidad de cancelar el inicio de sesión o navegar fuera. Si cancelan explícitamente el proceso de inicio de sesión, al cancelar se llama, y querrá restablecer su interfaz de usuario.
Si el usuario navega fuera de la pantalla de inicio de sesión en el navegador o WebView, luego vuelve a su aplicación, el SDK no detectará que el inicio de sesión no se completó. Si detecta actividad del usuario en su aplicación antes de que se complete el inicio de sesión, puede asumir que se han alejado del navegador y reaccionar en consecuencia. - Llamar RequestContext.onReanudar.
Para adaptarse al ciclo de vida de la aplicación de Android, implemente el enReanudar método en su actividad o fragmento. Esto activará a todos los oyentes registrados con registrarseOyente en el caso de que el sistema operativo cierre su aplicación antes de que el usuario complete un flujo de autorización.@Anular
protected void onResume () {
super.onResume ();
requestContext.onResume ();
} - Llamar AuthorizationManager.autorizar.
En el al hacer clic controlador para su botón Iniciar sesión con Amazon, llame a autorizar para solicitar al usuario que inicie sesión y autorice su aplicación.
Este método permitirá al usuario iniciar sesión y dar su consentimiento a la información solicitada de una de las siguientes formas:
1. Cambia al navegador del sistema.
2. Cambia a WebView en un contexto seguro (si la aplicación Amazon Shopping está instalada en el dispositivo)
El contexto seguro para la segunda opción está disponible cuando la aplicación Amazon Shopping está instalada en el dispositivo. Los dispositivos creados por Amazon que ejecutan Fire OS (por ej.ample Kindle Fire, Fire Phone y Fire TV) siempre use esta opción incluso si no hay una aplicación de Amazon Shopping en el dispositivo. Debido a esto, si el usuario ya inició sesión en la aplicación Amazon Shopping, esta API omitirá la página de inicio de sesión, lo que generará una Inicio de sesión único experiencia para el usuario. Ver la experiencia del cliente en experiencia del cliente android aplicaciones para obtener más información. Cuando su aplicación está autorizada, está autorizada para uno o más conjuntos de datos conocidos como alcances. Un alcance abarca los datos de usuario que solicita a Login with Amazon. La primera vez que un usuario inicia sesión en su aplicación, se le presentará una lista de los datos que está solicitando y se le pedirá su aprobación. Iniciar sesión con Amazon actualmente admite los siguientes ámbitos:Nombre de alcance Descripción profile Da acceso al nombre del usuario, la dirección de correo electrónico y la identificación de la cuenta de Amazon. profile: user_id Solo da acceso a la identificación de la cuenta de Amazon del usuario. Código Postal Da acceso al código postal del usuario en file para su cuenta de Amazon. AuthorizationManager.autorizar es una llamada asincrónica, por lo que no tiene que bloquear el subproceso de la interfaz de usuario o crear un subproceso de trabajo propio. Para llamar a autorizar, pase un AutorizarSolicitud objeto que se puede construir usando AuthorizeRequest.Generador:
@Anular
onCreate vacío protegido (paquete SavedInstanceState) {super.onCreate (SavedInstanceState);
/ * Declaraciones onCreate anteriores omitidas * /// Encuentra el botón con el ID de login_with_amazon
// y configurar un controlador de clics
View loginButton = buscarViewById (R.id.login_with_amazon); loginButton.setOnClickListener (nuevo View.OnClickListener () {
@Anular
public void onClick (View v) {AuthorizationManager.authorize (nueva AuthorizeRequest
Constructor (requestContext) .addScopes (ProfileAlcance.profile(), ProfileScope.postalCode ())
.construir());
});
}
Obtener usuario Profile Datos
Esta sección explica cómo utilizar la API de usuario para recuperar un usuario profesional.file datos después de haber sido autorizados. El PROfile Los datos que puede recuperar se basan en el alcance indicado en el autorizar: withHandler: llamar.
- Llamar Usuario.buscar.
Usuario.fetch devuelve el pro del usuariofile datos a usted a través del oyente AuthError> llamar de vuelta. Oyente AuthError> contiene dos métodos: sobre el éxito y enError (no soporta al cancelar porque no hay forma de cancelar un Usuario.fetch llamada). sobre el éxito recibe un objeto Usuario con profile datos, mientras enError recibe un Error de autenticación objeto con información sobre el error. actualizarProfileDatos es un example de una función que su aplicación podría implementar para mostrar profile datos en la interfaz de usuario
Nota: User.getUserPostalCode solo se devuelve si solicita el ProfileAlcance Scope.postalCode ().
Compruebe el inicio de sesión del usuario al iniciar
Si un usuario inicia sesión en su aplicación, la cierra y la reinicia más tarde, la aplicación aún está autorizada para recuperar datos. El usuario no se desconecta automáticamente. Al inicio, puede mostrar que el usuario inició sesión si su aplicación aún está autorizada. Esta sección explica cómo utilizar obtenerToken para ver si la aplicación aún está autorizada.
- Llamar obtenerToken.
En el en Inicio método de tu actividad o fragmento, llama obtenerToken para ver si la aplicación aún está autorizada. obtenerToken recupera el token de acceso sin procesar que el Administrador de autorizaciones utiliza para acceder a un usuario profesionalfile. Si el valor del token no es nulo, la aplicación aún está autorizada y puede proceder a buscar el usuario profile datos. obtenerTokenrequiere los mismos alcances que solicitó en su llamada para autorizar.
getTokenapoyos llamadas asincrónicas de la misma manera que Usuario.buscar, por lo que no tiene que bloquear el subproceso de la interfaz de usuario o crear uno propio. Llamar obtenerToken de forma asincrónica, pasar un objeto que admita la Oyente interfaz como último parámetro. - Declarar un Oyente AuthError>. Su implementación del Oyente AuthError> interfaz procesa el resultado de la obtenerToken llamada. El oyente contiene dos métodos: sobre el éxito y enError (no soporta al cancelar porque no hay forma de cancelar un obtenerToken llamada).
- Implementar sobre el éxito y onError para tu Oyente . onSuccess recibe un AutorizarResultado objeto con un token de acceso, mientras enError recibe un Error de autenticación objeto con información sobre el error.
@Anular
onStart vacío protegido () {super.onStart ();
Alcance [] alcances = {ProfileAlcance.profile(), ProfileScope.postalCode ()}; AuthorizationManager.getToken (this, scopes, new
Oyente () {@Anular
public void onSuccess (AuthorizeResult result) {if (result.getAccessToken ()! = null) {
/ * El usuario ha iniciado sesión * /
} demás {
/ * El usuario no ha iniciado sesión * /
}
}
@Anular
public void onError (AuthError ae) {
/ * El usuario no ha iniciado sesión * /
}
});
}
Esta sección explica cómo utilizar el método de cierre de sesión para cerrar la sesión del usuario en su aplicación. El usuario tendrá que iniciar sesión nuevamente para que la aplicación recupere profile datos. Utilice este método para cerrar la sesión de un usuario o para solucionar problemas de inicio de sesión en la aplicación.
- Implemente un mecanismo de cierre de sesión.
Cuando un usuario ha iniciado sesión correctamente, debe proporcionar un mecanismo de cierre de sesión para que pueda borrar sufile datos y alcances previamente autorizados. Su mecanismo puede ser un hipervínculo, un botón o un elemento de menú. Para este example, crearemos un onClickmétodo por un botón. - Llamar desconectar.
Llamar desconectar en su controlador de cierre de sesión para eliminar los datos de autorización de un usuario (tokens de acceso, profile) de la tienda local. desconectar toma un contexto de Android y un Listener AuthError> a manejar el éxito o el fracaso. - Declarar un oyente anónimo AuthError>.
Tu implementación de Listener AuthError> procesa el resultado de la desconectar llamada. Las clases anónimas son útiles para capturar variables del ámbito adjunto.
Ver Manejar el botón de inicio de sesión y autorizar al usuario para un exampdeja eso declara clases de escucha. - Implementar sobre el éxito y enError para tu oyente AuthError>.
Cuando signo de éxito debe actualizar su interfaz de usuario para eliminar las referencias al usuario y proporcionar un mecanismo de inicio de sesión que los usuarios puedan utilizar para iniciar sesión nuevamente. Si SignOutreturns un error, puede permitir que el usuario intente cerrar la sesión nuevamente.@Anular
onCreate vacío protegido (paquete SavedInstanceState) {super.onCreate (SavedInstanceState);
/ * Declaraciones onCreate anteriores omitidas * /// Busque el botón con el ID de cierre de sesión y configure un controlador de clics View logoutButton = buscarViewById (cierre de sesión R.id.); logoutButton.setOnClickListener (nuevo View.OnClickListener () {@Anular
public void onClick (View v) {AuthorizationManager.signOut (getApplicationContext (), nuevo
Oyente () {@ Anular
public void onSuccess (respuesta nula) {
// Establecer el estado de desconexión en la interfaz de usuario
}
@Anular
public void onError (AuthError authError) {
// Registrar el error
}});
}
});
}
Inicie sesión con la Guía de inicio de Amazon para aplicaciones de Android - Descargar [optimizado]
Inicie sesión con la Guía de inicio de Amazon para aplicaciones de Android - Descargar



