Guide de démarrage de la connexion avec Amazon pour Android
Connectez-vous avec Amazon: Guide de démarrage pour Android
Copyright © 2016 Amazon.com, Inc. ou ses affiliés. Tous les droits sont réservés. Amazon et le logo Amazon sont des marques commerciales d'Amazon.com, Inc. ou de ses filiales. Toutes les autres marques commerciales n'appartenant pas à Amazon sont la propriété de leurs propriétaires respectifs.
Premiers pas pour Android
Dans ce guide, nous vous montrerons comment ajouter une connexion avec Amazon à votre application Android. Après avoir terminé ce guide, vous devriez avoir un bouton Connexion avec Amazon fonctionnel dans votre application pour permettre aux utilisateurs de se connecter avec leurs informations d'identification Amazon.
Installation des outils de développement Android
La connexion avec Amazon SDK pour Android vous aidera à ajouter la connexion avec Amazon à votre application Android. Nous vous recommandons d'utiliser la connexion avec Amazon SDK pour Android de developer.amazon.com avec Android Studio. Vous pouvez cependant également utiliser le plugin Eclipse avec ADT. Pour savoir comment installer Android Studio et configurer le SDK Android, consultez Obtenez le SDK Android sur developer.android.com.
Lorsque le SDK Android est installé, recherchez le Gestionnaire de SDK application dans votre installation Android. Pour développer pour la connexion avec Amazon, vous devez utiliser le gestionnaire SDK pour installer la plate-forme SDK pour Android 2.2 ou supérieur (API version 8). Voir Ajout de packages SDK sur developer.android.com pour plus d'informations sur l'utilisation du SDK
Après avoir installé le SDK, configurez un appareil virtuel Android (AVD) pour exécuter vos applications. Voir Gérant Périphériques virtuels sur developer.android.com pour obtenir des instructions sur la configuration d'un appareil virtuel.
Lorsque votre environnement de développement est configuré, vous pouvez Installez la connexion avec Amazon SDK pour Android or Exécutez le Sampl'application, comme décrit ci-dessous.
Installez la connexion avec Amazon SDK pour Android
La connexion avec Amazon SDK pour Android est disponible en deux packages. Le premier contient la bibliothèque Android et la documentation à l'appui. La seconde contient commeample application qui permet à un utilisateur de se connecter et affiche son profile données.
Si vous n'avez pas encore installé le SDK Android ou les outils de développement Android, consultez le Installation les outils de développement Android section ci-dessus.
- Télécharger fermeture éclair et extraire le files dans un répertoire de votre disque dur.
Vous devriez voir un doc et un lib sous-répertoire. - Ouvrir doc / index.html à view l'API de connexion avec Amazon Android
- Voir Installez la connexion avec Amazon Library, pour savoir comment ajouter la bibliothèque et la documentation à un Android
Lorsque la connexion avec Amazon SDK pour Android est installée, vous pouvez Créer une nouvelle connexion avec Amazon Projet, après Inscription avec Login avec Amazon .
Exécutez le Sampl'application
Pour exécuter le sample application, importer le sampfichier dans un espace de travail AndroidStudio (si vous utilisez Eclipse, vous devez également ajouter un magasin de clés de débogage personnalisé à l'espace de travail. Voir le Ajouter le débogage personnalisé Keystore dans Eclipse rubrique ci-dessous). La clé API que le sampl'application utilise nécessite que l'espace de travail utilise le magasin de clés fourni avec le sample. Si le magasin de clés personnalisé n'est pas installé, les utilisateurs ne pourront pas se connecter à l'aide du sample. Le magasin de clés sera récupéré automatiquement si vous utilisez AndroidStudio.
- Télécharger SampleLoginWithAmazonAppForAndroid-src.zip et extraire le files dans un répertoire sur votre disque
- Démarrez Android Studio et sélectionnez Ouvrir un projet Android Studio existant
- Naviguez vers le SampleConnexionAvecAmazonApp répertoire obtenu après extraction du zip téléchargé file à l'étape
- De la Construire menu, cliquez Créer un projet, et attendez que le projet
- De la Courir menu, cliquez Courir puis cliquez sur le SampleConnexionAvecAmazonApp.
- Sélectionnez l'émulateur ou l'appareil Android connecté et cliquez sur Courir.
Ajouter le magasin de clés de débogage personnalisé dans Eclipse
Si vous utilisez Eclipse, suivez les instructions ci-dessous pour ajouter le fichier de clés de débogage personnalisé:
- Dans le Préférences dialogue, sélectionner Androïde et Construire.
- Près de Coutume Déboguer le magasin de clés, cliquez Parcourir.
- Naviguez vers le sample répertoire de l'application et sélectionnez Magasin de clés 3p., puis cliquez sur OK.
Inscription avec Login avec Amazon
Avant de pouvoir utiliser Login with Amazon sur un website ou dans une application mobile, vous devez enregistrer une application avec Login with Amazon. Votre application Login with Amazon est l'enregistrement qui contient des informations de base sur votre entreprise et des informations sur chaque website ou application mobile que vous créez et qui prend en charge la connexion avec Amazon. Ces informations commerciales sont affichées aux utilisateurs chaque fois qu'ils utilisent la connexion avec Amazon sur votre website ou application mobile. Les utilisateurs verront le nom de votre application, votre logo et un lien vers votre politique de confidentialité. Ces étapes montrent comment enregistrer une application Login with Amazon et ajouter une application Android à ce compte.
Consultez les rubriques suivantes:
- Enregistrez votre connexion avec l'application Amazon
- Enregistrez votre application Android
- Ajouter une application Android pour Amazon Appstore
- Ajouter une application Android sans Appstore
- Signatures d'applications Android et clés API
- Déterminer une signature d'application Android
- Récupérer une clé d'API Android
Enregistrez votre connexion avec l'application Amazon
- Aller à https://login.amazon.com.
- Si vous vous êtes déjà inscrit pour vous connecter avec Amazon, cliquez sur Console d'application. Sinon, cliquez sur S'inscrire. Vous serez redirigé vers Seller Central, qui gère l'enregistrement de l'application pour la connexion avec Si c'est la première fois que vous utilisez Seller Central, il vous sera demandé de créer un compte Seller Central.
- Cliquez Enregistrer une nouvelle demande. Le Enregistrez votre candidature le formulaire apparaîtra:
a. Dans le Enregistrez votre candidature formulaire, entrez un Nom et un Description pour votre application.
Le Nom est le nom affiché sur l'écran de consentement lorsque les utilisateurs acceptent de partager des informations avec votre application. Ce nom s'applique à Android, iOS et webversions du site de votre application.
b. Entrez un Avis de confidentialité URL pour votre application
Le Avis de confidentialité URL est l'emplacement de la politique de confidentialité de votre entreprise ou de votre application (par ex.ample, http://www.example.com/privacy.html). Ce lien est affiché aux utilisateurs sur l'écran de consentement.
c. Si vous souhaitez ajouter un Image du logo pour votre candidature, cliquez Parcourir et localisez l’image applicable.
Ce logo est affiché sur l'écran de connexion et de consentement pour représenter votre entreprise ou webplacer. Le logo sera réduit à 50 pixels de hauteur s'il est supérieur à 50 pixels ; il n'y a pas de limitation sur la largeur du logo - Cliquez Sauvegarder. Le vôtreampL'enregistrement devrait ressembler à ceci :
Une fois les paramètres de base de votre application enregistrés, vous pouvez ajouter des paramètres pour des applications spécifiques. websites et applications mobiles qui utiliseront ce compte Login with Amazon.
Enregistrez votre application Android
Pour enregistrer une application Android, vous avez le choix d'enregistrer une application via Amazon Appstore (Ajouter une application Android pour Amazon Appstore, p. 8) ou directement avec Login avec Amazon (Ajouter un Android Application sans Appstore, p. 9). Lorsque votre application est enregistrée, vous aurez accès à une clé API qui accordera à votre application l'accès au service d'autorisation Connexion avec Amazon.
Note: Si vous prévoyez d'utiliser Amazon Device Messaging dans votre application Android, veuillez contacter lwa- support@amazon.com avec:
- L'adresse e-mail du compte Amazon que vous avez utilisé pour vous inscrire à la connexion avec Amazon.
- L'adresse e-mail du compte Amazon que vous avez utilisé pour vous inscrire à Amazon Appstore (si différente).
- Le nom sur votre compte Seller Central. (Sur Seller Central, cliquez sur Paramètres> Informations sur le compte> Informations sur le vendeur, et utilisez le Afficher un nom).
- Le nom sur votre compte de développeur Amazon Appstore. (Sur le site de distribution d'applications mobiles, cliquez sur Paramètres > Entreprise Profile et utilisez le Nom du développeur ou nom de l'entreprise).
Ajouter une application Android pour Amazon Appstore
Les étapes suivantes ajouteront une application Amazon Appstore à votre compte de connexion avec Amazon:
- Depuis l'écran Application, cliquez sur Paramètres Android. Si vous avez déjà enregistré une application Android, recherchez le Ajouter une clé API bouton dans le Paramètres Android
Le Détails de l'application Android le formulaire apparaîtra: - Sélectionner Oui en réponse à la question "Cette application est-elle distribuée via Amazon Appstore?"
- Entrez le Étiquette de votre application Android. Il n'est pas nécessaire que ce soit le nom officiel de votre application. Il identifie simplement cette application Android particulière parmi les applications et websites enregistrés dans votre application Connexion avec Amazon.
- Ajoutez votre ID Amazon Appstore.
- Si vous avez auto-signé votre application, ajoutez des informations d'auto-signature. Cela vous permettra d'obtenir une clé API lors du développement sans utiliser directement l'Appstore:
a. Si votre application n'est pas signée via Amazon Appstore, sélectionnez Oui en réponse à la question «Cette application est-elle auto-signée?
Le Détails de l'application Android le formulaire se développera:
b. Entrez votre Nom du paquet.
Cela doit correspondre au nom du package de votre projet Android. Pour déterminer le nom du package de votre projet Android, ouvrez le projet dans votre choix d'outil de développement Android.
Ouvrir AndroidManifest.XML dans l'Explorateur de packages et sélectionnez le Manifeste languette. La première entrée est le nom du package.
c. Entrez dans l'appli Signature.
Il s'agit d'une valeur de hachage SHA-256 utilisée pour vérifier votre application. La signature doit être sous la forme de 32 paires hexadécimales séparées par des deux points (par example: 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). Voir Signatures d'applications Android et clés API pour connaître les étapes que vous pouvez utiliser pour extraire la signature de votre projet. - Cliquez Sauvegarder.
Si différentes versions de votre application ont des signatures ou des noms de package différents, par exemple pour une ou plusieurs versions de test et une version de production, chaque version nécessite sa propre clé API. Du Paramètres Android de votre application, cliquez sur le Ajouter une clé API pour créer des clés supplémentaires pour votre application (une par version).
Signatures d'applications Android et clés API
La signature d'application est une valeur de hachage SHA-256 qui est appliquée à chaque application Android lors de sa création. Amazon utilise la signature d'application pour construire votre clé API. La clé API permet aux services Amazon de reconnaître votre application. Si vous utilisez Amazon Appstore pour signer votre application, la clé API est fournie automatiquement. Si vous n'utilisez pas Amazon Appstore, vous devrez gérer votre clé API manuellement.
Les signatures d'application sont stockées dans un magasin de clés. En règle générale, pour les applications Android, il existe un fichier de clés de débogage et un fichier de clés de version. Le keystore de débogage est créé par le plugin Android Development Tools pour Eclipse et est utilisé par défaut. Vous pouvez trouver l'emplacement du magasin de clés de débogage dans Eclipse en cliquant sur Fenêtre, puis en sélectionnant Préférences> Android> Construire. À partir de cet écran, vous pouvez également ajouter votre propre magasin de clés de débogage. Pour Android Studio, à partir du Construire menu, sélectionner Modifier les types de build, puis allez à la Signature et recherchez le fichier de clés de débogage dans le Magasin File champ.
Un magasin de clés de version est normalement créé lorsque vous exportez votre application Android pour créer un APK signé file.
Lors du processus d'exportation, si vous créez un nouveau fichier de clés de version, vous sélectionnerez son emplacement. Par
par défaut, il sera placé au même emplacement que votre KeyStore de débogage par défaut.
Si vous avez enregistré votre application à l'aide de la signature de débogage pendant le développement, vous devrez ajouter un nouveau paramètre Android à votre application lorsque vous serez prêt à publier l'application. Le nouveau paramètre d'application doit utiliser la signature du fichier de clés de version.
Voir Signature de vos applications sur developer.android.com pour plus d'informations.
Déterminez la signature de l'application Android
- Si vous avez un APK signé file:
a. Décompressez l'APK file et extraire CERT.RSA. (Vous pouvez renommer l'extension APK en ZIP si nécessaire).
b. Depuis la ligne de commande, exécutez:keytool-printcert-file CERT.RSA Outils clés situé dans le poubelle répertoire de votre installation Java.
- Si vous avez un magasin de clés file:
a. Depuis la ligne de commande, exécutez:keytool -list -v -alias -keystorefilenom> Outil clé se trouve dans le répertoire bin de votre installation Java. L'alias est le nom de la clé utilisée pour signer l'application.
b. Entrez le mot de passe de la clé et appuyez sur Entrer. - Sous Empreintes digitales de certificat, copier le SHA256 valeur.
Récupérer la clé d'API Android
Lorsque vous avez enregistré un paramètre Android et fourni une signature d'application, vous pouvez récupérer la clé API à partir de la page d'enregistrement de votre application Connexion avec Amazon. Vous devrez placer cette clé API dans un file dans votre projet Android. Jusqu'à ce que vous le fassiez, l'application ne sera pas autorisée à communiquer avec le service d'autorisation Connexion avec Amazon.
- Aller à https://login.amazon.com.
- Cliquez Console d'application.
- Dans le Applications à gauche, sélectionnez votre
- Trouvez votre application Android sous le Paramètres Android (Si vous n'avez pas encore enregistré d'application Android, consultez Ajouter une application Android pour Amazon Appstore).
- Cliquez Générer une valeur de clé API. Une fenêtre contextuelle affichera votre clé API. Pour copier la clé, cliquez sur Sélectionner tout pour sélectionner l'ensemble
Note: La valeur de la clé API est basée, en partie, sur l'heure à laquelle elle est générée. Ainsi, les valeurs de clé API suivantes que vous générez peuvent différer de l'original. Vous pouvez utiliser l'une de ces valeurs clés d'API dans votre application, car elles sont toutes valides. - Voir Ajoutez votre clé API à votre projet pour obtenir des instructions sur l'ajout de la clé API à votre Android
Créer une connexion avec Amazon Project
Dans cette section, vous apprendrez à créer un nouveau projet Android pour la connexion avec Amazon, à configurer le projet et à ajouter du code au projet pour connecter un utilisateur avec Connexion avec Amazon. Nous allons décrire les étapes pour Android Studio, mais vous pouvez appliquer des étapes analogues à n'importe quel outil de développement IDE ou Android de votre choix.
Consultez les rubriques suivantes:
- Créer une nouvelle connexion avec Amazon Project
- Installez la connexion avec la bibliothèque Amazon
- Activer Content Assist pour la connexion avec Amazon Library
- Définir les autorisations réseau pour votre application
- Ajoutez votre clé API à votre projet
- Retirez le Sample magasin de clés de débogage personnalisé de l'application
- Gérez les changements de configuration pour votre activité
- Ajouter une activité d'autorisation à votre projet
- Ajouter une connexion avec le bouton Amazon à votre application
- Manipulez le bouton de connexion et obtenez Profile Données
- Vérifiez la connexion de l'utilisateur au démarrage
- Effacer l'état d'autorisation et déconnecter un utilisateur
- Appeler les méthodes Amazon Authorization Manager de manière synchrone
Créer une nouvelle connexion avec Amazon Project
Si vous n'avez pas encore de projet d'application pour utiliser Login with Amazon, suivez les instructions ci-dessous pour en créer un. Si vous avez une application existante, passez à Installez la connexion avec la bibliothèque Amazon .
- Lancement Outil de développement Android.
- De la File menu, sélectionner Nouveau et Projet.
- Entrez un Nom de l'application et Nom de l'entreprise pour votre
- Entrez le Nom de l'application et de l'entreprise correspondant au nom du package que vous avez choisi lors de l'enregistrement de votre application avec Login with Amazon.
Si vous n'avez pas encore enregistré votre application, choisissez un Nom du package puis suivez les instructions du Inscription avec Login avec Amazon section après avoir créé votre projet. Si le nom du package de votre application ne correspond pas au nom du package enregistré, votre connexion avec les appels Amazon échouera. - Sélectionnez un SDK minimum requis de l'API 8: Android 2 (Froyo) ou supérieur, puis cliquez sur Suivant.
- Sélectionnez le type d'activité que vous souhaitez créer et cliquez sur Suivant.
- Remplissez les informations pertinentes et cliquez sur Finition.
Vous aurez maintenant un nouveau projet dans votre espace de travail que vous pouvez utiliser pour appeler Login with Amazon.
Installez la connexion avec la bibliothèque Amazon
Si vous n'avez pas encore téléchargé la connexion avec Amazon SDK pour Android, consultez Installez la connexion avec Amazon SDK pour Android (p. 4).
- Avec votre projet ouvert dans les outils de développement Android, dans Explorateur de projets, faites un clic droit sur votre Projet.
- Si un dossier appelé bibliothèques n'est pas déjà présent, créez
- Copiez le connexion-avec-amazon-sdk.jar file de la File Système, puis collez-le dans le bibliothèques répertoire sous votre projet / application.
- Clic droit connexion-avec-amazon-sdk.jar, et vérifiez le Ajouter en tant que bibliothèque
Activer Content Assist pour la connexion avec Amazon Library dans Eclipse
Pour activer la prise en charge de l'assistance de contenu Eclipse dans un projet Android, vous devez utiliser un .propriétés file. Pour plus d'informations sur l'assistant de contenu, consultez Content / Code Assist surhelp.eclipse.org.
Pour activer la prise en charge de l'assistance de contenu Eclipse dans un projet Android, vous devez utiliser un .propriétés file. Pour plus d'informations sur l'assistant de contenu, consultez Content / Code Assist surhelp.eclipse.org.
- In Explorateur Windows, accédez au documents pour la connexion avec Amazon SDK pour Android et copiez le dossier dans le
- Avec votre projet ouvert, allez à Explorateur de paquets et sélectionnez le bibliothèques Cliquez Modifier dans le menu principal et sélectionnez Coller. Vous devriez maintenant avoir un libs \ docs annuaire.
- Sélectionnez le bibliothèques Cliquez File dans le menu principal et sélectionnez Nouveau etFile.
- Dans le Nouveau File dialogue, entrer connexion-avec-amazon-sdk.jar.properties et cliquez Finition.
- Eclipse devrait s'ouvrir connexion-avec-amazon-sdk.jar.properties dans l'éditeur de texte. Dans l'éditeur de texte, ajoutez la ligne suivante au file:
doc = docs - De la File menu, cliquez Sauvegarder.
- Vous devrez peut-être redémarrer Eclipse pour que les modifications prennent effet
Définir les autorisations réseau pour votre application
Pour que votre application utilise la connexion avec Amazon, elle doit accéder à Internet et accéder aux informations sur l'état du réseau. Votre application doit affirmer ces autorisations dans votre manifeste Android, si ce n'est déjà fait.
NOTE: Les étapes de la procédure ci-dessous sont spécifiques à l'ajout des autorisations dans Eclipse. Si vous utilisez Android Studio ou un autre IDE, vous pouvez ignorer toutes les étapes numérotées ci-dessous. Au lieu de cela, copiez les lignes de code affichées sous la capture d'écran et collez-les dans le AndroidManifest.xml file, en dehors du bloc d'application.
- In Emballer Explorateur, double-cliquez xml.
- Sur le Autorisations onglet, cliquez Ajouter.
- Sélectionner Utilise la permission et cliquez OK.
- À la droite de Autorisations, trouver le Attributs pour l'autorisation d'utilisation
- Dans le Nom boîte, entrez autorisation. L'INTERNET ou sélectionnez-le dans la liste déroulante.
- Sur le Autorisations onglet, cliquez Ajouter
- Sélectionner Utilise la permission et cliquez OK.
- Dans le Nom boîte, entrez autorisation.ACCESS_NETWORK_STATE ou sélectionnez-le dans le menu déroulant
- De la File menu, cliquez Sauvegarder.
Vos autorisations de manifeste doivent maintenant avoir les valeurs suivantes:
Dans le AndroidManifest.xml tab, vous devriez maintenant voir ces entrées sous l'élément manifest:
Ajoutez votre clé API à votre projet
Lorsque vous enregistrez votre application Android avec Login with Amazon, une clé API vous est attribuée. Il s'agit d'un identifiant que Amazon Authorization Manager utilisera pour identifier votre application dans le service d'autorisation Connexion avec Amazon. Si vous utilisez Amazon Appstore pour signer votre application, l'Appstore fournira automatiquement la clé API. Si vous n'utilisez pas Amazon Appstore, Amazon Authorization Manager charge cette valeur lors de l'exécution à partir du api_key.txt file dans le actifs annuaire.
- Si vous n'avez pas encore votre clé API, suivez les instructions de Récupérer la clé d'API Android (p. 11).
- Avec votre projet ADT ouvert, depuis le File menu, cliquez Nouveau et sélectionnez Texte sans titre File. Vous devriez maintenant avoir une fenêtre d'édition pour un texte file nommé Sans titre 1. Ajoutez votre clé API au texte
- De la File menu, cliquez Enregistrer sous.
- Dans le Enregistrer sous dialogue, sélectionnez le actifs répertoire de votre projet comme dossier parent. Pour File nom, entrer SMS.
Retirez le Sample magasin de clés de débogage personnalisé de l'application
NOTE: Cette étape n'est requise que si vous utilisez Eclipse; si vous utilisez Android Studio, ignorez cette section.
Si vous avez installé la connexion avec Amazon pour Android sampl'application dans le même espace de travail que vous utilisez pour votre application Android, vous pouvez avoir un magasin de clés de débogage personnalisé défini pour l'espace de travail. Vous devez effacer le magasin de clés de débogage personnalisé afin d'utiliser votre propre clé API.
- Depuis le menu principal, cliquez sur Fenêtre et sélectionnez Préférences.
- Dans le Préférences dialogue, sélectionner Androïde et Construire.
- Effacer le Coutume déboguer le keystore
- Cliquez OK.
Gérez les changements de configuration pour votre activité
Si un utilisateur change l'orientation de l'écran ou change l'état du clavier de l'appareil pendant qu'il se connecte, il demandera un redémarrage de l'activité en cours. Ce redémarrage fermera l'écran de connexion de manière inattendue. Pour éviter cela, vous devez définir l'activité qui utilise la méthode d'autorisation pour gérer ces modifications de configuration manuellement. Cela empêchera un redémarrage de l'activité.
- In Emballer Explorateur, double-cliquez xml.
- Dans le Application section, localisez l'activité qui gérera la connexion avec Amazon (par example, Activité principale).
- Ajoutez l'attribut suivant à l'activité que vous avez localisée à l'étape 2:
android: configChanges = "keyboard | keyboardHidden | orientation" Ou pour l'API 13 ou supérieure:
android: configChanges = "keyboard | keyboardHidden | orientation | screenSize" - De la File menu, cliquez Sauvegarder
Désormais, lorsqu'un changement d'orientation du clavier ou de l'appareil se produit, Android appelle le onConfigurationChanged méthode pour votre activité. Vous n'avez pas besoin d'implémenter cette fonction, sauf s'il y a un aspect de ces changements de configuration que vous souhaitez gérer pour votre application
Lorsque l'utilisateur clique sur le bouton Connexion avec Amazon, l'API lance un web navigateur pour présenter une page de connexion et de consentement à l'utilisateur. Pour que cette activité de navigateur fonctionne, vous devez ajouter AuthorizationActivity à votre manifeste.
- In Emballer Explorateur, double-cliquez xml.
- Dans le Application section, ajoutez le code suivant, en remplaçant "com.example.app" avec le nom de votre package pour cette application :
<activité android:nom=
"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” />
<données
android: hôte = "com.example.app" android:scheme="amzn" />
votre application. Cette section explique les étapes à suivre pour télécharger une connexion officielle avec une image Amazon et l'associer à un ImageButton Android.
- Ajoutez un ImageButton standard à votre application.
Pour plus d'informations sur les boutons Android et la classe ImageButton, consultez Boutons sur developer.android.com. - Donnez à votre bouton un identifiant.
Dans la déclaration XML du bouton, définissez l'attribut android:id sur @+id/login_with_amazon. Par example:android: id = "@ + id / login_with_amazon" - Choisissez une image de bouton.
Consultez notre connexion avec Amazon Directives de style pour une liste de boutons que vous pouvez utiliser dans votre application. Téléchargez une copie du LWA_Android.zip file. Extrayez une copie de votre bouton préféré pour chaque densité d'écran prise en charge par votre application (xxhdpi, xhdpi, hdpi, mdpi ou tvdpi). Pour plus d'informations sur la prise en charge de plusieurs densités d'écran dans Android, consultez Dispositions alternatives dans la rubrique «Prise en charge de plusieurs écrans» surdeveloper.android.com. - Copiez l'image du bouton approprié files à votre projet.
Pour chaque densité d'écran que vous prenez en charge (xhdpi, hdpi, mdpi ou ldpi), copiez le bouton téléchargé dans le res / drawable répertoire pour cette densité d'écran. - Déclarez l'image du bouton.
Dans la déclaration XML du bouton, définissez l'attribut android:src sur le nom du bouton que vous avez choisi. Par example:android: src = "@ drawable / btnlwa_gold_loginwithamazon.png" 6. Chargez votre application et vérifiez que le bouton a maintenant une image Connexion avec Amazon. Vous devez vérifier que le bouton s'affiche correctement pour chaque densité d'écran prise en charge.
Cette section explique comment appeler les autorisations et getProfile Des API pour connecter un utilisateur et récupérer son profile Les données. Cela inclut la création d'un écouteur onClick pour votre bouton Connexion avec Amazon dans la méthode onCreate de votre application.
- Ajoutez Login with Amazon à votre projet Android. Voir Installez la connexion avec la bibliothèque Amazon .
- Importez la connexion avec l'API Amazon vers votre source
Pour importer l'API Login with Amazon, ajoutez les instructions d'importation suivantes à votre source file:import com.amazon.identity.auth.device.AuthError; importer
com.amazon.identity.auth.device.authorization.api.
AmazonAuthorizationManager; importer
com.amazon.identity.auth.device.authorization.api. AuthorizationListener; importer com.amazon.identity.auth.device.authorization.api.AuthzConstants ; - Initialiser AmazonAuthorizationManager.
Vous devrez déclarer un Gestionnaire d'autorisations Amazon variable et créez une nouvelle instance de la classe. La création d'une nouvelle instance ne nécessite que votre contexte d'application actuel et un bundle vide. Le meilleur endroit pour initialiser Gestionnaire d'autorisations Amazon est dans le surCréer méthode de votre activité. Par example: - Créez un AuthorizeLiistener.
Autoriser l'écouteur implémente l'interface AuthorizatioinListener, et traitera le résultat de la autoriser l'appel. Il contient trois méthodes: oinSuccess, une erreur, et onCanceil. Chaque méthode reçoit soit un Bundle, soit un ErreurAuth objet.classe privée AuthorizeListener implémente AuthorizationListener {
/ * L'autorisation a été effectuée avec succès. * /
@ Override
public void onSuccess (réponse groupée) {
}
/ * Une erreur s'est produite lors de la tentative d'autorisation de l'application.
*/
@ Override
public void onError (AuthError ae) {
}
/ * L'autorisation a été annulée avant de pouvoir être terminée. * /
@ Override
public void onCancel (cause du bundle) {
}
} - Appel AmazonAuthorizationManager.authorize.
Dans le surClick gestionnaire pour votre connexion avec le bouton Amazon, appelez authorize pour inviter l'utilisateur à se connecter et autoriser votre application.
Cette méthode se charge d'autoriser le client de l'une des manières suivantes:- Bascule vers le navigateur système et permet au client de se connecter et de consentir à la demande
- Passe à web view dans un contexte sécurisé, pour permettre au client de se connecter et de consentir à la demande
Ce contexte sécurisé pour #2 est actuellement disponible en tant qu'application Amazon Shopping sur les appareils Android. Appareils créés par Amazon exécutant Fire OS (par ex.ample Kindle Fire, Fire Phone et Fire TV) utilisent toujours cette option même s'il n'y a pas d'application Amazon Shopping sur l'appareil. Pour cette raison, si le client est déjà connecté à l'application Amazon Shopping, cette API ignorera la page de connexion, ce qui entraînera un Authentification unique expérience pour le client.
Lorsque votre application est autorisée, elle est autorisée pour un ou plusieurs ensembles de données appelés portées. Le premier paramètre est un tableau d'étendues qui englobe les données utilisateur que vous demandez à Login with Amazon. La première fois qu'un utilisateur se connecte à votre application, une liste des données que vous demandez lui sera présentée et une approbation lui sera demandée. La connexion avec Amazon prend actuellement en charge trois étendues : profile, qui contient le nom, l'adresse e-mail et l'identifiant du compte Amazon de l'utilisateur ; profile:identifiant d'utilisateur, qui contient uniquement l'identifiant du compte Amazon; et code postal, qui contient le code postal / postal de l'utilisateur.
La meilleure façon d'appeler authorize est de manière asynchrone, vous n'avez donc pas besoin de bloquer le thread d'interface utilisateur ou de créer votre propre thread de travail. Appeler autoriser de manière synchrone, passer un objet qui prend en charge le AutorisationListenerinterface comme dernier paramètre:privé AmazonAuthorizationManager mAuthManager; @ Override
void protégé onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
mAuthManager = new AmazonAuthorizationManager (ceci, Bundle.EMPTY);// Trouvez le bouton avec l'identifiant login_with_amazon
// et configurer un gestionnaire de clics
mLoginButton = (Bouton) trouverViewParId(R.id.login_with_amazon);
mLoginButton.setOnClickListener (nouveau OnClickListener () {
@ Override
public void onClick (View v) {
mAuthManager.authorize (
nouvelle chaîne []{"profile","code postal"},
Bundle.EMPTY, nouveau AuthorizeListener ());
}
});
} - Créer un ProfileAuditeur.
ProfileAuditeur est notre nom pour une classe qui implémente le APIListener interface, et traitera le résultat de la devenir profile appel. APIListener contient deux méthodes: surSuccès et onError (il ne prend pas en charge surAnnuler car il n'y a aucun moyen d'annuler un devenir profile appel). surSuccès reçoit un objet Bundle avec profile données, tandis que une erreur reçoit un ErreurAuth objet avec des informations sur l'erreur.cours privé ProfileL'écouteur implémente APIListener{ /* devenir profile complété avec succès. */ @Passer outre
public void onSuccess (réponse groupée) {}
/* Il y a eu une erreur lors de la tentative d'obtention du profile. */ @Passer outre
public void onError (AuthError ae) {
}
} - Mettre en œuvre surSuccès pour votre Autoriser l'écouteur.
In surSuccès, appel AmazonAuthorizationManager.getProfile pour récupérer le client profile. devenir profile, comme authorize, utilise une interface d'écoute asynchrone. Pour devenir profile, cette interface est APIListener, pasAuthorizationListener.
/ * L'autorisation a été effectuée avec succès. */ @Passer outre
public void onSuccess (réponse groupée) {
mAuthManager.getProfile(nouveau ProfileAuditeur());} - Mettre en œuvre surSuccèspour ton ProfileAuditeur.
onSuccessa deux tâches principales : récupérer le profile données du Bundle de réponse et de transmettre les données à l'interface utilisateur. mise à jourProfileDonnéesis une fonction hypothétique que votre application pourrait implémenter pour afficher profile détails. setLoggedInState, une autre fonction hypothétique, indiquerait qu'un utilisateur est connecté et lui donnerait un moyen de déconnecter.
Pour récupérer le profile données du Bundle, nous utilisons les noms stockés par le Constantes d'authentification classer. le surSuccès le paquet contient le profile données dans un BUNDLE_KEY.PROFILE paquet.
Au sein du profile bundle, les données de portée sont indexées sous PROFILE_KEY.NAME, PROFILE_CLÉ.EMAIL, PROFILE_KEY.USER_ID, et PROFILE_KEY.POSTAL_CODE. PROFILE_KEY.POSTAL_CODE n'est inclus que si vous demandez le Code Postal portée.@ Override
public void onSuccess (réponse groupée) {
// Récupérer les données dont nous avons besoin du Bundle Bundle profileBundle = réponse.getBundle(
AuthzConstants.BUNDLE_KEY.PROFILE.val);
Nom de la chaîne = profileBundle.getString(
AuthzConstants.PROFILE_KEY.NAME.val);
Chaîne email = profileBundle.getString(
AuthzConstants.PROFILE_KEY.EMAIL.val);
Compte chaîne = profileBundle.getString(
AuthzConstants.PROFILE_KEY.USER_ID.val);
Chaîne de code postal = profileBundle.getString(
AuthzConstants.PROFILE_CLÉ.CODE_POST.val);
runOnUiThread (nouveau Runnable () {@Override
public void run () {
mise à jourProfileDonnées (nom, e-mail, compte, code postal) ;
}
});
} - Mettre en œuvre surErreur pour votre ProfileAuditeur.
surErreur comprend un ErreurAuth objet contenant des détails sur l'erreur./* Il y a eu une erreur lors de la tentative d'obtention du profile. */ @Passer outre
public void onError (AuthError ae) {
/ * Réessayer ou informer l'utilisateur de l'erreur * /
} - Mettre en œuvre surErreurpour ton Autoriser l'écouteur.
/ * Une erreur s'est produite lors de la tentative d'autorisation de l'application.
*/
@ Override
public void onError (AuthError ae) {
/ * Informer l'utilisateur de l'erreur * /
} - Mettre en œuvre surAnnulerpour ton Autoriser l'écouteur.
Étant donné que le processus d'autorisation présente un écran de connexion (et éventuellement un écran de consentement) à l'utilisateur dans un web navigateur (ou un webview), l'utilisateur aura la possibilité d'annuler la connexion ou de quitter le web page. S'ils annulent explicitement le processus de connexion, surAnnuler est appelé. Si surCancelis appelé, vous souhaiterez réinitialiser votre interface utilisateur./ * L'autorisation a été annulée avant de pouvoir être terminée. * /
@ Override
public void onCancel (cause du bundle) {
/ * réinitialise l'interface utilisateur à un état prêt à se connecter * /
}Note: Si l'utilisateur quitte l'écran de connexion dans le navigateur ou web view et revient à votre application, le SDK ne détectera pas que la connexion n'a pas été effectuée. Si vous détectez l'activité des utilisateurs dans votre application avant la fin de la connexion, vous pouvez supposer qu'ils ont quitté le navigateur et réagissent en conséquence.
Vérifiez la connexion de l'utilisateur au démarrage
Si un utilisateur se connecte à votre application, ferme l'application et la redémarre plus tard, l'application est toujours autorisée à récupérer des données. L'utilisateur n'est pas déconnecté automatiquement. Au démarrage, vous pouvez afficher l'utilisateur comme connecté si votre application est toujours autorisée. Cette section explique comment utiliser getToken pour voir si l'application est toujours autorisée.
- Créer un TokenListener.
Écouteur de jeton met en œuvre le APIListener interface, et traitera le résultat de l'appel getToken. APIListener contient deux méthodes: surSuccès et surErreur (il ne prend pas en charge surAnnuler car il n'y a aucun moyen d'annuler un obtenirJeton appel). surSuccès reçoit un objet Bundle avec des données de jeton, tandis que surErreur reçoit un ErreurAuth objet avec des informations sur l'erreur.classe privée TokenListener implémente APIListener { / * getToken terminé avec succès. */ @Passer outre
public void onSuccess (réponse groupée) {
}
/ * Une erreur s'est produite lors de la tentative d'obtention du jeton. */ @Passer outre
public void onError (AuthError ae) {
}
} - Dans le au démarrage méthode de votre activité, appelez obtenirJeton pour voir si l'application est toujours autorisée.
obtenirJeton récupère le jeton d'accès brut que le Gestionnaire d'autorisations Amazon utilise pour accéder à un client profile. Si la valeur du jeton n'est pas nulle, l'application est toujours autorisée et un appel à devenir profile devrait réussir. getToken requiert les mêmes portées que vous avez demandées dans votre appel à autoriser.
getToken prend en charge appels asynchrones de la même manière que getProfile, vous n'avez donc pas besoin de bloquer le thread d'interface utilisateur ou de créer votre propre thread de travail. Pour appeler getToken de manière asynchrone, transmettez un objet qui prend en charge le APIListener interface comme paramètre final.@ Override
protected void onStart () {
super.onStart
();mAuthManager.getToken(nouvelle chaîne []{"profile","code postal"},
nouveau
TokenListener ());
} - Mettre en œuvre surSuccès pour votre TokenListener.
onSuccessa deux tâches: récupérer le token du Bundle, et si le token est valide, appeler devenir profile.
Pour récupérer les données de jeton du Bundle, nous utilisons les noms stockés par le Constantes d'authentification classer. le surSuccès bundle contient les données du jeton dans une valeur BUNDLE_KEY.TOKEN. Si cette valeur n'est pas nulle, cet examples appels devenir profile en utilisant le même auditeur que vous avez déclaré dans la section précédente (voir les étapes 7 et 8)./ * getToken terminé avec succès. * /
@ Override
public void onSuccess (réponse groupée) {
chaîne finale authzToken =
response.getString (AuthzConstants.BUNDLE_KEY.TOKEN.val);
if (! TextUtils.isEmpty (authzToken))
{
// Récupérer le profile données
mAuthManager.getProfile(nouveau ProfileAuditeur());
}
}
La méthode clearAuthorizationState efface les données d'autorisation de l'utilisateur du magasin de données local AmazonAuthorizationManager. Un utilisateur devra se reconnecter pour que l'application récupère profile Les données. Utilisez cette méthode pour déconnecter un utilisateur ou pour résoudre les problèmes de connexion dans l'application.
- Mettre en œuvre une déconnexion
Lorsqu'un utilisateur s'est connecté avec succès, vous devez fournir un mécanisme de déconnexion afin qu'il puisse effacer son compte profile des données et des étendues préalablement autorisées. Votre mécanisme peut être un lien hypertexte ou un élément de menu. Pour cet example nous allons créer un surClick méthode pour un bouton. - Dans votre gestionnaire de déconnexion, appelez clearAuthorizationState. clearAuthorizationStateclearAuthorizationState supprimera les données d'autorisation d'un utilisateur (jetons d'accès, profile) du magasin local. clearAuthorizationStatetakes pas de paramètres sauf pour un APIListener pour retourner le succès ou
- Déclarer un anonyme APIListener.
Les classes anonymes sont une alternative utile à la déclaration d'une nouvelle classe à implémenter APIListener. Voir Manipulez le bouton de connexion et obtenez Profile Données (p. 17) pour un exampleça déclare les classes d'auditeur. - Mettre en œuvre surSuccès à l'intérieur du APIListener
Quand clearAuthorizationStateclearAuthorizationState réussit, vous devez mettre à jour votre interface utilisateur pour supprimer les références à l'utilisateur et fournir un mécanisme de connexion que les utilisateurs peuvent utiliser pour se reconnecter. - Mettre en œuvre surErreur à l'intérieur du APIListener.
If clearAuthorizationStaterretourne une erreur, vous pouvez laisser l'utilisateur essayer de se déconnecter à nouveau.@ Override
void protégé onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
/ * Déclaration précédente surCreate omise * /
// Trouvez le bouton avec l'ID de déconnexion et configurez un gestionnaire de clics
mLogoutButton = (Bouton) trouverViewParId(R.id.logout);
mLogoutButton.setOnClickListener (nouveau OnClickListener () {
@ Override
public void onClick (View v) {
mAuthManager.clearAuthorizationState (nouveau
APIListener () {
@ Override
public void onSuccess (résultats du groupe) {
// Définir l'état déconnecté dans l'interface utilisateur
}
@ Override
public void onError (AuthError authError) {
// Consigner l'erreur
}
});
}
});
}
Quelques Gestionnaire d'autorisations Amazon les méthodes renvoient un objet Future. Cela vous permet d'appeler la méthode de manière synchrone au lieu de passer un écouteur en tant que paramètre. Si vous utilisez un objet Future, vous ne devez pas l'utiliser sur un thread d'interface utilisateur. Si vous bloquez un thread d'interface utilisateur pendant plus de cinq secondes, vous obtiendrez une invite ANR (Application Not Responding). Dans le bouton Gérer le bouton de connexion et obtenir Profile Données example , le surSuccès méthode pour Autoriser l'écouteur est appelé avec un thread de travail créé par AmazonAuthorizationManager. Cela signifie qu'il est sûr d'utiliser ce fil pour appeler getPirofile synchrone. Pour effectuer un appel synchrone, attribuez la valeur de retour de obtenirPirofile à un objet Future et appelez le méthode sur cet objet pour attendre la fin de la méthode.
Futur.get renvoie un objet Bundle qui contient un FUTURE_TYPE valeur de SUCCÈS, ERREUR, or ANNULER. Si la méthode a été un succès, le même bundle contiendra PROFILE_Valeurs CLES pour le profile Les données. Par example:
/ * L'autorisation a été effectuée avec succès. * / @ Override public void onSuccess (réponse groupée) { Futur<Bundle> futur = mAuthManager.getProfile(nul); Bundle result = future.get(); // Découvrez si l'appel a réussi et récupérez le profile Objet future_type = result.get (AuthzConstants.BUNDLE_KEY.FUTURE.val); si (future_type == AuthzConstants.FUTURE_TYPE.SUCCESS) { Nom de la chaîne = result.getString( AuthzConstants.PROFILE_KEY.NAME.val); Chaîne email = result.getString( AuthzConstants.PROFILE_KEY.EMAIL.val); Compte de chaîne = result.getString( AuthzConstants.PROFILE_KEY.USER_ID.val); Code postal de la chaîne = result.getString( AuthzConstants.PROFILE_CLÉ.CODE_POST.val); runOnUiThread (nouveau Runnable () {@Override public void run() { updateProfileDonnées (nom, e-mail, compte, code postal); } }); } sinon si (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Récupère l'objet d'erreur AuthError authError = AuthError.extractError (résultat); / * Utilisez authError pour diagnostiquer l'erreur * / } |
Guide de démarrage de connexion avec Amazon pour Android - Télécharger [optimisé]
Guide de démarrage de connexion avec Amazon pour Android - Télécharger