Войдите в систему с помощью руководства по началу работы с Amazon для приложений Android

Войти через Amazon: руководство по началу работы для Android
Авторские права © 2017 Amazon.com, Inc. или ее аффилированные лица. Все права защищены.
Amazon и логотип Amazon являются товарными знаками Amazon.com, Inc. или ее дочерних компаний. Все другие товарные знаки, не принадлежащие Amazon, являются собственностью соответствующих владельцев.
Установите Android Developer Tools
Вход с помощью Amazon SDK для Android поможет вам добавить вход с помощью Amazon в приложения Android, Fire TV и Fire Tablet. Мы рекомендуем вам использовать Login with Amazon SDK для Android с Android Studio. Инструкции по установке Android Studio и настройке Android SDK см. В разделе Получить Android SDK на сайте developer.android.com.
Чтобы использовать Login with Amazon SDK для Android, ваше приложение Android должно соответствовать одному из следующих минимальных требований:
- Минимальная версия SDK (minSdkVersion) Android 0 (уровень API 11) или выше.
- Минимальная версия SDK (minSdkVersion) Android 2.2 (уровень API 8) или выше с v4 Поддержка Android Библиотека.
После установки Android SDK найдите Менеджер SDK приложение в вашей установке Android. Для разработки для входа в систему с Amazon вы должны использовать SDK Manager, чтобы установить минимальные требования SDK, указанные выше. Видеть Добавление пакетов SDK на сайте developer.android.com для получения дополнительной информации об использовании SDK Manager.
После установки 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 в каталог на вашем жестком диске. Вы должны увидеть документы и а либ подкаталог.
- Открыть документы / index.html к view Справочник по входу с помощью Amazon Android API.
- Видеть Установите логин с помощью библиотеки Amazon для получения инструкций о том, как добавить библиотеку и документацию на Android
Когда установлен вход с помощью Amazon SDK для Android, вы можете Создать новый логин с Amazon Проект После Вас Зарегистрируйтесь с помощью входа в систему с Amazon.
Пробегите Sampле приложение
Чтобы запустить sample приложение, импортируйте sample в рабочее пространство AndroidStudio.
- Скачать SampleLoginWithAmazonAppForAndroid-src.zip и извлечь files в каталог на вашем жестком диске
- Запустите Android Studio и выберите Откройте существующий проект Android Studio.
- Перейдите к SampleLoginWithAmazonApp каталог, полученный после распаковки загруженного zip-архива file на шаге 1.
- Из Строить меню, нажмите Сделать проекти подождите, пока проект завершит построение билдинга.
- Из Бегать меню, нажмите Бегать и затем нажмите кнопку SampleLoginWithAmazonApp.
- Выберите эмулятор или подключенное устройство Android и нажмите Бегать.
Зарегистрируйтесь с помощью Войти через Amazon
Прежде чем вы сможете использовать функцию «Войти через Amazon» на webсайте или в мобильном приложении необходимо зарегистрировать приложение с помощью Login with Amazon. Ваше приложение Login with Amazon — это регистрация, которая содержит основную информацию о вашем бизнесе, а также информацию о каждом webсайт или мобильное приложение, которое вы создаете, поддерживающее функцию «Войти через Amazon». Эта бизнес-информация отображается пользователям каждый раз, когда они используют функцию «Войти через Amazon» на вашем webсайт или мобильное приложение. Пользователи увидят название вашего приложения, ваш логотип и ссылку на вашу политику конфиденциальности. Эти шаги демонстрируют, как зарегистрировать приложение для Android для использования в системе «Войти через Amazon».
Зарегистрируйте свой логин в приложении Amazon
- Перейти к https://login.amazon.com.
- Если вы ранее регистрировались для входа в Amazon, нажмите Консоль приложения. В противном случае нажмите Зарегистрироваться. Вы будете перенаправлены в Seller Central, который обрабатывает регистрацию приложений для входа в систему с помощью. Если вы впервые используете Seller Central, вам будет предложено создать учетную запись Seller Central.
- Нажмите Зарегистрировать новое приложение. Зарегистрируйте свою заявку появится форма:
a. В Зарегистрируйте свою заявку форма, введите Имя и а Описание для вашего заявления.
The Имя имя, отображаемое на экране согласия, когда пользователи соглашаются поделиться информацией с вашим приложением. Это имя применяется к Android, iOS и webверсии вашего приложения на сайте. В Описание помогает вам различать каждый ваш логин с приложениями Amazon и не отображается для пользователей.
b. Введите Уведомление о конфиденциальности URL для вашего заявления.
The Уведомление о конфиденциальности URL расположение политики конфиденциальности вашей компании или приложения (например,ampле, http://www.example.com/privacy.html). Эта ссылка отображается для пользователей на экране согласия.
c. Если вы хотите добавить Изображение логотипа для вашего приложения нажмите Просматривать и найдите соответствующее изображение. - Нажмите Сохранять. Ваш сampРегистрация le должна выглядеть примерно так:

После сохранения основных настроек приложения вы можете добавить настройки для конкретных webсайты и мобильные приложения, которые будут использовать этот вход с учетной записью Amazon.
Добавьте настройки Android в свое приложение
Чтобы зарегистрировать приложение для Android, вы можете зарегистрировать приложение через Amazon Appstore (Добавить приложение Android для Amazon Appstore) или напрямую через Вход через Amazon (Добавить Android Приложение без Appstore). Когда ваше приложение будет зарегистрировано, у вас будет доступ к ключу API, который предоставит вашему приложению доступ к службе авторизации входа с помощью Amazon.
Примечание: Если вы планируете использовать Amazon Device Messaging в своем приложении для Android, свяжитесь с нами. lwa-support@amazon.com с:
- Адрес электронной почты учетной записи Amazon, которую вы использовали для входа в систему с помощью
- Адрес электронной почты учетной записи Amazon, которую вы использовали для регистрации в магазине приложений Amazon (если он отличается).
- Имя в вашем аккаунте продавца Central (в центре продавца нажмите Настройки> Информация об учетной записи> Информация о продавце, и используйте Отображаемое имя).
- Имя в вашей учетной записи разработчика Amazon Appstore (на сайте распространения мобильных приложений щелкните Настройки> Компания Profile и используйте Имя разработчика или название компании).
Добавить приложение 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:23:45:67:89:ab:cd:ef). Видеть Подписи приложений Android и ключи API для шагов, которые вы можете использовать для извлечения подписи из вашего проекта.
6. Щелкните Сохранять.
Добавить приложение для Android без Appstore
Если вы хотите зарегистрировать свое приложение для Android без использования Amazon Appstore, вы можете выполнить следующие шаги, чтобы зарегистрировать имя пакета и подпись с помощью входа в Amazon:
- На экране приложения нажмите Настройки Android. Если у вас уже зарегистрировано приложение для Android, найдите Добавить ключ API кнопка в Настройки Android The Сведения о приложении для Android появится форма:

- Выбирать Нет в ответ на вопрос «Распространяется ли это приложение через Amazon Appstore?»
- Введите Этикетка вашего Android-устройства
Это не обязательно должно быть официальное название вашего приложения. Он просто определяет это конкретное приложение Android среди приложений и webсайты, которые вы зарегистрировали. - Введите ваш Имя пакета. Оно должно совпадать с названием пакета вашего проекта Android.
Чтобы определить имя пакета вашего Android-проекта, откройте проект в любом инструменте разработчика Android. Открыть AndroidManifest.XML в проводнике пакетов и выберите Манифест таб. Первая запись - это Упаковка имя. - Войдите в приложение Подпись.
Это хеш-значение 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:23:45:67:89:ab:cd: ef). Увидеть Подписи приложений Android и ключи API в разделе ниже приведены шаги, которые вы можете использовать для извлечения подписи из вашего проекта. - Нажмите Сохранять.
Если разные версии вашего приложения имеют разные подписи или имена пакетов, например, для одной или нескольких тестовых версий и производственной версии, для каждой версии требуется собственный ключ API. От Настройки Android вашего приложения щелкните Добавить ключ API кнопку, чтобы создать дополнительные ключи для вашего приложения (по одному для каждой версии).
Подписи приложений Android и ключи API
Подпись приложения - это хеш-значение SHA-256, которое применяется к каждому приложению Android при его создании. Amazon использует подпись приложения для создания ключа API. Ключ API позволяет сервисам Amazon распознавать ваше приложение. Если вы используете Amazon Appstore для подписи своего приложения, ключ API предоставляется автоматически. Если вы не используете Amazon Appstore, вам нужно будет вручную управлять своим ключом API.
Подписи приложений хранятся в хранилище ключей. Как правило, для приложений 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имя> Ключевой инструмент находится в мусорное ведро каталог вашей установки 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 по вашему выбору.
Это руководство требует понимания Деятельность - ключевая концепция разработки Android-приложений. Узнать больше о Деятельность и Фрагменты деятельности на сайте developer.android.com.
Создайте новый вход в Amazon Project
Если у вас еще нет проекта приложения для использования входа через Amazon, следуйте приведенным ниже инструкциям, чтобы создать его. Если у вас уже есть приложение, перейдите к Установите логин с помощью библиотеки Amazon.
- Запуск андроид
- Из File меню, выберите Новый и Проект.
- Введите Имя приложения и Название компании для вашего
- Введите Приложение и Название компании в соответствии с названием пакета, которое вы выбрали при регистрации приложения с помощью входа в Amazon.
Если вы еще не зарегистрировали свое приложение, выберите Имя пакета а затем следуйте инструкциям в Регистрация с помощью входа в Amazon раздел после того, как вы создадите свой проект. Если имя пакета вашего приложения не совпадает с зарегистрированным именем пакета, ваш вход в систему с вызовами Amazon не будет успешным. - Выберите Минимальный требуемый SDK API 11: Android 3.0 (Honeycomb) или выше и нажмите Следующий. В качестве альтернативы вы можете использовать Минимальный требуемый SDK API 8: Android 2.2 (Froyo) или выше при использовании v4 Библиотека поддержки Android.
- Выберите тип занятия, которое хотите создать, и нажмите Следующий.
- Заполните соответствующие данные и нажмите Заканчивать.
Теперь у вас будет новый проект в вашем рабочем пространстве, который вы можете использовать для вызова Login with Amazon.
Установите логин с помощью библиотеки Amazon
Если вы еще не загрузили Login with Amazon SDK для Android, см. Установите логин с помощью Amazon SDK для Android.
- Используя file систему на вашем компьютере, найдите войти с Amazon-sdk.jar file в Login with Amazon SDK для Android. Скопируйте его в буфер обмена.
- Открыв проект в Android Studio, откройте Проект View.
- Щелкните правой кнопкой мыши родительский каталог для вашего проекта / приложения в Проект View и выберите Вставить.
- Щелкните правой кнопкой мыши войти с Amazon-sdk.jar в Проект View и выберите Добавить как библиотеку.
Установите сетевые разрешения для вашего приложения
Чтобы ваше приложение могло использовать вход через Amazon, оно должно иметь доступ к Интернету и информацию о состоянии сети. Ваше приложение должно подтвердить эти разрешения в вашем манифесте Android, если это еще не сделано.
- Из Проект View, дважды щелкните xml, чтобы открыть его.
- Скопируйте строки кода, показанные ниже, и вставьте их в xml file, вне блока приложения:
Exampль:

Добавьте свой ключ API в свой проект
Когда вы регистрируете свое приложение Android с помощью входа в систему Amazon, вам назначается ключ API. Это идентификатор, который Amazon Authorization Manager будет использовать для идентификации вашего приложения для входа в службу авторизации Amazon. Если вы используете Amazon Appstore для подписи своего приложения, Appstore предоставит ключ API автоматически. Если вы не используете Amazon Appstore, Amazon Authorization Manager загружает это значение во время выполнения из api_key.txt file в ресурсы каталог.
- Если у вас еще нет ключа API, следуйте инструкциям в Получить ключ Android API.
- Из Проект View в Android Studio щелкните правой кнопкой мыши папку с ресурсами, затем щелкните Новый и выберите File. Если у вас нет папки с ресурсами, щелкните правой кнопкой мыши родительский каталог для вашего проекта и выберите Новый, Папка, Папка с активами.
- Назовите file api_key.txt.
- Теперь у вас должно быть окно редактора для текста file названный текст. Добавьте свой ключ API в текст file.
- В File меню, нажмите Сохранять.
Примечание: Если текстовый редактор добавляет дополнительные символы в ваш api_key.txt file (например, метка порядка байтов), вы можете увидеть ERROR_ACCESS_DENIED при попытке подключиться к службе авторизации входа в систему Amazon. В этом случае попробуйте удалить все начальные и конечные пробелы, перевод строки или подозрительные символы. (Например,ample, редактор, использующий метку порядка байтов, может добавить 0xEF 0xBB 0xBF или другие шестнадцатеричные последовательности в начало вашего api_key.txt file). Вы также можете попробовать получить новый ключ API.
Обработка изменений конфигурации для вашей деятельности
Если пользователь изменит ориентацию экрана или изменит состояние клавиатуры устройства во время входа в систему, он предложит перезапустить текущее действие. Этот перезапуск неожиданно закроет экран входа в систему. Чтобы предотвратить это, вы должны установить действие, которое использует метод авторизации для обработки этих изменений конфигурации вручную. Это предотвратит перезапуск активности.
- In Упаковка Исследователь, дважды щелкните xml.
- В Приложение найдите действие, которое будет обрабатывать вход через Amazon (форексampле, Основная деятельность),
- Добавьте следующий атрибут к действию, которое вы нашли на шаге 2:
android: configChanges = ”keyboard | keyboardHidden | Ориентация” Или для API 13 или выше:
android: configChanges = ”keyboard | keyboardHidden | Ориентация | screenSize” - Из File меню, нажмите Сохранять
Теперь, когда происходит изменение ориентации клавиатуры или устройства, Android вызывает метод onConfigurationChanged для вашего действия. Вам не нужно реализовывать эту функцию, если нет аспекта этих изменений конфигурации, который вы хотите обработать для своего приложения.
Добавьте WorkflowActivity в свой проект
Когда пользователь нажимает кнопку «Войти через Amazon», API запускает web браузер, чтобы предоставить пользователю страницу входа и согласия. Чтобы это действие браузера работало, вы должны добавить WorkflowActivity в свой манифест.
Если вы ранее интегрировались с Login with Amazon SDK или у вас есть действие com.amazon.identity.auth.device.authorization.AuthorizationActivity, объявленное в вашем AndroidManifest.xml, его необходимо удалить и заменить на WorkflowActivity.
- In Упаковка Исследователь, дважды щелкните AndroidMailfest.xml ..
- В Приложение раздел добавьте следующий код.
<активность Android:имя=
«Com.amazon.identity.auth.device.workflow.WorkflowActivity» android: theme = »@ android: style / Theme.NoDisplay» android: allowTaskReparenting = «true» android: launchMode = «singleTask»>
<action android:name="android.intent.action.VIEW” />
<данные
android: host = "$ {applicationId}" android: scheme = "amzn" />
Примечание: Если вы не используете систему сборки Gradle, замените $ {applicationId} на имя вашего пакета для этого приложения.
Вход через Amazon предоставляет несколько стандартных кнопок, которые вы можете использовать, чтобы предлагать пользователям войти в систему из вашего приложения. В этом разделе приведены шаги по загрузке официального образа входа с 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" - Загрузите приложение и убедитесь, что кнопка теперь имеет изображение входа с помощью Amazon.
Вы должны убедиться, что кнопка отображается правильно для каждой поддерживаемой плотности экрана.
Используйте SDK для Android API
В этом разделе вы добавите код в свой проект, чтобы войти в систему с помощью Login with Amazon.
В этом разделе объясняется, как вызвать API авторизации для входа пользователя. Это включает в себя создание onClick прослушиватель для вашего входа с помощью кнопки Amazon в onCreate метод вашего приложения.
- Добавьте логин с Amazon на свой Android See Установите логин с помощью библиотеки Amazon.
- Инициализировать Контекст запроса.
Вам нужно будет объявить Контекст запроса переменную и создайте новый экземпляр класса. Лучшее место для инициализации Контекст запроса находится в onCreate метод вашей активности или фрагмента Android. Для бывшегоampль:частный RequestContext requestContext;
@Override
защищенная пустота onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); requestContext = RequestContext.create (это);
} - Создайте Авторизовать прослушиватель.
авторизелистенер обработает результат авторизовать вызов. Он содержит три метода: при успехе, при ошибке, и приОтмене. Создайте авторизелистенер интерфейс в соответствии с регистрСлушатель позвонить в onCreate метод вашей активности или фрагмента Android.@Override
защищенная пустота onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); requestContext = RequestContext.create (это);requestContext.registerListener (новый AuthorizeListener () {
/ * Авторизация прошла успешно. * /
@Override
public void onSuccess (результат AuthorizeResult) {
/ * Ваше приложение теперь авторизовано для запрошенных областей * /
}
/ * Произошла ошибка при попытке авторизовать приложение. * /
@Override
public void onError (AuthError ae) {
/ * Сообщаем пользователю об ошибке * /
}
/ * Авторизация была отменена до ее завершения. * / @Override
public void onCancel (Отмена AuthCancellation) {
/ * Сброс пользовательского интерфейса в состояние готовности к входу * /
}
});
}Примечание: Если вы используете фрагмент и собираете ссылки на View объекты в вашем авторизелистенер реализация, создать авторизелистенер в onCreateView метод вместо onCreate. Это гарантирует View ссылки на объекты устанавливаются при вызове авторизоватьфиниш.
- Осуществлять при успехе, при ошибке, и onCancel для вашего Авторизовать прослушиватель.
Поскольку процесс авторизации представляет пользователю экран входа в систему (и, возможно, экран согласия) в web браузер (или WebView), у пользователя будет возможность отменить вход в систему или уйти. Если они явно отменяют процесс входа в систему, onCancel вызывается, и вы захотите сбросить свой пользовательский интерфейс.
Если пользователь уходит с экрана входа в систему в браузере или WebView, затем переключится обратно в ваше приложение, SDK не обнаружит, что вход не был завершен. Если вы обнаружите активность пользователей в своем приложении до завершения входа в систему, вы можете предположить, что они ушли из браузера, и отреагируют соответствующим образом. - Вызов RequestContext.onResume.
Чтобы учесть жизненный цикл приложения Android, реализуйте onResume в вашей деятельности или фрагменте. Это вызовет запуск всех слушателей, зарегистрированных с регистрСлушатель в случае, если ваше приложение закрывается операционной системой до того, как пользователь завершит процесс авторизации.@Override
protected void onResume () {
super.onResume ();
requestContext.onResume ();
} - Вызов AuthorizationManager.авторизовать.
В onClick обработчик для вашей кнопки входа с помощью Amazon, вызовите авторизацию, чтобы предложить пользователю войти в систему и авторизовать ваше приложение.
Этот метод позволит пользователю войти в систему и дать согласие на запрашиваемую информацию одним из следующих способов:
1. Переход к системному браузеру
2. Переключается на WebView в безопасном контексте (если на устройстве установлено приложение Amazon Shopping)
Безопасный контекст для второго варианта доступен, когда на устройстве установлено приложение Amazon Shopping. Созданные Amazon устройства под управлением Fire OS (например,ample Kindle Fire, Fire Phone и Fire TV) всегда используйте эту опцию, даже если на устройстве нет приложения Amazon Shopping. Из-за этого, если пользователь уже вошел в приложение Amazon Shopping, этот API пропустит страницу входа, что приведет к Единый вход опыт для пользователя. См. Опыт работы с клиентами в клиентский опыт-андроид приложения, чтобы узнать больше. Когда ваше приложение авторизовано, оно авторизуется для одного или нескольких наборов данных, известных как области применения. Область включает пользовательские данные, которые вы запрашиваете у входа в систему через Amazon. Когда пользователь впервые входит в ваше приложение, ему будет представлен список запрашиваемых вами данных и его запрос на утверждение. Вход в Amazon в настоящее время поддерживает следующие области:Название области Описание проfile Предоставляет доступ к имени пользователя, адресу электронной почты и идентификатору учетной записи Amazon. проfile:ID пользователя Предоставляет доступ только к идентификатору учетной записи Amazon пользователя. Почтовый индекс Предоставляет доступ к почтовому индексу пользователя на file для своей учетной записи Amazon. AuthorizationManager.authorize является асинхронным вызовом, поэтому вам не нужно блокировать поток пользовательского интерфейса или создавать собственный рабочий поток. Для авторизации вызова передайте Авторизерекуест объект, который может быть построен с использованием AuthorizeRequest.Builder:
@Override
защищенная пустота onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState);
/ * Предыдущие объявления onCreate опущены * /// Находим кнопку с идентификатором login_with_amazon
// и настраиваем обработчик кликов
View loginButton = найтиViewById (R.id.login_with_amazon); loginButton.setOnClickListener (новый View.OnClickListener () {
@Override
общественная недействительность onClick (View v) {AuthorizationManager.authorize (новый AuthorizeRequest
Строитель (requestContext) .addScopes (ProfileScope.profile(), ПроfileScope.postalCode ())
.строить());
});
}
Получить пользователя Profile Данные
В этом разделе объясняется, как использовать пользовательский API для получения информации о профиле пользователя.file данные после их авторизации. Проfile данные, которые вы можете получить, зависят от объема, указанного в авторизовать: withHandler: вызов.
- Вызов Пользователь.fetch.
Пользователь.fetch возвращает профи пользователяfile данные вам через Listener AuthError> Перезвоните. Слушатель AuthError> содержит два метода: при успехе и onError (не поддерживает onCancel потому что нет возможности отменить Пользователь.fetch вызов). при успехе получает объект User с profile данные, в то время как onError получает Ошибка авторизации объект с информацией об ошибке. обновлениеProfileДанные бывшийampфайл функции, которую ваше приложение может реализовать для отображения profile данные в пользовательском интерфейсе
Примечание: User.getUserPostalCode возвращается только в том случае, если вы запрашиваете ProfileОбласть действия Scope.postalCode ().
Проверка входа пользователя при запуске
Если пользователь входит в ваше приложение, закрывает приложение и перезапускает его позже, приложение по-прежнему имеет право на получение данных. Пользователь не выходит из системы автоматически. При запуске вы можете показать, что пользователь вошел в систему, если ваше приложение все еще авторизовано. В этом разделе объясняется, как использовать получитьтокен чтобы узнать, авторизовано ли приложение.
- Вызов получитьтокен.
В onStart метод вашей активности или фрагмента, вызовите получитьтокен чтобы узнать, авторизовано ли приложение. получитьтокен извлекает необработанный токен доступа, который Менеджер авторизации использует для доступа к профи пользователяfile. Если значение токена не равно нулю, то приложение все еще авторизовано, и вы можете перейти к получению пользователя pro.file данные. getTokenrequires те же объемы, которые вы запрашивали в своем звонке для авторизации.
getTokensupports асинхронные вызовы так же, как Пользователь.fetch, поэтому вам не нужно блокировать поток пользовательского интерфейса или создавать собственный рабочий поток. Звонить получитьтокен асинхронно передать объект, поддерживающий Слушатель интерфейс в качестве последнего параметра. - Объявить Слушатель AuthError>. Ваша реализация Слушатель AuthError> интерфейс обрабатывает результат получитьтокен вызов. Слушатель содержит два метода: при успехе и onError (не поддерживает onCancel потому что нет возможности отменить получитьтокен вызов).
- Осуществлять при успехе и onError для вашего Слушатель . onSuccess получает Авторизациярезультат объект с токеном доступа, а onError получает Ошибка авторизации объект с информацией об ошибке.
@Override
защищенная пустота onStart () {super.onStart ();
Scope [] scopes = {ProfileScope.profile(), ПроfileScope.postalCode ()}; AuthorizationManager.getToken (this, scopes, new
Слушатель () {@Override
public void onSuccess (AuthorizeResult result) {if (result.getAccessToken ()! = null) {
/ * Пользователь вошел в систему * /
} еще {
/ * Пользователь не вошел в систему * /
}
}
@Override
public void onError (AuthError ae) {
/ * Пользователь не вошел в систему * /
}
});
}
В этом разделе объясняется, как использовать метод выхода для выхода пользователя из вашего приложения. Пользователь должен будет снова войти в систему, чтобы приложение могло получить версию Profile данные. Используйте этот метод для выхода пользователя из системы или для устранения проблем со входом в приложение.
- Внедрите механизм выхода из системы.
Когда пользователь успешно вошел в систему, вы должны предоставить механизм выхода, чтобы он мог очистить свою профессиональнуюfile данные и ранее утвержденные объемы. Ваш механизм может быть гиперссылкой, кнопкой или пунктом меню. Для этого бывшегоampле, мы создадим метод onClick для кнопки. - Вызов выход.
Вызов выход в обработчике выхода из системы, чтобы удалить данные авторизации пользователя (токены доступа, profile) из местного магазина. выход принимает контекст Android и слушателя AuthError> в справиться с успехом или неудачей. - Объявить анонимного слушателя AuthError>.
Ваша реализация Listener AuthError> обрабатывает результат выход вызов. Анонимные классы полезны для захвата переменных из окружающей области.
Видеть Обработка кнопки входа в систему и авторизация пользователя для exampLethat объявляет классы слушателей. - Осуществлять при успехе и onError для вашего слушателя AuthError>.
Когда знак вам следует обновить свой пользовательский интерфейс, чтобы удалить ссылки на пользователя и предоставить механизм входа, который пользователи могут использовать для повторного входа. Если знак ошибка, вы можете позволить пользователю снова выйти из системы.@Override
защищенная пустота onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState);
/ * Предыдущие объявления onCreate опущены * /// Находим кнопку с идентификатором выхода и настраиваем обработчик кликов View logoutButton = найтиViewById (R.id.logout); logoutButton.setOnClickListener (новый View.OnClickListener () {@Override
общественная недействительность onClick (View v) {AuthorizationManager.signOut (getApplicationContext (), новый
Слушатель () {@Override
public void onSuccess (аннулированный ответ) {
// Установить состояние выхода из системы в пользовательском интерфейсе
}
@Override
public void onError (AuthError authError) {
// Регистрируем ошибку
}});
}
});
}
Войдите в систему с помощью руководства по началу работы с Amazon для приложений Android - Скачать [оптимизировано]
Войдите в систему с помощью руководства по началу работы с Amazon для приложений Android - Скачать



