Увійдіть за допомогою Amazon Посібник із початку роботи для Android
Увійти через Amazon: Посібник із початку роботи для Android
Авторське право © 2016 Amazon.com, Inc., або його афілійовані особи. Всі права захищені. Amazon та логотип Amazon є товарними знаками Amazon.com, Inc. або його філій. Усі інші торгові марки, що не належать Amazon, є власністю відповідних власників.
Початок роботи для Android
У цьому посібнику ми покажемо вам, як додати Login with Amazon до свого додатка для Android. Після завершення цього посібника у вашому додатку повинна бути працююча кнопка «Увійти за допомогою Amazon», щоб дозволити користувачам входити за допомогою своїх облікових даних Amazon.
Встановлення інструментів розробника Android
Вхід із Amazon SDK для Android допоможе вам додати Login with Amazon у свій додаток для Android. Ми рекомендуємо використовувати Логін із Amazon SDK для Android від developer.amazon.com із Android Studio. Однак ви також можете використовувати Eclipse з плагіном ADT. Кроки щодо встановлення Android Studio та налаштування Android SDK див Отримайте Android SDK на developer.android.com.
Коли інстальовано Android SDK, знайдіть Менеджер SDK додаток у вашій інсталяції Android. Щоб розробити для входу з Amazon, ви повинні використовувати менеджер SDK, щоб встановити платформу SDK для Android 2.2 або новішої версії (API версії 8). Побачити Додавання пакетів SDK на developer.android.com для отримання додаткової інформації щодо використання SDK
Після встановлення SDK налаштуйте віртуальний пристрій Android (AVD) для запуску ваших програм. Побачити Керуючий Віртуальні пристрої на developer.android.com для отримання інструкцій щодо налаштування віртуального пристрою.
Коли ваше середовище розробки налаштоване, ви можете Встановіть Login with Amazon SDK для Android or Запустіть Sample App, як описано нижче.
Встановіть Login with Amazon SDK для Android
Вхід із Amazon SDK для Android поставляється у двох пакетах. Перший містить бібліотеку Android та супровідну документацію. Другий містить якampДодаток, який дозволяє користувачеві ввійти в систему та відображає його профіfile даних.
Якщо ви ще не встановили Android SDK або Інструменти розробки Android, див Встановлення Інструменти розробника Android розділ вище.
- Завантажити zip і витягніть files до каталогу на жорсткому диску.
Ви повинні побачити док і а lib підкаталог. - ВІДЧИНЕНО doc / index.html до view вхід за допомогою Amazon Android API
- див Встановіть Логін за допомогою бібліотеки Amazon, вказівки щодо додавання бібліотеки та документації до Android
Коли встановлено Login with Amazon SDK для Android, ви можете Створіть новий логін за допомогою Amazon Проект, після Реєстрація в системі Login на Amazon .
Запустіть Sample App
Щоб запустити sampДодаток, імпортуйте файл sampу робочу область AndroidStudio (якщо ви використовуєте Eclipse, ви також повинні додати до робочого простору спеціальне сховище ключів для налагодження. Див. Додайте спеціальну налагодження Магазин ключів у Eclipse розділ нижче). Ключ API, який sampВикористання програми вимагає, щоб робоча область використовувала сховище ключів, що поставляється разом з sample. Якщо користувацьке сховище ключів не встановлено, користувачі не зможуть увійти за допомогою sample. Сховище ключів буде завантажено автоматично, якщо ви використовуєте AndroidStudio.
- Завантажити SampleLoginWithAmazonAppForAndroid-src.zip і витягніть files до каталогу на жорсткому диску
- Запустіть Android Studio і виберіть Відкрийте існуючий проект Android Studio
- Перейдіть до SampleLoginWithAmazonApp каталог, отриманий після вилучення завантаженого zip file в Крок
- Від Будувати меню, натисніть Зробіть проект, і зачекайте, поки проект
- Від бігти меню, натисніть бігти а потім натисніть кнопку SampleLoginWithAmazonApp.
- Виберіть емулятор або підключений пристрій Android і натисніть бігти.
Додайте спеціальний магазин налагоджувальних ключів у Eclipse
Якщо ви використовуєте Eclipse, виконайте наведені нижче вказівки, щоб додати спеціальне сховище налагоджень:
- в Уподобання діалогове вікно виберіть Android і Будувати.
- поруч з Custom Налагоджувальний магазин ключів, натисніть переглядати.
- Перейдіть до sample каталог програми та виберіть 3р. Магазин ключів, а потім натисніть OK.
Реєстрація в системі Login на Amazon
Перш ніж ви зможете використовувати Login with Amazon на a webна веб-сайті або в мобільній програмі, ви повинні зареєструвати програму за допомогою Login with Amazon. Ваша програма Login with Amazon — це реєстрація, яка містить основну інформацію про ваш бізнес та інформацію про кожного з них webсайт або створений вами мобільний додаток, який підтримує вхід через Amazon. Ця бізнес-інформація відображається користувачам щоразу, коли вони використовують Login with Amazon на вашому webвеб -сайт або мобільний додаток. Користувачі побачать назву вашої програми, ваш логотип та посилання на вашу політику конфіденційності. Ці кроки демонструють, як зареєструвати логін за допомогою програми Amazon і додати додаток Android до цього облікового запису.
Дивіться такі теми:
- Зареєструйте свій логін за допомогою програми Amazon
- Зареєструйте свій додаток для Android
- Додайте програму Android для Amazon Appstore
- Додайте додаток для Android без Appstore
- Підписи додатків Android та ключі API
- Визначення підпису програми для Android
- Отримання ключа API Android
Зареєструйте свій логін за допомогою програми Amazon
- Перейти до https://login.amazon.com.
- Якщо ви вже зареєструвались для входу з Amazon раніше, натисніть Консоль програми. В іншому випадку натисніть Зареєструватися. Вас перенаправлять на Seller Central, який здійснює реєстрацію заявки для входу за допомогою. Якщо ви вперше користуєтеся Seller Central, вам буде запропоновано створити обліковий запис Seller Central.
- Натисніть Зареєструвати новий додаток. The Зареєструйте заявку з'явиться форма:
a. в Зареєструйте заявку форму, введіть a Ім'я і а опис для вашої програми.
The Ім'я це ім’я, яке відображається на екрані згоди, коли користувачі погоджуються поділитися інформацією з вашою програмою. Ця назва стосується Android, iOS і webверсії вашого додатка на сайті.
b. Введіть a Повідомлення про конфіденційність URL для вашої заявки
The Повідомлення про конфіденційність URL - це місцезнаходження політики конфіденційності вашої компанії або програми (наприклад,ample, http://www.example.com/privacy.html). Це посилання відображається користувачам на екрані згоди.
c. Якщо ви хочете додати a Зображення логотипу для вашої програми натисніть переглядати і знайдіть відповідне зображення.
Цей логотип відображається на екрані входу та згоди, щоб представляти вашу компанію або webсайту. Логотип буде зменшено до 50 пікселів у висоту, якщо він вищий за 50 пікселів; немає обмежень щодо ширини логотипу - Натисніть зберегти. Ваша сampРеєстрація файла має виглядати приблизно так:
Після збереження основних налаштувань програми ви можете додати налаштування для окремих webсайти та мобільні додатки, які використовуватимуть цей Вхід з обліковим записом Amazon.
Зареєструйте свій додаток для Android
Щоб зареєструвати додаток для Android, ви можете зареєструвати додаток через Amazon Appstore (Додайте програму Android для Amazon Appstore, стор. 8) або безпосередньо за допомогою Login with Amazon (Додайте Android Додаток без Appstore, стор. 9). Коли ваша програма зареєстрована, ви матимете доступ до ключа API, який надасть вашій програмі доступ до служби авторизації входу з Amazon.
Примітка: Якщо ви плануєте використовувати Amazon Device Messaging у своєму додатку для Android, зв’яжіться lwa- support@amazon.com з:
- Адреса електронної пошти облікового запису Amazon, який ви використовували для реєстрації в системі Login with Amazon.
- Електронна адреса облікового запису Amazon, який ви використовували для реєстрації в Amazon Appstore (якщо інший).
- Ім'я у вашому обліковому записі продавця. (На Seller 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: 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.
У процесі експорту, якщо ви створюєте нове сховище релізів, ви оберете його місце розташування. Автор
за замовчуванням він буде розміщений там же, де і ваш налагоджувальний ключ KeyStore за замовчуванням.
Якщо ви зареєстрували свою програму за допомогою підпису налагодження під час розробки, вам доведеться додати нову настройку Android до своєї програми, коли будете готові випустити програму. Новий параметр програми повинен використовувати підпис з магазину ключів звільнення.
див Підписання заявок на developer.android.com для отримання додаткової інформації.
Визначте підпис програми для Android
- Якщо у вас є підписаний файл .apk file:
a. Розпакуйте файл .apk file і витягнути CERT.RSA. (Ви можете перейменувати розширення APK на ZIP, якщо це необхідно).
b. З командного рядка запустіть:keytool -printcert -file CERT.RSA Кейтуаліс розташований в bin каталог вашої інсталяції Java.
- Якщо у вас є сховище ключів file:
a. З командного рядка запустіть:keytool -list -v -alias -магазинfileім'я> Keytool знаходиться у каталозі bin вашої інсталяції Java. Псевдонім - це назва ключа, що використовується для підписання програми.
b. Введіть пароль для клавіші та натисніть Введіть. - Під Відбитки пальців сертифіката, копіювати SHA256 значення.
Отримайте ключ API Android
Після того як ви зареєстрували налаштування Android і надали підпис програми, ви можете отримати ключ API зі сторінки реєстрації для свого додатка Вхід за допомогою Amazon. Вам потрібно буде розмістити цей ключ API у file у вашому проекті Android. Доки ви цього не зробите, додаток не матиме дозволу на зв’язок із службою авторизації Amazon із Login.
- Перейти до https://login.amazon.com.
- Натисніть Консоль програми.
- в Додатки поле зліва, виберіть
- Знайдіть свій додаток для Android під Налаштування Android (Якщо ви ще не зареєстрували програму Android, див Додайте програму Android для Amazon Appstore).
- Натисніть Створити значення ключа API. У спливаючому вікні відображатиметься ваш ключ API. Щоб скопіювати ключ, натисніть Виберіть усі щоб вибрати весь
Примітка: Значення ключа ключа API частково базується на часі його створення. Таким чином, подальші значення ключа API, які ви створюєте, можуть відрізнятися від оригіналу. Ви можете використовувати будь-яке з цих ключових значень API у своєму додатку, оскільки всі вони є дійсними. - див Додайте свій ключ API до свого проекту вказівки щодо додавання ключа API на ваш Android
Створення входу за допомогою проекту Amazon
У цьому розділі ви дізнаєтесь, як створити новий проект Android для входу з Amazon, налаштувати проект та додати код до проекту, щоб увійти в систему користувачем Login with Amazon. Ми опишемо кроки для Android Studio, але ви можете застосувати аналогічні кроки до будь-якого IDE або інструменту розробки Android на ваш вибір.
Дивіться такі теми:
- Створіть новий логін за допомогою проекту Amazon
- Встановіть Вхід за допомогою бібліотеки Amazon
- Увімкніть Content Assist для входу за допомогою бібліотеки Amazon
- Встановіть мережеві дозволи для вашого додатка
- Додайте свій ключ API до свого проекту
- Видаліть SampLe App Custom Debug Keystore
- Обробляйте зміни конфігурації для своєї діяльності
- Додайте до свого проекту діяльність з авторизації
- Додайте вхід за допомогою кнопки Amazon у свій додаток
- Обробіть кнопку входу та отримайте Profile Дані
- Перевірте, чи входить користувач під час запуску
- Очистіть стан авторизації та вийдіть з користувача
- Зателефонуйте методам Amazon Authorization Manager синхронно
Створіть новий логін за допомогою проекту Amazon
Якщо у вас ще немає проекту програми для використання Login with Amazon, дотримуйтесь інструкцій нижче, щоб створити його. Якщо у вас є програма, перейдіть до Встановіть Вхід за допомогою бібліотеки Amazon .
- Запуск Інструмент розробки Android.
- Від File меню, виберіть новий і Демонструвати.
- Введіть Назва програми і Назва компанії для вашого
- Введіть Заява та назва компанії що відповідає назві пакету, яку ви вибрали під час реєстрації програми в системі Login with Amazon.
Якщо ви ще не зареєстрували свій додаток, виберіть Назва пакета а потім дотримуйтесь інструкцій у Реєстрація в системі Login на Amazon після створення проекту. Якщо назва пакета вашої програми не відповідає зареєстрованій назві пакета, ваш вхід за допомогою дзвінків Amazon не буде успішним. - Виберіть a Мінімально необхідний SDK API 8: Android 2 (Froyo) або новішої версії та натисніть Далі.
- Виберіть тип діяльності, який ви хочете створити, і натисніть Далі.
- Заповніть відповідні дані та натисніть Закінчити.
Тепер у вас буде новий проект у вашій робочій області, за допомогою якого ви можете зателефонувати у систему Login with Amazon.
Встановіть Вхід за допомогою бібліотеки Amazon
Якщо ви ще не завантажили Вхід за допомогою Amazon SDK для Android, див Встановіть Логін за допомогою Amazon SDK для Android (стор. 4).
- Коли ваш проект відкрито в Інструментах розробника Android, у Провідник проекту, клацніть правою кнопкою миші Демонструвати.
- Якщо викликана папка libs ще немає, створіть
- Скопіюйте login-with-amazon-sdk.jar file від File система, а потім вставте його в libs під вашим проектом / додатком.
- Клацніть правою кнопкою миші login-with-amazon-sdk.jarі перевірте Додати як бібліотеку
Увімкніть Content Assist для входу за допомогою бібліотеки Amazon у Eclipse
Щоб увімкнути підтримку вмісту Eclipse у проекті Android, потрібно використовувати .властивості file. Для отримання додаткової інформації щодо допомоги вмісту див Вміст / Допомога коду onhelp.eclipse.org.
Щоб увімкнути підтримку вмісту Eclipse у проекті Android, потрібно використовувати .властивості file. Для отримання додаткової інформації щодо допомоги вмісту див Вміст / Допомога коду onhelp.eclipse.org.
- In Windows Explorer, перейдіть до документи папку для входу з Amazon SDK для Android і скопіюйте папку в
- Коли ваш проект відкритий, перейдіть до Package Explorer і виберіть libs Натисніть Редагувати у головному меню та виберіть Вставити. Тепер ви повинні мати libs \ docs каталог.
- Виберіть libs Натисніть File у головному меню та виберіть новий іFile.
- в новий File діалог, увійти властивості login-with-amazon-sdk.jar. і натисніть Закінчити.
- Затемнення повинно відкритися властивості login-with-amazon-sdk.jar. у текстовому редакторі. У текстовому редакторі додайте наступний рядок до file:
doc = документи - Від File меню, натисніть зберегти.
- Можливо, вам доведеться перезапустити Eclipse, щоб зміни набрали чинності
Встановіть мережеві дозволи для вашого додатка
Щоб ваш додаток використовував Login with Amazon, він повинен отримати доступ до Інтернету та отримати інформацію про стан мережі. Ваша програма повинна заявити ці дозволи у вашому маніфесті Android, якщо це ще не зроблено.
ПРИМІТКА: Наведені нижче кроки процедури стосуються додавання дозволів у Eclipse. Якщо ви використовуєте Android Studio або іншу IDE, ви можете пропустити всі пронумеровані кроки нижче. Натомість скопіюйте рядки коду, що відображаються під скріншотом, і вставте їх у AndroidManifest.xml file, поза блоком додатків.
- In Пакет Провідник, двічі клацніть xml.
- На Дозволи вкладку, натисніть додати.
- Виберіть Використовує дозвіл і натисніть OK.
- Праворуч від Дозволи, знайдіть Атрибути дозволу на використання
- в Ім'я поле, введіть дозволу. ІНТЕРНЕТ або виберіть його зі спадного меню.
- На Дозволи вкладку, натисніть додати
- Виберіть Використовує дозвіл і натисніть OK.
- в Ім'я поле, введіть дозвіл.ACCESS_NETWORK_STATE або виберіть його зі спадного меню
- Від File меню, натисніть зберегти.
Тепер ваші дозволи маніфесту повинні мати такі значення:
в AndroidManifest.xml на вкладці, ви повинні побачити ці записи під елементом маніфесту:
Додайте свій ключ API до свого проекту
Коли ви реєструєте свою програму Android у системі Login на Amazon, вам призначається ключ API. Це ідентифікатор, який Amazon Authorization Manager використовуватиме для ідентифікації вашого додатка до служби авторизації Amazon. Якщо для підписання програми ви використовуєте Amazon Appstore, Appstore автоматично надасть ключ API. Якщо ви не використовуєте Amazon Appstore, Amazon Authorization Manager завантажує це значення під час виконання з api_key.txt file в активів каталог.
- Якщо у вас ще немає вашого ключа API, дотримуйтесь інструкцій у Отримайте ключ API Android (стор. 11).
- Коли ваш проект ADT відкритий, з File меню, натисніть новий і виберіть Без назви тексту File. Тепер у вас повинно бути вікно редактора тексту file названий Без назви 1 рік. Додайте свій ключ API до тексту
- Від File меню, натисніть Зберегти як.
- в Зберегти як виберіть діалогове вікно активів каталог вашого проекту як батьківська папка. Для File назва, введіть txt.
Видаліть SampLe App Custom Debug Keystore
ПРИМІТКА: Цей крок необхідний, лише якщо ви використовуєте Eclipse; якщо ви використовуєте Android Studio, пропустіть цей розділ.
Якщо ви встановили Логін за допомогою Amazon для Android sampЗавантажте додаток у той самий робочий простір, який ви використовуєте для свого додатка для Android. Вам потрібно очистити спеціальне сховище ключів для налагодження, щоб використовувати власний ключ API.
- У головному меню натисніть Вікно і виберіть Уподобання.
- в Уподобання діалогове вікно виберіть Android і Будувати.
- Очистити Custom налагодження магазину ключів
- Натисніть OK.
Обробляйте зміни конфігурації для своєї діяльності
Якщо користувач змінює орієнтацію екрана або змінює стан клавіатури пристрою під час входу, він запропонує перезапустити поточну активність. Цей перезапуск несподівано закриє екран входу. Щоб цього не сталося, слід встановити активність, яка використовує метод авторизації для обробки цих змін конфігурації вручну. Це запобіжить перезапуску дії.
- In Пакет Провідник, двічі клацніть xml.
- в застосування розділ, знайдіть діяльність, яка буде обробляти Вхід за допомогою Amazon (наприклад,ample, Монактивність).
- Додайте наступний атрибут до діяльності, яку ви знаходили на кроці 2:
android: configChanges = ”клавіатура | клавіатура прихована | орієнтація” Або для API 13 або вище:
android: configChanges = ”клавіатура | прихована клавіатура | орієнтація | розмір екрана” - Від File меню, натисніть зберегти
Тепер, коли відбудеться зміна орієнтації клавіатури або пристрою, Android зателефонує на onConfigurationChanged метод вашої діяльності. Вам не потрібно реалізовувати цю функцію, якщо не існує аспекту цих змін конфігурації, який ви хочете обробити для свого додатка
Коли користувач натискає кнопку Увійти за допомогою Amazon, API запускає web браузер, щоб представити користувачеві сторінку для входу та згоди. Для того, щоб ця діяльність браузера працювала, ви повинні додати AuthorizationActivity до свого маніфесту.
- In Пакет Провідник, двічі клацніть xml.
- в застосування розділ, додайте наступний код, замінивши “com.example.app »з назвою вашого пакета для цієї програми:
<activity android:name=
"Com.amazon.identity.auth.device.authorization.AuthorizationActivity" android: theme = "@ android: style / Theme.NoDisplay" android: allowTaskReparenting = "true" android: launchMode = "singleTask">
<action android:name=”android.intent.action.VIEW” />
<дані
android: хост = ”com.example.app ”android: схема =” 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 див Альтернативні макети у темі “Підтримка декількох екранів” ondeveloper.android.com. - Скопіюйте відповідне зображення кнопки files до вашого проекту.
Для кожної підтримуваної вами щільності екрана (xhdpi, hdpi, mdpi або ldpi) скопіюйте завантажену кнопку в res / drawable каталог для цієї щільності екрану. - Заявіть зображення кнопки.
У декларації XML кнопки встановіть атрибут android: src на ім'я кнопки, яку ви вибрали. Для ексampле:android: src = ”@ drawable / btnlwa_gold_loginwithamazon.png” 6. Завантажте свою програму та переконайтеся, що кнопка тепер має зображення для входу з Amazon. Вам слід переконатися, що кнопка відображається належним чином для кожної щільності екрана, яку ви підтримуєте.
У цьому розділі пояснюється, як викликати авторизацію та getProfile API для входу користувача та отримання його професіоналаfile дані. Це включає створення прослуховувача onClick для вашого входу за допомогою кнопки Amazon у методі onCreate вашого додатка.
- Додайте Вхід за допомогою Amazon до свого проекту Android. Побачити Встановіть Вхід за допомогою бібліотеки Amazon .
- Імпортуйте Login з Amazon API до свого джерела
Щоб імпортувати Вхід за допомогою API Amazon, додайте до свого джерела такі заяви про імпорт file:імпорт com.amazon.identity.auth.device.AuthError; імпорт
com.amazon.identity.auth.device.authorization.api.
AmazonAuthorizationManager; імпорт
com.amazon.identity.auth.device.authorization.api. AuthorizationListener; імпорт com.amazon.identity.auth.device.authorization.api.AuthzConstants; - Ініціалізувати AmazonAuthorizationManager.
Вам потрібно буде оголосити AmazonAuthorizationManager змінної та створити новий екземпляр класу. Створення нового екземпляра вимагає лише поточного контексту програми та порожнього пакета. Найкраще місце для ініціалізації AmazonAuthorizationManager знаходиться в onCreate метод вашої діяльності. Для ексampле: - Створіть AuthorizeLiistener.
AuthorizeListener реалізує інтерфейс AuthorizatioinListener і обробляє результат авторизувати дзвінок. Він містить три методи: oinSuccess, onError, та onCanceil. Кожен метод отримує або Bundle, або Помилка AuthError об'єкт.приватний клас AuthorizeListener реалізує AuthorizationListener {
/ * Авторизацію успішно виконано. * /
@Перевернути
public void onSuccess (відповідь набору) {
}
/ * Під час спроби авторизації програми сталася помилка.
*/
@Перевернути
public void onError (AuthError ae) {
}
/ * Авторизацію скасовано, перш ніж вона могла бути завершена. * /
@Перевернути
public void onCancel (причина розшарування) {
}
} - Телефонуйте AmazonAuthorizationManager.authorize.
в onClick обробника для вашого Вхід за допомогою кнопки Amazon, зателефонуйте авторизувати, щоб запропонувати користувачеві увійти та авторизувати вашу програму.
Цей метод відповідає за авторизацію клієнта одним із таких способів:- Перемикається на системний браузер і дозволяє клієнтові ввійти та дати згоду на запитуваний
- Перемикається на web view в безпечному контексті, щоб дозволити клієнту ввійти і дати згоду на запит
Цей безпечний контекст №2 наразі доступний як додаток Amazon Shopping на пристроях Android. Пристрої, створені Amazon, під керуванням Fire OS (напрample Kindle Fire, Fire Phone та Fire TV) завжди використовуйте цю опцію, навіть якщо на пристрої немає програми Amazon Shopping. Через це, якщо клієнт уже ввійшов у додаток Amazon Shopping, цей API пропустить сторінку входу, що призведе до Єдиний вхід досвід для замовника.
Коли ваша програма авторизована, вона авторизована для одного або декількох наборів даних, відомих як обсяги. Перший параметр - це масив областей, які охоплюють дані користувача, які ви запитуєте від Login with Amazon. Під час першого входу користувача у ваш додаток йому буде представлений список даних, які ви запитуєте, і попросити схвалення. Вхід з Amazon наразі підтримує три області: profile, що містить ім’я користувача, адресу електронної пошти та ідентифікатор облікового запису Amazon; професіоналfile:ідентифікатор користувача, який містить лише ідентифікатор облікового запису Amazon; і Поштовий індекс, який містить поштовий індекс користувача.
Найкращий спосіб викликати авторизацію - це асинхронно, тому вам не потрібно блокувати потік інтерфейсу користувача або створювати власний робочий потік. Дзвонити дозволитисинхронно, передавати об'єкт, який підтримує Інтерфейс AuthorizationListener як останній параметр:приватний AmazonAuthorizationManager mAuthManager; @Перевернути
protected void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
mAuthManager = новий AmazonAuthorizationManager (це, Bundle.EMPTY);// Знайдіть кнопку з іменем login_with_amazon
// та налаштуємо обробник клацань
mLoginButton = (Кнопка) знайтиViewById (R.id.login_with_amazon);
mLoginButton.setOnClickListener (новий OnClickListener () {
@Перевернути
public void onClick (View v) {
mAuthManager.authorize (
new String [] {“проfile","Поштовий індекс"},
Bundle.EMPTY, новий AuthorizeListener ());
}
});
} - Створіть a ProfileСлухач.
ProfileСлухач - це наша назва для класу, який реалізує APIListener інтерфейс, і буде обробляти результат getProfile виклик. APIListener містить два методи: на успіх та onError (не підтримує onСкасувати тому що немає можливості скасувати a getProfile дзвінок). на успіх отримує об'єкт Bundle з profile дані, поки onEriror отримує Помилка AuthError об'єкт з інформацією про помилку.приватний клас ProfileСлухач реалізує APIListener { /* getProfile успішно завершено. */ @Override
public void onSuccess (відповідь набору) {}
/* Під час спроби отримати професіонала сталася помилкаfile. */ @Override
public void onError (AuthError ae) {
}
} - Реалізувати на успіх для вашого AuthorizeListener.
In на успіх, дзвінок AmazonAuthorizationManager.getProfile для отримання клієнта profile. getProfile, як авторизувати, використовує асинхронний інтерфейс слухача. Для getProfile, цей інтерфейс є APIListener, а неAuthorizationListener.
/ * Авторизацію успішно виконано. * / @Override
public void onSuccess (відповідь набору) {
mAuthManager.getProfile(новий ProfileСлухач ());} - Реалізувати onSuccessfor ваш ProfileСлухач.
на успіх два основних завдання: отримати професіоналfile дані з набору відповідей та передати дані до інтерфейсу користувача. updateProfileДані гіпотетична функція, яку ваша програма могла б реалізувати для відображення професіоналівfile деталі. setLoggedInState, інша гіпотетична функція, вказувала б на те, що користувач увійшов в систему, і давала їм можливість вихід із системи.
Щоб отримати профіfile даних з Bundle, ми використовуємо імена, збережені в AuthzConstants клас. на успіх пакет містить проfile дані в BUNDLE_KEY.PROFILE пучок.
Всередині profile bundle, дані про область індексуються за PROFILE_KEY.NAME, ПРОFILE_KEY.EMAIL, PROFILE_KEY.USER_ID, і PROFILE_KEY.POSTAL_CODE. PROFILE_KEY.POSTAL_CODE входить лише в тому випадку, якщо ви запитуєте поштовий_індекс сфера застосування.@Перевернути
public void onSuccess (відповідь набору) {
// Отримати необхідні дані з Bundle Bundle profileBundle = response.getBundle (
AuthzConstants.BUNDLE_KEY.PROFILE.val);
Назва рядка = profileBundle.getString (
AuthzConstants.PROFILE_KEY.NAME.val);
Рядок email = profileBundle.getString (
AuthzConstants.PROFILE_KEY.EMAIL.val);
Обліковий запис рядка = профіfileBundle.getString (
AuthzConstants.PROFILE_KEY.USER_ID.val);
Поштовий індекс рядка = profileBundle.getString (
AuthzConstants.PROFILE_KEY.POSTAL_CODE.val);
runOnUiThread (новий Runnable () {@Override
public void run () {
updateProfileДані (ім’я, електронна адреса, обліковий запис, поштовий індекс);
}
});
} - Реалізувати onError для вашого ProfileСлухач.
onError включає в себе Помилка AuthError об'єкт, що містить деталі про помилку./* Під час спроби отримати професіонала сталася помилкаfile. */ @Override
public void onError (AuthError ae) {
/ * Повторіть або повідомте користувача про помилку * /
} - Реалізувати onErrorfor ваш AuthorizeListener.
/ * Під час спроби авторизації програми сталася помилка.
*/
@Перевернути
public void onError (AuthError ae) {
/ * Повідомте користувача про помилку * /
} - Реалізувати onCancelfor ваш AuthorizeListener.
Оскільки процес авторизації представляє користувачеві екран входу (і, можливо, екран згоди) у файлі web браузер (або a webview), користувач матиме можливість скасувати вхід або вийти з домену web сторінку. Якщо вони явно скасовують процес входу, onСкасувати це називається. Якщо onCancelis зателефонувавши, ви захочете скинути свій інтерфейс./ * Авторизацію скасовано, перш ніж вона могла бути завершена. * /
@Перевернути
public void onCancel (причина розшарування) {
/ * скинути інтерфейс користувача до стану, готового до входу * /
}Примітка: Якщо користувач відходить від екрана входу у веб -переглядачі або web view і повернеться до вашого додатка, SDK не виявить, що вхід не завершено. Якщо ви виявляєте активність користувачів у вашому додатку до завершення входу, ви можете припустити, що вони відійшли від веб -переглядача і відповіли відповідним чином.
Перевірте, чи входить користувач під час запуску
Якщо користувач входить у вашу програму, закриває програму та перезапускає програму пізніше, програма все ще має право отримувати дані. Користувач не виходить з системи автоматично. Під час запуску ви можете показати користувачеві, як він увійшов, якщо ваша програма все ще авторизована. У цьому розділі пояснюється, як використовувати getToken, щоб перевірити, чи програма все ще авторизована.
- Створіть a TokenListener.
TokenListener реалізує APIListener інтерфейс, і обробить результат виклику getToken. APIListener містить два методи: на успіх і onError (це не підтримує onСкасувати тому що немає можливості скасувати a getToken дзвінок). на успіх отримує об'єкт Bundle з маркерними даними, а onError отримує Помилка AuthError об'єкт з інформацією про помилку.приватний клас TokenListener реалізує APIListener { / * getToken успішно завершено. * / @Override
public void onSuccess (відповідь набору) {
}
/ * Під час спроби отримати маркер сталася помилка. * / @Override
public void onError (AuthError ae) {
}
} - в onStart метод своєї діяльності, зателефонуйте getToken щоб перевірити, чи програма все ще авторизована.
getToken отримує необроблений маркер доступу, який AmazonAuthorizationManager використовує для доступу до клієнтаfile. Якщо значення маркера не є нульовим, значить, додаток все ще авторизується та виклик getProfile має досягти успіху. getTokenпотребує ті самі сфери дії, які ви вимагали у своєму дзвінку для авторизації.
getTokens підтримує асинхронні виклики так само, як і getProfile, тому вам не доведеться блокувати потік інтерфейсу користувача або створювати власний робочий потік. Щоб асинхронно викликати getToken, передайте об'єкт, який підтримує APIListener інтерфейс як остаточний параметр.@Перевернути
захищена порожнеча onStart () {
super.onStart
(); mAuthManager.getToken (новий рядок [] {“проfile","Поштовий індекс"},
новий
TokenListener ());
} - Реалізувати на успіх для вашого TokenListener.
на успіх два завдання: отримати маркер із Пачки, а якщо маркер дійсний, зателефонувати getProfile.
Для отримання маркерних даних із набору ми використовуємо імена, що зберігаються в AuthzConstants клас. на успіх bundle містить дані маркерів у значенні BUNDLE_KEY.TOKEN. Якщо це значення не є нульовим, це напрampдзвінки getProfile використовуючи той самий прослуховувач, про який ви заявили в попередньому розділі (див. кроки 7 та 8)./ * getToken успішно завершено. * /
@Перевернути
public void onSuccess (відповідь набору) {
заключний рядок authzToken =
response.getString (AuthzConstants.BUNDLE_KEY.TOKEN.val);
if (! TextUtils.isEmpty (authzToken))
{
// Отримати професіоналаfile даних
mAuthManager.getProfile(новий ProfileСлухач ());
}
}
Метод clearAuthorizationState очистить дані авторизації користувача з локального сховища даних AmazonAuthorizationManager. Користувачеві доведеться знову ввійти, щоб програма могла отримати професіоналfile дані. Використовуйте цей метод, щоб вийти з облікового запису користувача або вирішити проблеми з входом у програму.
- Здійснити вихід
Коли користувач успішно увійшов у систему, ви повинні надати механізм виходу, щоб він міг очистити свого професіоналаfile даних та раніше дозволених областей. Ваш механізм може бути гіперпосиланням або пунктом меню. Для цього ексampми створимо onClick метод для кнопки. - Зателефонуйте у своєму обробнику виходу clearAuthorizationState. clearAuthorizationState видалить дані авторизації користувача (маркери доступу, profile) з місцевого магазину. clearAuthorizationStatetakes жодних параметрів, крім APIListener повернути успіх або
- Заявити анонім APIListener.
Анонімні класи є корисною альтернативою оголошенню нового класу для реалізації APIListener. див Обробіть кнопку входу та отримайте Profile Дані (стор. 17) для exampхай оголошує класи слухачів. - Реалізувати на успіх всередині APIListener
Коли clearAuthorizationState Успішно, вам слід оновити свій інтерфейс, щоб видалити посилання на користувача та надати механізм входу, який користувачі можуть використовувати для повторного входу. - Реалізувати onError всередині APIListener.
If clearAuthorizationStatereповертається помилка, ви можете дозволити користувачеві спробувати вийти ще раз.@Перевернути
protected void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
/ * Попереднє на Створення декларацій пропущено * /
// Знайдіть кнопку з ідентифікатором виходу та налаштуйте обробник кліків
mLogoutButton = (Кнопка) знайтиViewById (R.id.logout);
mLogoutButton.setOnClickListener (новий OnClickListener () {
@Перевернути
public void onClick (View v) {
mAuthManager.clearAuthorizationState (нове
APIListener () {
@Перевернути
public void onSuccess (результати групи) {
// Встановлення стану виходу з системи в інтерфейсі
}
@Перевернути
public void onError (AuthError authError) {
// Зафіксувати помилку
}
});
}
});
}
Деякі AmazonAuthorizationManager методи повертають об’єкт Майбутнє. Це дозволяє синхронно викликати метод замість передачі прослуховувача як параметра. Якщо ви все -таки використовуєте об’єкт Future, не варто використовувати його в потоці інтерфейсу користувача. Якщо ви заблокуєте потік інтерфейсу більше ніж на п’ять секунд, ви отримаєте запит ANR (Application Not Responding). У ручці Кнопка входу та Get Profile Дані напрampле, на успіх метод для AuthorizeListener викликається за допомогою робочого потоку, створеного AmazonAuthorizationManager. Це означає, що безпечно використовувати цей потік для виклику getPirofile синхронно. Щоб здійснити синхронний виклик, призначте повернене значення з getPirofile до об'єкта майбутнього і викликати гітметод на цьому об’єкті почекати, поки метод завершиться.
Fuuture.get повертає об'єкт Bundle, який містить ТИП МАЙБУТНЬОГО значення УСПІХ, ПОМИЛКА, or СКАСУВАТИ. Якщо метод був успішним, той самий пакет буде містити PROFILE_KEY значення для profile дані. Для ексampле:
/ * Авторизацію успішно виконано. * / @Перевернути public void onSuccess (відповідь набору) { Майбутнє <Bundle> майбутнє = mAuthManager.getProfile(нуль); Bundle result = future.get (); // Дізнайтеся, чи виклик вдався, та отримайте професіоналаfile Об'єкт майбутній тип = result.get (AuthzConstants.BUNDLE_KEY.FUTURE.val); якщо (майбутній_тип == AuthzConstants.FUTURE_TYPE.SUCCESS) { Ім'я рядка = result.getString (AuthzConstants.PROFILE_KEY.NAME.val); Рядок email = result.getString (AuthzConstants.PROFILE_KEY.EMAIL.val); Обліковий запис рядка = result.getString (AuthzConstants.PROFILE_KEY.USER_ID.val); Поштовий індекс рядка = result.getString (AuthzConstants.PROFILE_KEY.POSTAL_CODE.val); runOnUiThread (новий Runnable () {@Override public void run () {updateProfileДані (ім'я, електронна адреса, обліковий запис, ЗІП код); } }); } ще якщо (тип_ майбутнього == AuthzConstants.FUTURE_TYPE.ERROR) { // Отримати об'єкт помилки AuthError authError = AuthError.extractError (результат); / * Використовуйте authError для діагностики помилки * / } |
Увійти з Amazon Посібник із початку роботи для Android - Завантажити [оптимізовано]
Увійти з Amazon Посібник із початку роботи для Android - Завантажити