Уваход з Amazon Пачатковае кіраўніцтва для Android
Уваход праз Amazon: Кіраўніцтва па пачатку працы для Android
Аўтарскае права © 2016 Amazon.com, Inc. або яе філіялы. Усе правы ахоўваюцца. Amazon і лагатып Amazon з'яўляюцца гандлёвымі маркамі Amazon.com, Inc. або яе філіялаў. Усе іншыя гандлёвыя маркі, якія не належаць Amazon, з'яўляюцца ўласнасцю іх адпаведных уладальнікаў.
Пачатак працы для Android
У гэтым кіраўніцтве мы пакажам вам, як дадаць Login with Amazon у вашу праграму Android. Пасля завяршэння гэтага кіраўніцтва ў вашым дадатку павінна быць працоўная кнопка «Увайсці з Amazon», каб карыстальнікі маглі ўваходзіць у сістэму з дапамогай сваіх уліковых даных Amazon.
Усталёўка інструментаў распрацоўшчыка Android
Login with Amazon SDK для Android дапаможа вам дадаць Login with Amazon у вашу праграму Android. Мы рэкамендуем вам выкарыстоўваць Login with Amazon SDK для Android ад developer.amazon.com з Android Studio. Аднак вы таксама можаце выкарыстоўваць убудову Eclipse з ADT. Інструкцыі па ўсталяванні Android Studio і наладжванні Android SDK гл Атрымайце Android SDK на developer.android.com.
Калі Android SDK усталяваны, знайдзіце Менеджэр SDK дадатак у вашай ўстаноўцы Android. Для распрацоўкі для Login with Amazon вы павінны выкарыстоўваць SDK Manager, каб усталяваць платформу SDK для Android 2.2 або вышэй (версія API 8). Глядзіце Даданне пакетаў SDK на developer.android.com для атрымання дадатковай інфармацыі аб выкарыстанні SDK
Пасля ўстаноўкі SDK наладзьце віртуальную прыладу Android (AVD) для запуску вашых праграм. Глядзіце Кіраванне Віртуальныя прылады на developer.android.com для інструкцый па наладжванні віртуальнай прылады.
Калі ваша асяроддзе распрацоўкі наладжана, вы можаце Усталюйце Login with Amazon SDK для Android or Запусціце Sampпрыкладанне, як апісана ніжэй.
Усталюйце Login with Amazon SDK для Android
Login with Amazon SDK для Android пастаўляецца ў двух пакетах. Першы змяшчае бібліятэку Android і дапаможную дакументацыю. Другі змяшчае якample прыкладанне, якое дазваляе карыстальніку ўвайсці ў сістэму і адлюстроўвае яго праfile дадзеныя.
Калі вы яшчэ не ўсталявалі Android SDK або Android Development Tools, гл Ўстаноўка інструменты распрацоўшчыка Android раздзел вышэй.
- Спампаваць маланкавы і здабываць files у каталог на вашым цвёрдым дыску.
Вы павінны ўбачыць а дак і а ліб падкаталог. - Адкрыты doc/index.html каб view Android API для ўваходу праз Amazon
- Глядзіце Усталюйце лагін з бібліятэкай Amazon, каб атрымаць інструкцыі аб тым, як дадаць бібліятэку і дакументацыю ў Android
Калі ўсталяваны Login with Amazon SDK для Android, вы можаце Стварыце новы лагін з Amazon Праект, пасля Рэгістрацыя з дапамогай Login with Amazon .
Запусціце Sampпрыкладанне
Каб запусціць sample дадатак, імпартаваць sampу працоўную вобласць AndroidStudio (калі вы выкарыстоўваеце Eclipse, вы таксама павінны дадаць у працоўную вобласць карыстацкае сховішча ключоў адладкі. Гл. Дадайце карыстацкую адладку Сховішча ключоў у Eclipse раздзел ніжэй). Ключ API, які sample прыкладанне патрабуе, каб працоўная вобласць выкарыстоўвала сховішча ключоў, якое пастаўляецца з sampле. Калі карыстацкае сховішча ключоў не ўстаноўлена, карыстальнікі не змогуць увайсці з дапамогай sampле. Сховішча ключоў будзе падабрана аўтаматычна, калі вы выкарыстоўваеце AndroidStudio.
- Спампаваць SampleLoginWithAmazonAppForAndroid-src.zip і здабываць files у каталог на вашым жорсткім абсталяванні
- Запусціце Android Studio і абярыце Адкрыйце існуючы праект Android Studio
- Перайдзіце да SampleLoginWithAmazonApp каталог, атрыманы пасля распакавання загружанага zip file у кроку
- Ад ст Будаваць меню, націсніце Зрабіць праект, і дачакайцеся праекта
- Ад ст Бегчы меню, націсніце Бегчы а затым націсніце SampleLoginWithAmazonApp.
- Выберыце эмулятар або падключаную прыладу Android і націсніце Бегчы.
Дадайце карыстацкае сховішча ключоў адладкі ў Eclipse
Калі вы выкарыстоўваеце Eclipse, выконвайце інструкцыі ніжэй, каб дадаць карыстальніцкае сховішча ключоў адладкі:
- У ст Прэферэнцыі дыялог, выб Android і Будаваць.
- Побач з Прыстасаваныя Сховішча ключоў адладкі, націсніце Праглядзіце.
- Перайсці да сample каталог прыкладанняў і абярыце 3p.keystore, а затым націсніце OK.
Рэгістрацыя з дапамогай Login with Amazon
Перш чым вы зможаце выкарыстоўваць Увайсці з Amazon на a webна сайце або ў мабільным дадатку, вы павінны зарэгістраваць прыкладанне ў Login with Amazon. Ваша дадатак Login with Amazon - гэта рэгістрацыя, якая змяшчае асноўную інфармацыю аб вашым бізнэсе і інфармацыю аб кожным webствораны вамі сайт або мабільнае прыкладанне, якое падтрымлівае ўваход праз Amazon. Гэтая бізнес-інфармацыя паказваецца карыстальнікам кожны раз, калі яны выкарыстоўваюць Login with Amazon на вашым webсайт або мабільнае прыкладанне. Карыстальнікі ўбачаць назву вашага прыкладання, ваш лагатып і спасылку на вашу палітыку прыватнасці. Гэтыя крокі дэманструюць, як зарэгістраваць прыкладанне Login with Amazon і дадаць прыкладанне Android да гэтага ўліковага запісу.
Глядзіце наступныя тэмы:
- Зарэгіструйце свой лагін у праграме Amazon
- Зарэгіструйце сваю праграму для Android
- Дадайце праграму Android для Amazon Appstore
- Дадайце праграму для Android без Appstore
- Подпісы праграм Android і ключы API
- Вызначэнне подпісу праграмы Android
- Атрыманне ключа Android API
Зарэгіструйце свой лагін у праграме Amazon
- Перайсці да https://login.amazon.com.
- Калі вы ўжо падпісаліся на Уваход з Amazon, націсніце Кансоль праграмы. У адваротным выпадку націсніце Зарэгіструйцеся. Вы будзеце перанакіраваны ў Seller Central, які займаецца рэгістрацыяй прыкладанняў для ўваходу ў сістэму. Калі вы ўпершыню карыстаецеся Seller Central, вам будзе прапанавана наладзіць уліковы запіс Seller Central.
- Націсніце Зарэгістраваць новую заяўку. The Зарэгіструйце сваю заяўку з'явіцца форма:
a. У ст Зарэгіструйце сваю заяўку форму, увядзіце a Імя і а Апісанне для вашага прыкладання.
The Імя гэта імя, якое адлюстроўваецца на экране згоды, калі карыстальнікі згаджаюцца падзяліцца інфармацыяй з вашым дадаткам. Гэта назва прымяняецца да Android, iOS і webверсіі сайта вашага прыкладання.
b. Увядзіце a Паведамленне аб прыватнасці URL для вашага прыкладання
The Паведамленне аб прыватнасці URL гэта месцазнаходжанне палітыкі прыватнасці вашай кампаніі або прыкладання (напрыклад,ampле, http://www.example.com/privacy.html). Гэтая спасылка паказваецца карыстальнікам на экране згоды.
c. Калі вы хочаце дадаць a Выява лагатыпа для вашага прыкладання, націсніце Праглядзіце і знайдзіце прыдатны малюнак.
Гэты лагатып адлюстроўваецца на экране ўваходу і згоды, каб прадставіць вашу кампанію або webсайт. Лагатып будзе зменшаны да 50 пікселяў у вышыню, калі ён вышэй за 50 пікселяў; абмежаванняў на шырыню лагатыпа няма - Націсніце Захаваць. Ваша сampрэгістрацыя павінна выглядаць прыкладна так:
Пасля захавання асноўных налад прыкладання вы можаце дадаць налады для канкрэтнага webсайтаў і мабільных прыкладанняў, якія будуць выкарыстоўваць гэта Уваход з уліковым запісам Amazon.
Зарэгіструйце сваю праграму для Android
Каб зарэгістраваць прыкладанне для Android, вы можаце зарэгістраваць прыкладанне праз Amazon Appstore (Дадайце праграму Android для Amazon Appstore, с. 8) або непасрэдна з Увайсці праз Amazon (Дадаць Android Прыкладанне без Appstore, с. 9). Калі ваша праграма зарэгістравана, вы атрымаеце доступ да ключа API, які дасць вашай праграме доступ да службы аўтарызацыі «Уваход з Amazon».
Заўвага: Калі вы плануеце выкарыстоўваць Amazon Device Messaging у сваёй праграме для Android, звяжыцеся з намі лва- support@amazon.com з:
- Адрас электроннай пошты ўліковага запісу Amazon, які вы выкарыстоўвалі для рэгістрацыі на Login with Amazon.
- Адрас электроннай пошты ўліковага запісу Amazon, які вы выкарыстоўвалі для рэгістрацыі ў Amazon Appstore (калі іншы).
- Імя ў вашым уліковым запісе Seller Central. (На Seller Central націсніце Налады > Інфармацыя аб уліковым запісе > Інфармацыя пра прадаўца, і выкарыстоўваць Адлюстраванае імя).
- Імя ў вашым уліковым запісе распрацоўшчыка Amazon Appstore. (На сайце распаўсюджвання мабільных праграм націсніце Налады > Кампанія профіfile і выкарыстоўваць Імя распрацоўшчыка або назва кампаніі).
Дадайце праграму Android для Amazon Appstore
Наступныя крокі дададуць праграму Amazon Appstore да вашага ўліковага запісу Login with Amazon:
- На экране прыкладання націсніце Налады Android. Калі ў вас ужо ёсць зарэгістраванае прыкладанне для Android, знайдзіце Дадаць ключ API кнопка ў Налады Android
The Падрабязнасці прыкладання для Android з'явіцца форма: - Выберыце так у адказ на пытанне «Ці распаўсюджваецца гэта дадатак праз Amazon Appstore?»
- Увядзіце Этыкетка вашага Android App. Гэта не павінна быць афіцыйная назва вашага прыкладання. Ён проста ідэнтыфікуе гэта канкрэтнае прыкладанне для Android сярод праграм і webсайты, зарэгістраваныя ў вашым дадатку Login with 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 App
- Калі ў вас ёсць падпісаны APK file:
a. Распакуйце APK file і выняць CERT.RSA. (Пры неабходнасці вы можаце перайменаваць пашырэнне APK у ZIP).
b. З каманднага радка запусціце:keytool -printcert -file CERT.RSA Keytoolis размешчаны ў в бункер каталог вашай ўстаноўкі Java.
- Калі ў вас ёсць сховішча ключоў file:
a. З каманднага радка запусціце:keytool -list -v -alias -сховішча ключоўfileімя> Ключавы інструмент знаходзіцца ў каталогу bin вашай устаноўкі Java. Псеўданім - гэта назва ключа, які выкарыстоўваецца для подпісу праграмы.
b. Увядзіце пароль для ключа і націсніце Увайдзіце. - Пад Адбіткі пальцаў сертыфіката, скапіяваць SHA256 значэнне.
Атрымаць ключ Android API
Калі вы зарэгістравалі наладу Android і ўвялі подпіс праграмы, вы можаце атрымаць ключ API са старонкі рэгістрацыі для вашай праграмы Login with Amazon. Вам трэба будзе змясціць гэты ключ API ў a file у вашым праекце Android. Пакуль вы гэтага не зробіце, праграма не будзе аўтарызавана звязвацца са службай аўтарызацыі Login with Amazon.
- Перайсці да 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 Project
- Усталюйце бібліятэку Login with Amazon
- Уключыце Content Assist для ўваходу ў бібліятэку Amazon
- Усталюйце сеткавыя дазволы для вашай праграмы
- Дадайце ключ API да свайго праекта
- Выдаліце Sample App Custom Debug Keystore
- Апрацоўваць змены канфігурацыі для вашай дзейнасці
- Дадайце дзеянне аўтарызацыі ў свой праект
- Дадайце ў сваю праграму кнопку «Увайсці з Amazon».
- Апрацуйце кнопку ўваходу і атрымайце Profile даныя
- Праверце ўваход карыстальніка пры запуску
- Ачысціць стан аўтарызацыі і выйсці з сістэмы карыстальніка
- Выклік метадаў дыспетчара аўтарызацыі Amazon сінхронна
Стварыце новы лагін з Amazon Project
Калі ў вас яшчэ няма праекта прыкладання для выкарыстання ўваходу ў Amazon, выканайце інструкцыі ніжэй, каб стварыць яго. Калі ў вас ёсць праграма, перайдзіце да Усталюйце бібліятэку Login with Amazon .
- Запуск Інструмент распрацоўкі Android.
- Ад ст File меню, абярыце Новы і Праект.
- Увядзіце ан Назва прыкладання і Назва кампаніі для вашага
- Увядзіце Заяўка і назва кампаніі які адпавядае назве пакета, які вы абралі пры рэгістрацыі вашага прыкладання ў Login with Amazon.
Калі вы яшчэ не зарэгістравалі сваю праграму, абярыце Назва пакета а затым выконвайце інструкцыі ў Рэгістрацыя з дапамогай Login with Amazon пасля стварэння праекта. Калі назва пакета вашай праграмы не супадае з назвай зарэгістраванага пакета, вашы званкі "Увайсці праз Amazon" не будуць мець поспеху. - Выберыце а Мінімальна неабходны SDK API 8: Android 2 (Froyo) або вышэй, і націсніце Далей.
- Выберыце тып дзейнасці, які вы хочаце стварыць, і націсніце Далей.
- Запоўніце адпаведныя дадзеныя і націсніце Скончыць.
Цяпер у вашай працоўнай вобласці будзе новы праект, які вы можаце выкарыстоўваць для выкліку Login with Amazon.
Усталюйце бібліятэку Login with Amazon
Калі вы яшчэ не спампавалі Login with Amazon SDK для Android, гл Усталюйце Login with Amazon SDK для Android (стар. 4).
- Калі ваш праект адкрыты ў Інструментах распрацоўшчыка Android, у Правадыр праекта, пстрыкніце правай кнопкай мышы ваш Праект.
- Калі папка называецца ліб яшчэ няма, ствараць
- Скапіруйце login-with-amazon-sdk.jar file ад File сістэма, а затым устаўце яго ў ліб каталог у вашым праекце/дадатку.
- Пстрыкніце правай кнопкай мышы login-with-amazon-sdk.jar, і праверце Дадаць як бібліятэку
Уключыце Content Assist для ўваходу ў бібліятэку Amazon у Eclipse
Для ўключэння падтрымкі кантэнту Eclipse у праекце Android патрабуецца выкарыстанне a .ўласцівасці file. Для атрымання дадатковай інфармацыі аб дапамозе па змесце гл Памочнік па змесце/коду onhelp.eclipse.org.
Для ўключэння падтрымкі кантэнту Eclipse у праекце Android патрабуецца выкарыстанне a .ўласцівасці file. Для атрымання дадатковай інфармацыі аб дапамозе па змесце гл Памочнік па змесце/коду onhelp.eclipse.org.
- In Правадыр Windows, перайдзіце да дакументы папку для Login with Amazon SDK для Android і скапіруйце папку ў
- Калі ваш праект адкрыты, перайдзіце да Правадыр пакетаў і абярыце ліб Націсніце Рэдагаваць з галоўнага меню і абярыце Уставіць. Цяпер вы павінны мець a libs\docs каталог.
- Выберыце ліб Націсніце File з галоўнага меню і абярыце Новы іFile.
- У ст Новы File дыялог, ув login-with-amazon-sdk.jar.properties і націсніце Скончыць.
- Eclipse павінна адкрыцца login-with-amazon-sdk.jar.properties у тэкставым рэдактары. У тэкставым рэдактары дадайце наступны радок у file:
дакумент=дакументы - Ад ст File меню, націсніце Захаваць.
- Магчыма, вам спатрэбіцца перазапусціць Eclipse, каб змены ўступілі ў сілу
Усталюйце сеткавыя дазволы для вашай праграмы
Каб ваша праграма магла выкарыстоўваць уваход праз Amazon, яна павінна мець доступ да Інтэрнэту і інфармацыі аб стане сеткі. Ваша праграма павінна заявіць гэтыя дазволы ў вашым маніфесце Android, калі гэтага яшчэ няма.
УВАГА: Крокі працэдуры, прыведзеныя ніжэй, адносяцца да дадання дазволаў у Eclipse. Калі вы выкарыстоўваеце Android Studio або іншую IDE, вы можаце прапусціць усе пералічаныя ніжэй крокі. Замест гэтага скапіруйце радкі кода, паказаныя пад скрыншотам, і ўстаўце іх у AndroidManifest.xml file, па-за блокам прыкладанняў.
- In Пакет Правадыр, двойчы пстрыкніце xml.
- На ст Дазволы ўкладка, націсніце Дадаць.
- Выберыце Выкарыстоўвае дазвол і націсніце OK.
- Справа ад Дазволы, знайсці Атрыбуты для дазволу на выкарыстанне
- У ст Імя скрынка, ув дазвол. ІНТЭРНЭТ або выберыце яго з выпадальнага спісу.
- На ст Дазволы ўкладка, націсніце Дадаць
- Выберыце Выкарыстоўвае дазвол і націсніце OK.
- У ст Імя скрынка, ув дазвол.ACCESS_NETWORK_STATE або выберыце яго з выпадальнага спісу
- Ад ст File меню, націсніце Захаваць.
Вашы дазволы маніфеста цяпер павінны мець наступныя значэнні:
У ст AndroidManifest.xml цяпер вы павінны ўбачыць гэтыя запісы пад элементам маніфеста:
Дадайце ключ API да свайго праекта
Калі вы рэгіструеце сваё прыкладанне для Android у Login with Amazon, вам прысвойваецца ключ API. Гэта ідэнтыфікатар, які менеджэр аўтарызацыі Amazon будзе выкарыстоўваць для ідэнтыфікацыі вашай праграмы ў службе аўтарызацыі «Уваход з 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 імя, увядзіце txt.
Выдаліце Sample App Custom Debug Keystore
УВАГА: Гэты крок патрабуецца, толькі калі вы выкарыстоўваеце Eclipse; калі вы карыстаецеся Android Studio, прапусціце гэты раздзел.
Калі вы ўсталявалі Login with Amazon для Android sampу тую ж працоўную вобласць, якую вы выкарыстоўваеце для сваёй праграмы Android, у вас можа быць усталявана карыстальніцкае сховішча ключоў адладкі для працоўнай вобласці. Вам неабходна ачысціць карыстацкае сховішча ключоў адладкі, каб выкарыстоўваць свой уласны ключ API.
- У галоўным меню націсніце Акно і абярыце Прэферэнцыі.
- У ст Прэферэнцыі дыялог, выб Android і Будаваць.
- Ачысціць Прыстасаваныя сховішча ключоў адладкі
- Націсніце OK.
Апрацоўваць змены канфігурацыі для вашай дзейнасці
Калі карыстальнік змяняе арыентацыю экрана або змяняе стан клавіятуры прылады падчас ўваходу ў сістэму, гэта прапануе перазапусціць бягучую дзейнасць. Гэты перазапуск нечакана закрые экран ўваходу. Каб прадухіліць гэта, вы павінны ўсталяваць дзейнасць, якая выкарыстоўвае метад аўтарызацыі для апрацоўкі гэтых змяненняў канфігурацыі ўручную. Гэта прадухіліць перазапуск дзейнасці.
- In Пакет Правадыр, двойчы пстрыкніце xml.
- У ст Ужыванне раздзел, знайдзіце дзейнасць, якая будзе апрацоўваць Увайсці праз Amazon (напрыклад,ampле, Галоўная Дзейнасць).
- Дадайце наступны атрыбут да дзейнасці, якую вы знайшлі на этапе 2:
android:configChanges=”клавіятура|клавіятураСхаваная|арыентацыя” Ці для API 13 або вышэй:
android:configChanges=”клавіятура|keyboardHidden|арыентацыя|памер экрана” - Ад ст File меню, націсніце Захаваць
Цяпер пры змене арыентацыі клавіятуры або прылады Android будзе выклікаць onConfigurationChanged метад для вашай дзейнасці. Вам не трэба ўкараняць гэту функцыю, калі няма аспектаў гэтых змяненняў канфігурацыі, якія вы хочаце апрацаваць для свайго прыкладання
Калі карыстальнік націскае кнопку «Увайсці праз Amazon», API запускае a 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” />
<data
android:host=”com.example.app” android:scheme=”amzn” />
ваша дадатак. У гэтым раздзеле прыводзяцца інструкцыі па загрузцы афіцыйнага відарыса Login with 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 гл Альтэрнатыўныя макеты у тэме «Падтрымка некалькіх экранаў» на developer.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 вашай праграмы.
- Дадайце Login with Amazon у свой праект Android. Глядзіце Усталюйце бібліятэку Login with Amazon .
- Імпартуйце API ўваходу з Amazon у сваю крыніцу
Каб імпартаваць 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. Кожны метад атрымлівае пакет або an AuthError аб'ект.прыватны клас AuthorizeListener рэалізуе AuthorizationListener{
/* Аўтарызацыя прайшла паспяхова. */
@Override
public void onSuccess(Bundle response) {
}
/* Падчас спробы аўтарызацыі прыкладання адбылася памылка.
*/
@Override
public void onError(AuthError ae) {
}
/* Аўтарызацыя была адменена да завяршэння. */
@Override
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 падтрымлівае тры вобласці: праfile, які змяшчае імя карыстальніка, адрас электроннай пошты і ідэнтыфікатар уліковага запісу Amazon; праfile:Ідэнтыфікатар карыстальніка, які змяшчае толькі ідэнтыфікатар акаўнта Amazon; і паштовы індэкс, які змяшчае паштовы індэкс карыстальніка.
Лепшы спосаб выклікаць аўтарызацыю - асінхронны, таму вам не трэба блакаваць паток карыстальніцкага інтэрфейсу або ствараць уласны працоўны паток. Тэлефанаваць аўтарызаваць асінхронна, перадаць аб'ект, які падтрымлівае Інтэрфейс слухача аўтарызацыі як апошні параметр:прыватны AmazonAuthorizationManager mAuthManager; @Override
абаронены несапраўдны onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
mAuthManager = новы AmazonAuthorizationManager(гэта, Bundle.EMPTY);// Знайдзіце кнопку з ідэнтыфікатарам login_with_amazon
// і наладзіць апрацоўшчык клікаў
mLoginButton = (Кнопка) знайсціViewById(R.id.login_with_amazon);
mLoginButton.setOnClickListener(новы OnClickListener() {
@Override
public void onClick(View v) {
mAuthManager.authorize(
новы радок []{“profile","паштовы індэкс"},
Bundle.EMPTY, новы AuthorizeListener());
}
});
} - Стварыць а профіfileСлухач.
профіfileСлухач гэта наша назва для класа, які рэалізуе APIListener інтэрфейс, і будзе апрацоўваць вынік getProfile выклік. APIListener змяшчае два метады: onSuccess і onError (ён не падтрымлівае onCancel таму што няма магчымасці адмяніць a getProfile званок). onSuccess атрымлівае аб'ект Bundle з profile дадзеныя, пакуль onEror атрымлівае ан AuthError аб'ект з інфармацыяй аб памылцы.прыватны клас ProfileСлухач рэалізуе APIListener{ /* getProfile завершана паспяхова. */ @Override
public void onSuccess(Bundle response) {}
/* Адбылася памылка падчас спробы атрымаць праfile. */ @Override
public void onError(AuthError ae) {
}
} - Рэалізаваць onSuccess для вашага AuthorizeListener.
In onSuccess, выклік AmazonAuthorizationManager.getProfile каб атрымаць кліента праfile. getProfile, як аўтарызацыя, выкарыстоўвае асінхронны інтэрфейс слухача. Для getProfile, гэты інтэрфейс APIListener, а неAuthorizationListener.
/* Аўтарызацыя прайшла паспяхова. */ @Override
public void onSuccess(Bundle response) {
mAuthManager.getProfile(новы ProfileСлухач());} - Рэалізаваць onSuccessfor ваш профіfileСлухач.
onSuccesshas дзве асноўныя задачы: здабыць прафfile даныя з пакета адказаў і для перадачы даных у карыстацкі інтэрфейс. абнаўленнеProfileDatais гіпатэтычная функцыя, якую ваша праграма магла б рэалізаваць для адлюстравання праfile дэталі. setLoggedInState, іншая гіпатэтычная функцыя будзе паказваць, што карыстальнік увайшоў у сістэму, і дасць яму сродак выхад з сістэмы.
Каб атрымаць прафfile даных з Bundle, мы выкарыстоўваем імёны, якія захоўваюцца ў AuthzConstants клас. The onSuccess пакет змяшчае праfile даныя ў BUNDLE_KEY.PROFILE пучок.
У межах праfile камплект, даныя вобласці індэксуюцца пад PROFILE_KEY.NAME, PROFILE_KEY.EMAIL, PROFILE_KEY.USER_ID, і PROFILE_KEY.POSTAL_CODE. PROFILE_KEY.POSTAL_CODE уключаецца, толькі калі вы запытваеце паштовы_індэкс сфера прымянення.@Override
public void onSuccess(Bundle response) {
// Атрыманне неабходных даных з Bundle Bundle profileПакет = response.getBundle(
AuthzConstants.BUNDLE_KEY.PROFILE.val);
Імя радка = profileBundle.getString(
AuthzConstants.PROFILE_KEY.NAME.val);
Радок электроннай пошты = 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
грамадскі несапраўдны запуск() {
абнаўленнеProfileДадзеныя (імя, адрас электроннай пошты, уліковы запіс, паштовы індэкс);
}
});
} - Рэалізаваць onError для вашага профіfileСлухач.
onError ўключае ан AuthError аб'ект, які змяшчае падрабязную інфармацыю аб памылцы./* Адбылася памылка падчас спробы атрымаць праfile. */ @Override
public void onError(AuthError ae) {
/* Паўтарыце спробу або паведаміце карыстальніку пра памылку */
} - Рэалізаваць onErrorfor ваш AuthorizeListener.
/* Падчас спробы аўтарызацыі прыкладання адбылася памылка.
*/
@Override
public void onError(AuthError ae) {
/* Інфармаваць карыстальніка аб памылцы */
} - Рэалізаваць onCancelfor ваш AuthorizeListener.
Паколькі працэс аўтарызацыі прадстаўляе карыстальніку экран уваходу (і, магчыма, экран згоды) у web браўзэр (або a webview), карыстальнік будзе мець магчымасць адмяніць уваход або перайсці з web старонка. Калі яны відавочна адмяняюць працэс ўваходу ў сістэму, onCancel завецца. Калі onCancelis выклікаецца, вы захочаце скінуць свой інтэрфейс./* Аўтарызацыя была адменена да завяршэння. */
@Override
public void onCancel(прычына пакета) {
/* скід карыстальніцкага інтэрфейсу ў стан, гатовы да ўваходу */
}Заўвага: Калі карыстальнік адыходзіць ад экрана ўваходу ў браўзер або web view і пераключыцца назад у вашу праграму, SDK не выявіць, што ўваход не быў завершаны. Калі вы выяўляеце дзеянні карыстальнікаў у вашым дадатку да завяршэння ўваходу ў сістэму, вы можаце меркаваць, што яны выйшлі з браўзера, і адрэагаваць адпаведным чынам.
Праверце ўваход карыстальніка пры запуску
Калі карыстальнік уваходзіць у вашу праграму, закрывае праграму і перазапускае яе пазней, праграма па-ранейшаму мае права атрымліваць даныя. Карыстальнік не выходзіць аўтаматычна. Пры запуску вы можаце паказаць, што карыстальнік увайшоў у сістэму, калі ваша праграма ўсё яшчэ аўтарызавана. У гэтым раздзеле тлумачыцца, як выкарыстоўваць getToken, каб даведацца, ці аўтарызавана праграма.
- Стварыць а TokenListener.
TokenListener рэалізуе ст APIListener інтэрфейс і будзе апрацоўваць вынік выкліку getToken. APIListener змяшчае два метады: onSuccess і onError (гэта не падтрымлівае onCancel таму што няма магчымасці адмяніць a getToken званок). onSuccess атрымлівае аб'ект Bundle з дадзенымі маркера, у той час як onError атрымлівае ан AuthError аб'ект з інфармацыяй аб памылцы.прыватны клас TokenListener рэалізуе APIListener{ /* getToken паспяхова завершаны. */ @Override
public void onSuccess(Bundle response) {
}
/* Пры спробе атрымаць токен адбылася памылка. */ @Override
public void onError(AuthError ae) {
}
} - У ст onStart метад вашай дзейнасці, выз getToken каб убачыць, ці па-ранейшаму аўтарызавана прыкладанне.
getToken здабывае неапрацаваны маркер доступу, які AmazonAuthorizationManager выкарыстоўвае для доступу да кліента праfile. Калі значэнне токена не роўна нулю, праграма па-ранейшаму аўтарызавана і выклікаецца getProfile павінна атрымацца. getTokenrequires тыя ж вобласці, якія вы запытвалі ў сваім выкліку для аўтарызацыі.
getToken падтрымлівае асінхронныя выклікі гэтак жа, як і getProfile, таму вам не трэба блакаваць паток карыстальніцкага інтэрфейсу або ствараць уласны працоўны паток. Каб асінхронна выклікаць getToken, перадайце аб'ект, які падтрымлівае APIListener інтэрфейс як канчатковы параметр.@Override
абаронены несапраўдны onStart(){
супер.onStart
();mAuthManager.getToken(новы радок []{“profile","паштовы індэкс"},
новы
TokenListener());
} - Рэалізаваць onSuccess для вашага TokenListener.
onSuccesshas дзве задачы: атрымаць токен з Bundle і, калі токен сапраўдны, выклікаць getProfile.
Каб атрымаць даныя токена з Bundle, мы выкарыстоўваем імёны, захаваныя ў AuthzConstants клас. The onSuccess пакет змяшчае дадзеныя токена ў значэнні BUNDLE_KEY.TOKEN. Калі гэта значэнне не роўна нулю, гэта example званкі getProfile выкарыстоўваючы той жа слухач, які вы аб'явілі ў папярэднім раздзеле (гл. крокі 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. Карыстальніку трэба будзе зноў увайсці ў сістэму, каб праграма магла атрымаць праfile дадзеныя. Выкарыстоўвайце гэты метад, каб выйсці з сістэмы карыстальніка або ліквідаваць праблемы з уваходам у праграму.
- Рэалізаваць выхад з сістэмы
Калі карыстальнік паспяхова ўвайшоў у сістэму, вы павінны забяспечыць механізм выхаду з сістэмы, каб ён мог ачысціць сваю профіfile даныя і раней дазволеныя вобласці. Ваш механізм можа быць гіперспасылкай або пунктам меню. Для гэтага эксample мы створым an onClick метад для кнопкі. - У апрацоўшчыку выхаду з сістэмы патэлефануйце clearAuthorizationState. clearAuthorizationState выдаліць дадзеныя аўтарызацыі карыстальніка (токены доступу, праfile) з мясцовай крамы. clearAuthorizationStatetakes ніякіх параметраў, акрамя an APIListener вярнуць поспех або
- Абвясціць ананім APIListener.
Ананімныя класы з'яўляюцца карыснай альтэрнатывай аб'яўленню новага класа для рэалізацыі APIListener. Глядзіце Апрацуйце кнопку ўваходу і атрымайце Profile даныя (стар. 17) для ан exampсмерць абвяшчае класы слухачоў. - Рэалізаваць onSuccess ўнутры ст APIListener
Калі clearAuthorizationState атрымаецца, вы павінны абнавіць свой карыстацкі інтэрфейс, каб выдаліць спасылкі на карыстальніка і забяспечыць механізм уваходу, які карыстальнікі могуць выкарыстоўваць для паўторнага ўваходу. - Рэалізаваць onError ўнутры ст APIListener.
If clearAuthorizationStatereturns памылка, вы можаце дазволіць карыстальніку паспрабаваць выйсці яшчэ раз.@Override
абаронены несапраўдны onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
/* Дэкларацыі Previous onCreate апушчаны */
// Знайдзіце кнопку з ідэнтыфікатарам выхаду з сістэмы і наладзьце апрацоўшчык клікаў
mLogoutButton = (Кнопка) знайсціViewById(R.id.выхад);
mLogoutButton.setOnClickListener(новы OnClickListener() {
@Override
public void onClick(View v) {
mAuthManager.clearAuthorizationState(новы
APIListener() {
@Override
public void onSuccess(Bundle results) {
// Усталяваць стан выхаду з сістэмы ў карыстальніцкім інтэрфейсе
}
@Override
public void onError(AuthError authError) {
// Запіс памылкі
}
});
}
});
}
Некаторыя AmazonAuthorizationManager метады вяртаюць аб'ект Future. Гэта дазваляе выклікаць метад сінхронна замест перадачы слухача ў якасці параметра. Калі вы выкарыстоўваеце аб'ект Future, вы не павінны выкарыстоўваць яго ў патоку карыстацкага інтэрфейсу. Калі вы заблакуеце паток карыстальніцкага інтэрфейсу больш чым на пяць секунд, вы атрымаеце запыт ANR (прыкладанне не адказвае). У ручцы кнопку ўваходу і Get Profile Дадзеныя прample , the onSuccess метад для AuthorizeListener выклікаецца з рабочым патокам, створаным AmazonAuthorizationManager. Гэта азначае, што бяспечна выкарыстоўваць гэты паток для выкліку getPirofile сінхронна. Каб зрабіць сінхронны выклік, прызначце вяртанае значэнне з getPirofile да будучага аб'екта і выклічце гіетметад на гэтым аб'екце чакаць, пакуль метад не завершыцца.
Fuiture.get вяртае аб'ект Bundle, які змяшчае a FUTURE_TYPE значэнне ПОСПЕХ, ПАМЫЛКА, or СКАСАВАЦЬ. Калі метад быў паспяховым, той жа пакет будзе ўтрымліваць PROFILEЗначэнні _KEY для прафесіяналаfile дадзеныя. Напрыкладampль:
/* Аўтарызацыя прайшла паспяхова. */ @Override public void onSuccess(Bundle response) { Future<Bundle> future = mAuthManager.getProfile(нуль); Bundle result = future.get();// Даведайцеся, ці ўдаўся выклік, і атрымайце праfile Аб'ект future_type = result.get(AuthzConstants.BUNDLE_KEY.FUTURE.val); калі (future_type == AuthzConstants.FUTURE_TYPE.SUCCESS) { Імя радка = result.getString( AuthzConstants.PROFILE_KEY.NAME.val); Радок электроннай пошты = 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Дадзеныя (імя, адрас электроннай пошты, уліковы запіс, паштовы індэкс); } }); } інакш, калі (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Атрымаць аб'ект памылкі AuthError authError = AuthError.extractError(вынік); /* Выкарыстоўвайце authError для дыягностыкі памылкі */ } |
Увайдзіце ў Amazon. Кіраўніцтва па пачатку працы для Android – Спампаваць [аптымізавана]
Увайдзіце ў Amazon. Кіраўніцтва па пачатку працы для Android – Спампаваць