Войдите в систему с помощью руководства по началу работы с Amazon для Android
Войти через Amazon: руководство по началу работы для Android
Авторские права © 2016 Amazon.com, Inc. или ее аффилированные лица. Все права защищены. Amazon и логотип Amazon являются товарными знаками Amazon.com, Inc. или ее дочерних компаний. Все другие товарные знаки, не принадлежащие Amazon, являются собственностью соответствующих владельцев.
Начало работы для Android
В этом руководстве мы покажем вам, как добавить вход через Amazon в ваше приложение для Android. После изучения этого руководства у вас должна быть рабочая кнопка «Войти с помощью Amazon» в вашем приложении, чтобы пользователи могли входить в систему со своими учетными данными Amazon.
Установка инструментов разработчика Android
Вход с помощью Amazon SDK для Android поможет вам добавить вход с помощью Amazon в свое приложение Android. Мы рекомендуем вам использовать Login with Amazon SDK for Android с сайта developer.amazon.com с Android Studio. Однако вы также можете использовать Eclipse with ADT plugin. Инструкции по установке Android Studio и настройке Android SDK см. В разделе Получить Android SDK на сайте developer.android.com.
После установки Android SDK найдите Менеджер SDK приложение в вашей установке Android. Чтобы разработать для входа в систему с Amazon, вы должны использовать SDK Manager для установки SDK Platform для Android 2.2 или более поздней версии (API версии 8). Видеть Добавление пакетов SDK на сайте developer.android.com для получения дополнительной информации об использовании SDK.
После установки SDK настройте виртуальное устройство Android (AVD) для запуска ваших приложений. Видеть Управляющий Виртуальные устройства на сайте developer.android.com можно найти инструкции по настройке виртуального устройства.
Когда ваша среда разработки настроена, вы можете Установите логин с Amazon SDK для Android or Пробегите Sampле приложение, как описано ниже.
Установите логин с Amazon SDK для Android
Вход с помощью Amazon SDK для Android поставляется в двух пакетах. Первый содержит библиотеку Android и сопроводительную документацию. Второй содержит какample приложение, которое позволяет пользователю войти в систему и отображает его профессиональнуюfile данные.
Если вы еще не установили Android SDK или Android Development Tools, см. Установка Инструменты разработчика Android раздел выше.
- Скачать почтовый индекс и извлечь files в каталог на вашем жестком диске.
Вы должны увидеть док и а либ подкаталог. - Открыть doc / index.html к view Вход через Amazon Android API
- Видеть Установите логин с помощью библиотеки Amazon, для получения инструкций о том, как добавить библиотеку и документацию на Android
Когда установлен вход с помощью Amazon SDK для Android, вы можете Создать новый логин с Amazon Проект, после Регистрация с помощью входа в Amazon .
Пробегите Sampле приложение
Чтобы запустить sample приложение, импортируйте sample в рабочую область AndroidStudio (если вы используете Eclipse, вы также должны добавить в рабочую область настраиваемое хранилище ключей отладки. Добавить пользовательскую отладку Хранилище ключей в Eclipse раздел ниже). Ключ API, который используетсяampПриложение, которое использует файл, требует, чтобы рабочее пространство использовало хранилище ключей, которое поставляется сampле Если настраиваемое хранилище ключей не установлено, пользователи не смогут войти в систему с помощью sampле Хранилище ключей будет выбрано автоматически, если вы используете AndroidStudio.
- Скачать SampleLoginWithAmazonAppForAndroid-src.zip и извлечь files в каталог на вашем жестком диске
- Запустите Android Studio и выберите Откройте существующий проект Android Studio
- Перейдите к SampleLoginWithAmazonApp каталог, полученный после распаковки загруженного zip-архива file в ногу
- Из Строить меню, нажмите Сделать проект, и подождите, пока проект
- Из Бегать меню, нажмите Бегать и затем нажмите кнопку SampleLoginWithAmazonApp.
- Выберите эмулятор или подключенное устройство Android и нажмите Бегать.
Добавить хранилище пользовательских ключей отладки в Eclipse
Если вы используете Eclipse, следуйте приведенным ниже инструкциям, чтобы добавить настраиваемое хранилище ключей отладки:
- В Предпочтения диалог, выберите андроид и Строить.
- Рядом с Обычай Отладка хранилища ключей, нажмите Просматривать.
- Перейдите к sample каталог приложения и выберите 3р. Магазин ключей, а затем нажмите OK.
Регистрация с помощью входа в Amazon
Прежде чем вы сможете использовать функцию «Войти через Amazon» на webсайте или в мобильном приложении необходимо зарегистрировать приложение с помощью Login with Amazon. Ваше приложение Login with Amazon — это регистрация, которая содержит основную информацию о вашем бизнесе, а также информацию о каждом webсайт или мобильное приложение, которое вы создаете, поддерживающее функцию «Войти через Amazon». Эта бизнес-информация отображается пользователям каждый раз, когда они используют функцию «Войти через Amazon» на вашем webсайт или мобильное приложение. Пользователи увидят название вашего приложения, ваш логотип и ссылку на вашу политику конфиденциальности. Эти шаги демонстрируют, как зарегистрировать логин с помощью приложения Amazon и добавить приложение Android в эту учетную запись.
См. Следующие темы:
- Зарегистрируйте свой логин в приложении Amazon
- Зарегистрируйте свое приложение для Android
- Добавить приложение Android для Amazon Appstore
- Добавить приложение для Android без магазина приложений
- Подписи приложений Android и ключи API
- Определение подписи приложения Android
- Получение ключа Android API
Зарегистрируйте свой логин в приложении Amazon
- Перейти к https://login.amazon.com.
- Если вы ранее регистрировались для входа в Amazon, нажмите Консоль приложения. В противном случае нажмите Зарегистрироваться. Вы будете перенаправлены в Seller Central, который обрабатывает регистрацию приложений для входа в систему с помощью. Если вы впервые используете Seller Central, вам будет предложено создать учетную запись Seller Central.
- Нажмите Зарегистрировать новое приложение. Зарегистрируйте свою заявку появится форма:
a. В Зарегистрируйте свою заявку форма, введите Имя и а Описание для вашего заявления.
The Имя имя, отображаемое на экране согласия, когда пользователи соглашаются поделиться информацией с вашим приложением. Это имя применяется к Android, iOS и webверсии вашего приложения на сайте.
b. Введите Уведомление о конфиденциальности URL для вашего приложения
The Уведомление о конфиденциальности URL расположение политики конфиденциальности вашей компании или приложения (например,ampле, http://www.example.com/privacy.html). Эта ссылка отображается для пользователей на экране согласия.
c. Если вы хотите добавить Изображение логотипа для вашего приложения нажмите Просматривать и найдите соответствующее изображение.
Этот логотип отображается на экране входа и согласия, чтобы представлять вашу компанию или webсайт. Логотип будет уменьшен до 50 пикселей в высоту, если он будет выше 50 пикселей; нет ограничений по ширине логотипа - Нажмите Сохранять. Ваш сampРегистрация le должна выглядеть примерно так:
После сохранения основных настроек приложения вы можете добавить настройки для конкретных webсайты и мобильные приложения, которые будут использовать этот вход с учетной записью Amazon.
Зарегистрируйте свое приложение для Android
Чтобы зарегистрировать приложение для Android, вы можете зарегистрировать приложение через Amazon Appstore (Добавить приложение Android для Amazon Appstore, п. 8) или напрямую через Вход через Amazon (Добавить Android Приложение без Appstore, п. 9). Когда ваше приложение будет зарегистрировано, у вас будет доступ к ключу API, который предоставит вашему приложению доступ к службе авторизации входа с помощью Amazon.
Примечание: Если вы планируете использовать Amazon Device Messaging в своем приложении для Android, свяжитесь с нами. lwa- support@amazon.com с:
- Адрес электронной почты учетной записи Amazon, которую вы использовали для входа в систему через Amazon.
- Адрес электронной почты учетной записи Amazon, которую вы использовали для регистрации в магазине приложений Amazon (если он отличается).
- Имя в вашем аккаунте продавца Central. (В Центре продавца нажмите Настройки> Информация об учетной записи> Информация о продавце, и используйте Отображаемое имя).
- Имя в вашей учетной записи разработчика Amazon Appstore. (На сайте распространения мобильных приложений нажмите Настройки > Компания Профиfile и используйте Имя разработчика или название компании).
Добавить приложение Android для Amazon Appstore
Следующие шаги добавят приложение Amazon Appstore в вашу учетную запись для входа в систему Amazon:
- На экране приложения нажмите Настройки Android. Если у вас уже зарегистрировано приложение для Android, найдите Добавить ключ API кнопка в Настройки Android
The Сведения о приложении для Android появится форма: - Выбирать Да в ответ на вопрос «Распространяется ли это приложение через Amazon Appstore?»
- Введите Этикетка вашего приложения для Android. Это не обязательно должно быть официальное название вашего приложения. Он просто определяет это конкретное приложение Android среди приложений и webсайты, зарегистрированные для вашего входа с помощью приложения Amazon.
- Добавьте свой Идентификатор Amazon Appstore.
- Если вы самостоятельно подписали свое приложение, добавьте информацию для самоподписи. Это позволит вам получить ключ API во время разработки без прямого использования Appstore:
a. Если ваше приложение не подписывается через Amazon Appstore, выберите Да в ответ на вопрос «Является ли это приложение самоподписанным?»
The Сведения о приложении для Android форма будет расширяться:
b. Введите ваш Имя пакета.
Оно должно совпадать с названием пакета вашего проекта Android. Чтобы определить имя пакета вашего Android-проекта, откройте проект в любом инструменте разработчика Android.
Открыть AndroidManifest.XML в проводнике пакетов и выберите Манифест таб. Первая запись - это имя пакета.
c. Войдите в приложение Подпись.
Это хеш-значение SHA-256, используемое для проверки вашего приложения. Подпись должна быть в виде 32 шестнадцатеричных пар, разделенных двоеточиями (например,ampль: 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). Видеть Подписи приложений Android и ключи API для шагов, которые вы можете использовать для извлечения подписи из вашего проекта. - Нажмите Сохранять.
Если разные версии вашего приложения имеют разные подписи или имена пакетов, например, для одной или нескольких тестовых версий и производственной версии, для каждой версии требуется собственный ключ API. От Настройки Android вашего приложения щелкните Добавить ключ API кнопку, чтобы создать дополнительные ключи для вашего приложения (по одному для каждой версии).
Подписи приложений Android и ключи API
Подпись приложения - это хеш-значение SHA-256, которое применяется к каждому приложению Android при его создании. Amazon использует подпись приложения для создания ключа API. Ключ API позволяет сервисам Amazon распознавать ваше приложение. Если вы используете Amazon Appstore для подписи своего приложения, ключ API предоставляется автоматически. Если вы не используете Amazon Appstore, вам нужно будет вручную управлять своим ключом API.
Подписи приложений хранятся в хранилище ключей. Как правило, для приложений Android существует хранилище ключей отладки и хранилище ключей выпуска. Хранилище ключей отладки создается плагином Android Development Tools для Eclipse и используется по умолчанию. Вы можете найти расположение хранилища ключей отладки в Eclipse, щелкнув Окно, а затем выбрав Настройки> Android> Сборка. На этом экране вы также можете добавить собственное хранилище ключей отладки. Для Android Studio из Строить меню, выберите Изменить типы сборки, затем перейдите к Подписание вкладка и найдите хранилище ключей отладки в Магазин File поле.
Хранилище ключей выпуска обычно создается при экспорте приложения Android для создания подписанного APK. file.
В процессе экспорта, если вы создаете новое хранилище ключей выпуска, вы выбираете его местоположение. От
по умолчанию он будет помещен в то же место, что и хранилище ключей отладки по умолчанию.
Если вы зарегистрировали свое приложение с помощью сигнатуры отладки во время разработки, вам нужно будет добавить новую настройку Android в свое приложение, когда вы будете готовы выпустить приложение. Новый параметр приложения должен использовать подпись из хранилища ключей выпуска.
Видеть Подписание ваших приложений на сайте developer.android.com для получения дополнительной информации.
Определите подпись приложения Android
- Если у вас подписанный APK file:
a. Разархивируйте APK file и извлечь CERT.RSA. (При необходимости вы можете переименовать расширение APK в ZIP).
b. В командной строке запустите:keytool -printcert-file CERT.RSA Кейтулис расположен в мусорное ведро каталог вашей установки Java.
- Если у вас есть хранилище ключей file:
a. В командной строке запустите:keytool -list -v -alias -keystorefileимя> Ключевой инструмент находится в каталоге bin вашей установки Java. Псевдоним - это имя ключа, используемого для подписи приложения.
b. Введите пароль для ключа и нажмите Входить. - Под Сертификат отпечатков пальцев, скопируйте SHA256 ценить.
Получить ключ Android API
Когда вы зарегистрировали настройку Android и предоставили подпись приложения, вы можете получить ключ API со страницы регистрации для своего приложения «Вход с помощью Amazon». Вам нужно будет поместить этот ключ API в file в вашем Android-проекте. Пока вы этого не сделаете, приложение не будет авторизовано для связи со службой авторизации Login with Amazon.
- Перейти к https://login.amazon.com.
- Нажмите Консоль приложения.
- В Приложения в поле слева выберите свой
- Найдите свое приложение для Android под Настройки Android (Если вы еще не зарегистрировали приложение для Android, см. Добавить приложение Android для Amazon Appstore).
- Нажмите Сгенерировать значение ключа API. Во всплывающем окне отобразится ваш ключ API. Чтобы скопировать ключ, нажмите Выбрать все выбрать весь
Примечание: Значение ключа API частично зависит от времени его создания. Таким образом, последующие генерируемые вами значения ключа API могут отличаться от оригинала. Вы можете использовать любое из этих ключевых значений API в своем приложении, поскольку все они действительны. - Видеть Добавьте свой ключ API в свой проект для получения инструкций по добавлению ключа API на Android
Создание входа в Amazon Project
В этом разделе вы узнаете, как создать новый проект Android для входа в систему через Amazon, настроить проект и добавить в проект код для входа пользователя с помощью входа в систему через Amazon. Мы будем описывать шаги для Android Studio, но вы можете применить аналогичные шаги к любому инструменту разработки IDE или Android по вашему выбору.
См. Следующие темы:
- Создайте новый вход в Amazon Project
- Установите логин с помощью библиотеки Amazon
- Включение Content Assist для входа с помощью библиотеки Amazon
- Установите сетевые разрешения для вашего приложения
- Добавьте свой ключ API в свой проект
- Удалите Sample App Пользовательское хранилище ключей отладки
- Обработка изменений конфигурации для вашей деятельности
- Добавьте действие авторизации в свой проект
- Добавьте в приложение логин с помощью кнопки Amazon
- Обработайте кнопку входа в систему и получите Profile Данные
- Проверка входа пользователя при запуске
- Очистить состояние авторизации и выйти из системы
- Вызов методов Amazon Authorization Manager синхронно
Создайте новый вход в Amazon Project
Если у вас еще нет проекта приложения для использования входа через Amazon, следуйте приведенным ниже инструкциям, чтобы создать его. Если у вас уже есть приложение, перейдите к Установите логин с помощью библиотеки Amazon .
- Запуск Инструмент для разработки под Android.
- Из File меню, выберите Новый и Проект.
- Введите Имя приложения и Название компании для вашего
- Введите Заявление и название компании в соответствии с названием пакета, которое вы выбрали при регистрации приложения с помощью входа в Amazon.
Если вы еще не зарегистрировали свое приложение, выберите Имя пакета а затем следуйте инструкциям в Регистрация с помощью входа в Amazon раздел после того, как вы создадите свой проект. Если имя пакета вашего приложения не совпадает с зарегистрированным именем пакета, ваш вход в систему с вызовами Amazon не будет успешным. - Выберите Минимальный требуемый SDK API 8: Android 2 (Froyo) или выше и щелкните Следующий.
- Выберите тип занятия, которое хотите создать, и нажмите Следующий.
- Заполните соответствующие данные и нажмите Заканчивать.
Теперь у вас будет новый проект в вашем рабочем пространстве, который вы можете использовать для вызова Login with Amazon.
Установите логин с помощью библиотеки Amazon
Если вы еще не загрузили Login with Amazon SDK для Android, см. Установите логин с помощью Amazon SDK для Android (стр. 4).
- Когда ваш проект открыт в Android Developer Tools, в Обозреватель проекта, щелкните правой кнопкой мыши свой Проект.
- Если папка называется библиотеки еще нет, создайте
- Скопировать войти с Amazon-sdk.jar file из File Система, а затем вставьте его в библиотеки каталог в вашем проекте / приложении.
- Щелкните правой кнопкой мыши войти с Amazon-sdk.jar, и проверьте Добавить как библиотеку
Включение Content Assist для входа в систему с помощью библиотеки Amazon в Eclipse
Чтобы включить поддержку поддержки содержимого Eclipse в проекте Android, необходимо использовать .характеристики file. Для получения дополнительных сведений о помощнике по содержанию см. Content / Code Assist на help.eclipse.org.
Чтобы включить поддержку поддержки содержимого Eclipse в проекте Android, необходимо использовать .характеристики file. Для получения дополнительных сведений о помощнике по содержанию см. Content / Code Assist на help.eclipse.org.
- In Проводник Windows, перейдите к документы папку для входа с Amazon SDK для Android и скопируйте папку в
- Открыв свой проект, перейдите в Проводник пакетов и выберите библиотеки Нажмите Редактировать в главном меню и выберите Вставить. Теперь у вас должен быть библиотеки \ документы каталог.
- Выберите библиотеки Нажмите File в главном меню и выберите Новый иFile.
- В Новый File диалог, введите логин-с-amazon-sdk.jar.properties и нажмите Заканчивать.
- Затмение должно открыться логин-с-amazon-sdk.jar.properties в текстовом редакторе. В текстовом редакторе добавьте следующую строку в file:
doc = docs - Из File меню, нажмите Сохранять.
- Возможно, вам потребуется перезапустить Eclipse, чтобы изменения вступили в силу.
Установите сетевые разрешения для вашего приложения
Чтобы ваше приложение могло использовать вход через Amazon, оно должно иметь доступ к Интернету и информацию о состоянии сети. Ваше приложение должно подтвердить эти разрешения в вашем манифесте Android, если это еще не сделано.
ПРИМЕЧАНИЕ: Приведенные ниже шаги процедуры относятся к добавлению разрешений в Eclipse. Если вы используете Android Studio или другую среду IDE, вы можете пропустить все пронумерованные шаги ниже. Вместо этого скопируйте строки кода, отображаемые под снимком экрана, и вставьте их в AndroidManifest.xml file, вне блока приложения.
- In Упаковка Исследователь, дважды щелкните xml.
- На Разрешения вкладка, щелкните Добавлять.
- Выбирать Использует разрешение и нажмите OK.
- Справа от Разрешения, найдите Атрибуты для разрешения на использование
- В Имя введите, введите разрешение. ИНТЕРНЕТ или выберите его из раскрывающегося списка.
- На Разрешения вкладка, щелкните Добавлять
- Выбирать Использует разрешение и нажмите OK.
- В Имя введите, введите разрешение.ACCESS_NETWORK_STATE или выберите его из раскрывающегося списка
- Из File меню, нажмите Сохранять.
Теперь ваши разрешения манифеста должны иметь следующие значения:
В AndroidManifest.xml tab, теперь вы должны увидеть эти записи под элементом manifest:
Добавьте свой ключ API в свой проект
Когда вы регистрируете свое приложение Android с помощью входа в систему Amazon, вам назначается ключ API. Это идентификатор, который Amazon Authorization Manager будет использовать для идентификации вашего приложения для входа в службу авторизации Amazon. Если вы используете Amazon Appstore для подписи своего приложения, Appstore предоставит ключ API автоматически. Если вы не используете Amazon Appstore, Amazon Authorization Manager загружает это значение во время выполнения из api_key.txt file в ресурсы каталог.
- Если у вас еще нет ключа API, следуйте инструкциям в Получить ключ Android API (стр. 11).
- Когда ваш проект ADT открыт, из File меню, нажмите Новый и выберите Текст без названия File. Теперь у вас должно быть окно редактора для текста file названный Без названия 1. Добавьте свой ключ API в текст
- Из File меню, нажмите Сохранить как.
- В Сохранить как диалоговом окне выберите ресурсы каталог вашего проекта в качестве родительской папки. Для File имя, входить текст.
Удалите Sample App Пользовательское хранилище ключей отладки
ПРИМЕЧАНИЕ: Этот шаг требуется, только если вы используете Eclipse; если вы используете Android Studio, пропустите этот раздел.
Если вы установили Login with Amazon для Android sampЕсли приложение находится в той же рабочей области, которую вы используете для своего приложения Android, у вас может быть настроено настраиваемое хранилище ключей отладки для этой рабочей области. Вам необходимо очистить настраиваемое хранилище ключей отладки, чтобы использовать собственный ключ API.
- В главном меню нажмите Окно и выберите Предпочтения.
- В Предпочтения диалог, выберите андроид и Строить.
- Очистить Обычай отладочное хранилище ключей
- Нажмите OK.
Обработка изменений конфигурации для вашей деятельности
Если пользователь изменит ориентацию экрана или изменит состояние клавиатуры устройства во время входа в систему, он предложит перезапустить текущее действие. Этот перезапуск неожиданно закроет экран входа в систему. Чтобы предотвратить это, вы должны установить действие, которое использует метод авторизации для обработки этих изменений конфигурации вручную. Это предотвратит перезапуск активности.
- In Упаковка Исследователь, дважды щелкните xml.
- В Приложение найдите действие, которое будет обрабатывать вход через Amazon (например,ampле, Основное занятие).
- Добавьте следующий атрибут к действию, которое вы нашли на шаге 2:
android: configChanges = ”keyboard | keyboardHidden | Ориентация” Или для API 13 или выше:
android: configChanges = ”keyboard | keyboardHidden | Ориентация | screenSize” - Из File меню, нажмите Сохранять
Теперь, когда происходит изменение ориентации клавиатуры или устройства, Android вызывает onConfigurationChanged метод вашей деятельности. Вам не нужно реализовывать эту функцию, если нет аспекта этих изменений конфигурации, который вы хотите обработать для своего приложения.
Когда пользователь нажимает кнопку «Войти через Amazon», API запускает web браузер, чтобы предоставить пользователю страницу входа и согласия. Чтобы эта активность браузера работала, вы должны добавить AuthorizationActivity в свой манифест.
- In Упаковка Исследователь, дважды щелкните xml.
- В Приложение раздел, добавьте следующий код, заменив «com.example.app »на имя вашего пакета для этого приложения:
<активность Android:имя=
«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” />
<данные
android: host = ”com.example.app »android: scheme =» amzn »/>
ваше приложение. В этом разделе приведены шаги по загрузке официального образа входа с Amazon и его сопряжения с Android ImageButton.
- Добавьте в приложение стандартный ImageButton.
Дополнительные сведения о кнопках Android и классе ImageButton см. В разделе Кнопки на сайте developer.android.com. - Дайте вашей кнопке идентификатор.
В объявлении XML кнопки установите для атрибута android: id значение @ + id / login_with_amazon. Для бывшегоampль:android: id = ”@ + id / login_with_amazon” - Выберите изображение кнопки.
Проконсультируйтесь с нашим логином через Amazon Рекомендации по стилю для списка кнопок, которые вы можете использовать в своем приложении. Скачать копию LWA_Android.zip file. Извлеките копию предпочитаемой кнопки для каждой плотности экрана, поддерживаемой вашим приложением (xxhdpi, xhdpi, hdpi, mdpi или tvdpi). Для получения дополнительной информации о поддержке нескольких плотностей экрана в Android см. Альтернативные макеты в теме «Поддержка нескольких экранов» на сайте разработчика.android.com. - Скопируйте соответствующее изображение кнопки fileк вашему проекту.
Для каждой поддерживаемой плотности экрана (xhdpi, hdpi, mdpi или ldpi) скопируйте загруженную кнопку в res / drawable каталог для этой плотности экрана. - Объявите изображение кнопки.
В объявлении XML кнопки установите для атрибута android: src имя выбранной кнопки. Для бывшегоampль:android: src = "@ drawable / btnlwa_gold_loginwithamazon.png" 6. Загрузите приложение и убедитесь, что на кнопке теперь есть изображение «Войти через Amazon». Вы должны убедиться, что кнопка отображается правильно для каждой поддерживаемой вами плотности экрана.
В этом разделе объясняется, как вызвать авторизацию и getPro.file API-интерфейсы для входа пользователя и получения его профиfile данные. Это включает в себя создание прослушивателя onClick для вашей кнопки входа с помощью Amazon в методе onCreate вашего приложения.
- Добавьте Login with Amazon в свой Android-проект. Видеть Установите логин с помощью библиотеки Amazon .
- Импортируйте логин с Amazon API в свой источник
Чтобы импортировать Login with Amazon API, добавьте следующие операторы импорта в свой источник file:import com.amazon.identity.auth.device.AuthError; Импортировать
com.amazon.identity.auth.device.authorization.api.
AmazonAuthorizationManager; Импортировать
com.amazon.identity.auth.device.authorization.api. прослушиватель авторизации; импортировать com.amazon.identity.auth.device.authorization.api.AuthzConstants; - Инициализировать Диспетчер авторизации Amazon.
Вам нужно будет объявить AmazonAuthorizationManager переменную и создайте новый экземпляр класса. Для создания нового экземпляра требуется только текущий контекст приложения и пустой пакет. Лучшее место для инициализации AmazonAuthorizationManager находится в onCreate метод вашей деятельности. Для бывшегоampль: - Создайте AuthorizeLiistener.
авторизелистенер реализует интерфейс AuthorizatioinListener и обрабатывает результат авторизовать вызов. Он содержит три метода: oinSuccess, ошибка, и onCanceil. Каждый метод получает либо Bundle, либо Ошибка авторизации объект.частный класс AuthorizeListener реализует AuthorizationListener {
/ * Авторизация прошла успешно. * /
@Override
public void onSuccess (Bundle response) {
}
/ * Произошла ошибка при попытке авторизовать приложение.
*/
@Override
public void onError (AuthError ae) {
}
/ * Авторизация была отменена до ее завершения. * /
@Override
public void onCancel (причина пакета) {
}
} - Вызов AmazonAuthorizationManager.authorize.
В onClick обработчик для вашей кнопки Login with Amazon, вызовите authorize, чтобы предложить пользователю войти в систему и авторизовать ваше приложение.
Этот метод отвечает за авторизацию клиента одним из следующих способов:- Переключается на системный браузер и позволяет клиенту войти в систему и дать согласие на запрошенное
- Переключается на web view в безопасном контексте, чтобы позволить клиенту войти в систему и дать согласие на запрошенное
Этот безопасный контекст для №2 в настоящее время доступен в виде приложения Amazon Shopping на устройствах Android. Созданные Amazon устройства под управлением Fire OS (например,ample Kindle Fire, Fire Phone и Fire TV) всегда используйте эту опцию, даже если на устройстве нет приложения Amazon Shopping. Из-за этого, если клиент уже вошел в приложение Amazon Shopping, этот API пропустит страницу входа, что приведет к Единый вход опыт для клиента.
Когда ваше приложение авторизовано, оно авторизуется для одного или нескольких наборов данных, известных как области применения. Первый параметр - это массив областей, охватывающих данные пользователя, которые вы запрашиваете у входа в систему через Amazon. Когда пользователь впервые входит в ваше приложение, ему будет представлен список запрашиваемых вами данных и его запрос на утверждение. Вход через Amazon в настоящее время поддерживает три области: profile, который содержит имя пользователя, адрес электронной почты и идентификатор учетной записи Amazon; проfile:ID пользователя, который содержит только идентификатор учетной записи Amazon; а также Почтовый индекс, который содержит почтовый индекс пользователя.
Лучший способ вызвать авторизацию - асинхронно, поэтому вам не нужно блокировать поток пользовательского интерфейса или создавать собственный рабочий поток. Звонить авторизоваться асинхронно, передать объект, который поддерживает АвторизацияСлушательИнтерфейс в качестве последнего параметра:частный AmazonAuthorizationManager mAuthManager; @Override
защищенный void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
mAuthManager = новый AmazonAuthorizationManager (это, Bundle.EMPTY);// Находим кнопку с идентификатором login_with_amazon
// и настраиваем обработчик кликов
mLoginButton = (Кнопка) найтиViewById (R.id.login_with_amazon);
mLoginButton.setOnClickListener (новый OnClickListener () {
@Override
общественная недействительность onClick (View в) {
mAuthManager.authorize (
new String [] {«pro»file","Почтовый Код"},
Bundle.EMPTY, новый AuthorizeListener ());
}
});
} - Создать ПрофиfileСлушатель.
ПрофиfileСлушатель это наше имя для класса, который реализует APIListener интерфейс и обработает результат получитьпроfile вызов. APIListener содержит два метода: при успехе и onError (не поддерживает onCancel потому что нет возможности отменить получитьпроfile вызов). при успехе получает объект Bundle с помощью profile данные, в то время как onEiror получает Ошибка авторизации объект с информацией об ошибке.частный класс ProfileСлушатель реализует APIListener { / * getProfile завершено успешно. * / @Override
public void onSuccess (Bundle response) {}
/ * При попытке получить pro произошла ошибкаfile. * / @Override
public void onError (AuthError ae) {
}
} - Осуществлять при успехе для вашего Авторизовать прослушиватель.
In при успехе, вызов AmazonAuthorizationManager.getProfile найти клиента профиfile. получитьпроfile, как и authorize, использует интерфейс асинхронного слушателя. Для получитьпроfile, этот интерфейс APIListener, а неAuthorizationListener.
/ * Авторизация прошла успешно. * / @Override
public void onSuccess (Bundle response) {
mAuthManager.getProfile(новый ProfileListener ());} - Осуществлять onSuccessfor твой ПрофиfileСлушатель.
onSuccesshas две основные задачи: найти профиfile данные из пакета ответов и для передачи данных в пользовательский интерфейс. обновлениеProfileДанные гипотетическая функция, которую ваше приложение может реализовать для отображения профессиональныхfile подробности. setLoggedInState, другая гипотетическая функция, будет указывать на то, что пользователь вошел в систему, и давать ему средства выход из системы.
Чтобы получить профиfile данные из Bundle, мы используем имена, хранящиеся в Константы Authz класс. В при успехе комплект содержит проfile данные в BUNDLE_KEY.PROFILE пучок.
В рамках профиfile пакет, данные области индексируются в ПРОFILE_KEY.NAME, PROFILE_KEY.EMAIL, ПРОFILE_KEY.USER_ID, и ПРОFILE_KEY.ПОЧТОВЫЙ_КОД. PROFILE_KEY.ПОЧТОВЫЙ_КОД включается только в том случае, если вы запрашиваете Почтовый индекс объем.@Override
public void onSuccess (Bundle response) {
// Получаем нужные нам данные из Bundle Bundle profileПакет = response.getBundle (
AuthzConstants.BUNDLE_KEY.PROFILE.вал);
Строка name = profileBundle.getString (
AuthzConstants.PROFILE_KEY.NAME.val);
Строка email = profileBundle.getString (
AuthzConstants.PROFILE_KEY.EMAIL.val);
Строковый аккаунт = profileBundle.getString (
AuthzConstants.PROFILE_KEY.USER_ID.val);
Строка zipcode = profileBundle.getString (
AuthzConstants.PROFILE_KEY.ПОЧТОВЫЙ_КОД.val);
runOnUiThread (новый Runnable () {@Override
public void run () {
обновлениеProfileДанные (имя, адрес электронной почты, аккаунт, почтовый индекс);
}
});
} - Осуществлять onError для вашего ПрофиfileСлушатель.
onError включает в себя Ошибка авторизации объект, содержащий подробную информацию об ошибке./ * При попытке получить pro произошла ошибкаfile. * / @Override
public void onError (AuthError ae) {
/ * Повторите попытку или проинформируйте пользователя об ошибке * /
} - Осуществлять onErrorfor твой Авторизовать прослушиватель.
/ * Произошла ошибка при попытке авторизовать приложение.
*/
@Override
public void onError (AuthError ae) {
/ * Сообщаем пользователю об ошибке * /
} - Осуществлять onCancelfor твой Авторизовать прослушиватель.
Поскольку процесс авторизации представляет пользователю экран входа в систему (и, возможно, экран согласия) в web браузер (или webview), у пользователя будет возможность отменить вход в систему или уйти от web страница. Если они явно отменяют процесс входа в систему, onCancel называется. Если onCancelis называется, вы захотите сбросить свой пользовательский интерфейс./ * Авторизация была отменена до ее завершения. * /
@Override
public void onCancel (причина пакета) {
/ * сбрасываем пользовательский интерфейс в состояние готовности к входу * /
}Примечание: Если пользователь уходит с экрана входа в систему в браузере или web view и переключится обратно в ваше приложение, SDK не обнаружит, что вход не был завершен. Если вы обнаружите активность пользователей в своем приложении до завершения входа в систему, вы можете предположить, что они ушли из браузера, и отреагируют соответствующим образом.
Проверка входа пользователя при запуске
Если пользователь входит в ваше приложение, закрывает приложение и перезапускает его позже, приложение по-прежнему имеет право на получение данных. Пользователь не выходит из системы автоматически. При запуске вы можете показать, что пользователь вошел в систему, если ваше приложение все еще авторизовано. В этом разделе объясняется, как использовать getToken, чтобы узнать, авторизовано ли приложение.
- Создать ТокенПрослушиватель.
ТокенПрослушиватель реализует APIListener интерфейс и обработает результат вызова getToken. APIListener содержит два метода: при успехе и onError (не поддерживает onCancel потому что нет возможности отменить получитьтокен вызов). при успехе получает объект Bundle с данными токена, а onError получает Ошибка авторизации объект с информацией об ошибке.частный класс TokenListener реализует APIListener { / * getToken успешно завершен. * / @Override
public void onSuccess (Bundle response) {
}
/ * При попытке получить токен произошла ошибка. * / @Override
public void onError (AuthError ae) {
}
} - В onStart метод вашей деятельности, вызовите получитьтокен чтобы узнать, авторизовано ли приложение.
получитьтокен извлекает необработанный токен доступа, который AmazonAuthorizationManager использует для доступа к профессиональному клиентуfile. Если значение токена не равно NULL, приложение все еще авторизовано и вызов получитьпроfile должно получиться. getTokenrequires те же объемы, которые вы запрашивали в своем звонке для авторизации.
getTokensupports асинхронные вызовы так же, как и в getProfile, поэтому вам не нужно блокировать поток пользовательского интерфейса или создавать собственный рабочий поток. Чтобы вызвать getToken асинхронно, передайте объект, поддерживающий APIListener интерфейс в качестве последнего параметра.@Override
protected void onStart () {
супер.onStart
(); mAuthManager.getToken (новый String [] {«profile","Почтовый Код"},
новый
TokenListener ());
} - Осуществлять при успехе для вашего ТокенПрослушиватель.
onSuccesshas две задачи: получить токен из Bundle и, если токен действителен, вызвать получитьпроfile.
Чтобы получить данные токена из Bundle, мы используем имена, хранящиеся в Константы Authz класс. В при успехе bundle содержит данные токена в значении BUNDLE_KEY.TOKEN. Если это значение не равно нулю, этот exampле звонки получитьпроfile используя тот же слушатель, который вы объявили в предыдущем разделе (см. шаги 7 и 8)./ * getToken успешно завершен. * /
@Override
public void onSuccess (Bundle response) {
последняя строка authzToken =
response.getString (AuthzConstants.BUNDLE_KEY.TOKEN.val);
если (! TextUtils.isEmpty (authzToken))
{
// Получить профиfile данные
mAuthManager.getProfile(новый ProfileСлушатель ());
}
}
Метод clearAuthorizationState очищает данные авторизации пользователя из локального хранилища данных AmazonAuthorizationManager. Пользователь должен будет снова войти в систему, чтобы приложение могло получить версию Pro.file данные. Используйте этот метод для выхода пользователя из системы или для устранения проблем со входом в приложение.
- Реализовать выход
Когда пользователь успешно вошел в систему, вы должны предоставить механизм выхода, чтобы он мог очистить свою профессиональнуюfile данные и ранее утвержденные объемы. Ваш механизм может быть гиперссылкой или пунктом меню. Для этого бывшегоampле мы создадим onClick метод для кнопки. - В обработчике выхода из системы вызовите очистить состояние авторизации. ClearAuthorizationState удалит данные авторизации пользователя (токены доступа, profile) из местного магазина. ClearAuthorizationStatetakes нет параметров кроме APIListener вернуть успех или
- Объявить анонимным API-прослушиватель.
Анонимные классы - полезная альтернатива объявлению нового класса для реализации API-прослушиватель. Видеть Обработайте кнопку входа в систему и получите Profile Данные (стр.17) для exampLethat объявляет классы слушателей. - Осуществлять при успехе внутри APIListener
Когда ClearAuthorizationState успешно, вам следует обновить свой пользовательский интерфейс, чтобы удалить ссылки на пользователя и предоставить механизм входа, который пользователи могут использовать для повторного входа в систему. - Осуществлять onError внутри API-прослушиватель.
If ClearAuthorizationStater Returns ошибка, вы можете позволить пользователю снова выйти из системы.@Override
защищенный void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
/ * Предыдущие объявления onCreate опущены * /
// Находим кнопку с идентификатором выхода и настраиваем обработчик кликов
mLogoutButton = (Кнопка) найтиViewById (R.id.logout);
mLogoutButton.setOnClickListener (новый OnClickListener () {
@Override
общественная недействительность onClick (View в) {
mAuthManager.clearAuthorizationState (новый
APIListener () {
@Override
public void onSuccess (результаты пакета) {
// Установить состояние выхода из системы в пользовательском интерфейсе
}
@Override
public void onError (AuthError authError) {
// Регистрируем ошибку
}
});
}
});
}
Некоторый AmazonAuthorizationManager методы возвращают объект Future. Это позволяет вам вызывать метод синхронно вместо передачи слушателя в качестве параметра. Если вы действительно используете объект Future, вам не следует использовать его в потоке пользовательского интерфейса. Если вы заблокируете поток пользовательского интерфейса более чем на пять секунд, вы получите сообщение ANR (приложение не отвечает). В ручке кнопки входа в систему и получить Profile Данные exampле, при успехе метод для авторизелистенер вызывается с рабочим потоком, созданным Диспетчер авторизации Amazon. Это означает, что можно безопасно использовать этот поток для вызова getPiro.file синхронно. Чтобы сделать синхронный вызов, присвойте возвращаемое значение из получить Пироfile к объекту Future и вызовите гиетметод на этом объекте, чтобы дождаться завершения метода.
Будущее.получить возвращает объект Bundle, содержащий БУДУЩЕЕ_ТИП ценность УСПЕХ, ОШИБКА, or ОТМЕНА. Если метод был успешным, тот же комплект будет содержать PROFILE_KEY значения для профессионаловfile данные. Для бывшегоampль:
/ * Авторизация прошла успешно. * / @Override public void onSuccess (Bundle response) { Future <Bundle> future = mAuthManager.getProfile(нулевой); Bundle result = future.get (); // Узнаем, был ли вызов успешным, и получаем profile Объект future_type = result.get (AuthzConstants.BUNDLE_KEY.FUTURE.val); если (future_type == AuthzConstants.FUTURE_TYPE.SUCCESS) { Имя строки = result.getString (AuthzConstants.PROFILE_KEY.NAME.val); Строка email = result.getString (AuthzConstants.PROFILE_KEY.EMAIL.val); Строка account = result.getString (AuthzConstants.PROFILE_KEY.USER_ID.val); Строка zipcode = result.getString (AuthzConstants.PROFILE_KEY.ПОЧТОВЫЙ_КОД.val); runOnUiThread (новый Runnable () {@Override public void run () {updateProfileДанные (имя, адрес электронной почты, учетная запись, индекс); } }); } иначе, если (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Получаем объект ошибки AuthError authError = AuthError.extractError (результат); / * Используйте authError для диагностики ошибки * / } |
Войдите в систему с помощью руководства по началу работы с Amazon для Android - Скачать [оптимизировано]
Войдите в систему с помощью руководства по началу работы с Amazon для Android - Скачать