Login ak Amazon pou kòmanse Gid pou android
Konekte avèk Amazon: Gid pou kòmanse pou android
Copyright © 2016 Amazon.com, Inc., oswa afilye li yo. Tout dwa rezève. Amazon ak logo Amazon se mak komèsyal Amazon.com, Inc. oswa afilye li yo. Tout lòt mak komèsyal ki pa Amazon yo se pwopriyete mèt pwopriyete respektif yo.
Pou kòmanse pou android
Nan gid sa a nou pral montre w kouman yo ajoute Login ak Amazon nan app android ou. Apre w fin ranpli gid sa a ou ta dwe gen yon Login k ap travay ak bouton Amazon nan app ou a ki pèmèt itilizatè yo ouvri sesyon an ak kalifikasyon Amazon yo.
Enstale zouti yo Developer android
Login a ak Amazon sdk pou android pral ede w ajoute Login ak Amazon nan aplikasyon android ou. Nou rekòmande ou itilize Login a ak Amazon SDK pou android soti nan developer.amazon.com ak android Studio. Ou ka sepandan tou itilize eklips la ak Plugin ADT. Pou etap sou kòman yo enstale android Studio ak sou ap resevwa android sdk la mete kanpe, gade Jwenn Android SDK la sou developer.android.com.
Lè SDK android a enstale, jwenn nan Manadjè SDK aplikasyon nan enstalasyon android ou. Pou devlope pou Login ak Amazon, ou dwe itilize manadjè SDK pou enstale platfòm SDK pou android 2.2 oswa pi wo (API vèsyon 8). Gade Ajoute pakè sdk sou developer.android.com pou plis enfòmasyon sou lè l sèvi avèk sdk
Apre enstale sdk la, mete kanpe yon android Virtual Aparèy (AVD) pou kouri apps ou. Gade Jere Aparèy Virtuel sou developer.android.com pou enstriksyon sou mete kanpe yon aparèy vityèl.
Lè anviwònman devlopman ou an mete kanpe, ou kapab Enstale Login a ak Amazon sdk pou android or Kouri S laample App, jan sa dekri anba a.
Enstale Login a ak Amazon sdk pou android
Login a ak Amazon sdk pou android vini nan de pakè. Premye a gen bibliyotèk la android ak dokiman sipò. Dezyèm lan gen kòmampaplikasyon an ki pèmèt yon itilizatè ouvri sesyon an epi montre pro yofile done.
Si ou pa deja enstale android sdk la oswa zouti yo Devlopman android, gade nan Enstale Zouti yo Developer android seksyon anlè a.
- Telechaje postal epi ekstrè a files nan yon anyè sou kondwi difisil ou.
Ou ta dwe wè yon dok ak yon lib sou-anyè. - Louvri doc / index.html pou view Login a ak Amazon android API
- Gade Enstale Login a ak Amazon Bibliyotèk, pou enstriksyon sou kòman yo ajoute bibliyotèk la ak dokiman nan yon android
Lè se Login a ak Amazon sdk pou android enstale, ou kapab Kreye yon Nouvo Login ak Amazon Pwojè, apre Enskri ak Login ak Amazon .
Kouri S laample App
Pou kouri s laampaplikasyon an, enpòte s laampnan yon espas travay AndroidStudio (si w ap itilize Eclipse, ou dwe ajoute tou yon magazen debug koutim nan espas travay la. Gade nan Add debug la Custom Keystore nan eklips seksyon anba a). Kle API ki s laampaplikasyon aplikasyon an mande pou vorkspas la sèvi ak magazen kle ki bato ak sample. Si kle magazen an koutim pa enstale, itilizatè yo pa yo pral kapab ouvri sesyon an lè l sèvi avèk s laample. Keystore a pral ranmase otomatikman si w ap itilize AndroidStudio.
- Telechaje SampleLoginWithAmazonAppForAndroid-src.zip epi ekstrè a files nan yon anyè sou difisil ou
- Kòmanse android Studio epi chwazi Louvri yon pwojè ki deja egziste Android Studio
- Navige nan la SampleLoginWithAmazonApp anyè jwenn apre ekstrè postal la telechaje file nan Etap
- Soti nan Bati meni, klike sou Fè Pwojè, epi rete tann pou pwojè a
- Soti nan Kouri meni, klike sou Kouri epi klike sou la SampleLoginWithAmazonApp.
- Chwazi Emulation a oswa konekte aparèy android, epi klike Kouri.
Ajoute magazen an Custom Debug Key nan Eclipse
Si w ap itilize eklips, swiv enstriksyon ki anba yo ajoute magazen debug koutim la:
- Nan la Preferans dyalòg, chwazi Android epi Bati.
- Akote Custom Debug Keystore, klike sou Browse.
- Navige nan s laampanyè a app epi chwazi 3p.keystore, epi klike sou OK.
Enskri ak Login ak Amazon
Anvan ou ka itilize Login ak Amazon sou yon websit oswa nan yon aplikasyon mobil, ou dwe anrejistre yon aplikasyon ak Login ak Amazon. Ou konekte ak Amazon aplikasyon an se enskripsyon an ki gen enfòmasyon debaz sou biznis ou, ak enfòmasyon sou chak websit oswa aplikasyon mobil ou kreye ki sipòte Login ak Amazon. Enfòmasyon biznis sa a parèt pou itilizatè yo chak fwa yo itilize Login with Amazon sou ou websit oswa mobil app. Itilizatè yo pral wè non aplikasyon ou an, logo ou, ak yon lyen nan règleman sou vi prive ou. Etap sa yo demontre kouman yo enskri yon Login ak aplikasyon Amazon epi ajoute yon app android nan ki kont.
Gade sijè sa yo:
- Enskri Login ou a ak Amazon Aplikasyon
- Enskri App android ou
- Ajoute yon App android pou Amazon Appstore
- Ajoute yon App android san yo pa Appstore
- Android App Siyati ak kle API
- Detèmine yon Siyati App android
- Rekipere yon kle API android
Enskri Login ou a ak Amazon Aplikasyon
- Ale nan https://login.amazon.com.
- Si ou te enskri pou Login ak Amazon anvan, klike sou App Konsole. Sinon, klike sou Enskri. Ou pral reyorante resous nan Machann Santral, ki okipe enskripsyon aplikasyon pou Login ak Si sa a se premye fwa ou lè l sèvi avèk Machann Santral, yo pral mande w yo mete kanpe yon kont Machann Santral.
- Klike sou Anrejistre Nouvo Aplikasyon. La Anrejistre aplikasyon w lan fòm ap parèt:
a. Nan la Anrejistre aplikasyon w lan fòm, antre nan yon Non ak yon Deskripsyon pou aplikasyon w lan.
La Non se non ki parèt sou ekran konsantman an lè itilizatè yo dakò pataje enfòmasyon ak aplikasyon w lan. Non sa a aplike a Android, iOS, ak webvèsyon sit aplikasyon w lan.
b. Antre yon Avi sou enfòmasyon prive URL pou aplikasyon w lan
La Avi sou enfòmasyon prive URL se kote règleman sou vi prive konpayi ou an oswa aplikasyon an (pou ansyenample, http://www.example.com/privacy.html). Lyen sa a parèt pou itilizatè yo sou ekran konsantman an.
c. Si ou vle ajoute yon Imaj Logo pou aplikasyon w lan, klike sou Browse epi lokalize imaj ki aplikab la.
Logo sa a parèt sou siyen-an ak konsantman ekran pou reprezante biznis ou oswa websit. Logo a ap retresi a 50 piksèl nan wotè si li pi wo pase 50 piksèl; pa gen okenn limit sou lajè logo la - Klike sou Sove. s ouampenskripsyon an ta dwe sanble ak sa a:
Apre yo fin sove paramèt aplikasyon debaz ou a, ou ka ajoute paramèt espesifik websit ak apps mobil ki pral itilize sa a Login ak kont Amazon.
Enskri App android ou
Pou enskri yon App android, ou gen chwa pou enskri yon app nan Amazon Appstore la (Ajoute yon App android pou Amazon Appstore, p. 8) oswa dirèkteman avèk Login ak Amazon (Ajoute yon android App san Appstore, p. 9). Lè app ou anrejistre, ou pral gen aksè a yon kle API ki pral bay aksè app ou a Login ak sèvis otorizasyon Amazon.
Remak: Si ou fè plan yo sèvi ak Amazon Aparèy Messaging nan app android ou a, tanpri kontakte lwa- support@amazon.com ak:
- Adrès imèl la nan kont lan Amazon ou itilize yo enskri pou Login ak Amazon.
- Adrès imèl la nan kont lan Amazon ou itilize yo enskri pou Amazon Appstore a (si diferan).
- Non an sou kont Machann ou Santral. (Sou Seller Central, klike sou Anviwònman> Enfòmasyon sou Kont> Enfòmasyon sou Machann, epi sèvi ak Montre Non).
- Non an sou kont pwomotè Amazon Appstore ou an. (Sou sit mobil Distribisyon App a, klike sou Anviwònman > Konpayi Profile epi sèvi ak la Non Developer oswa Non Konpayi).
Ajoute yon App android pou Amazon Appstore
Etap sa yo pral ajoute yon app Amazon Appstore nan Login ou ak kont Amazon:
- Soti nan ekran Aplikasyon an, klike sou Anviwònman android. Si ou deja gen yon app android ki anrejistre, gade pou la Ajoute API kle bouton nan Anviwònman android
La Android Aplikasyon Detay fòm ap parèt: - Chwazi Wi an repons a kesyon an "Èske aplikasyon sa a distribye nan Amazon Appstore la?"
- Antre nan Mete etikèt sou nan App android ou. Sa a pa dwe non ofisyèl nan app ou an. Li tou senpleman idantifye sa a an patikilye app android nan mitan apps yo ak websit ki anrejistre nan Login ou ak aplikasyon Amazon.
- Ajoute ou ID Amazon Appstore.
- Si ou oto-siyen app ou, ajoute enfòmasyon oto-siyen. Sa a pral pèmèt ou jwenn yon kle API pandan devlopman san yo pa itilize Appstore la dirèkteman:
a. Si app ou a pa te siyen nan Amazon Appstore, chwazi Wi nan repons a kesyon an "Èske aplikasyon sa a oto-siyen?
La Android Aplikasyon Detay fòm pral elaji:
b. Antre ou Non pake.
Sa a dwe matche ak non an pake nan pwojè android ou. Pou detèmine non an pake nan pwojè android ou a, louvri pwojè a nan chwa ou nan zouti pwomotè android.
Louvri AndroidManifest.XML nan Package Explorer epi chwazi a Manifest tab. Premye antre a se non pakè a.
c. Antre nan app a Siyati.
Sa a se yon valè SHA-256 hash itilize pou verifye aplikasyon w lan. Siyati a dwe nan fòm lan nan 32 pè ekzadesimal separe pa kolon (pou ansyenample: 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). Gade Android App Siyati ak kle API pou etap ou ka itilize yo ekstrè siyati ki soti nan pwojè ou a. - Klike sou Sove.
Si vèsyon diferan nan app ou gen siyati diferan oswa non pake, tankou pou youn oswa plis vèsyon tès ak yon vèsyon pwodiksyon, chak vèsyon egzije pou pwòp kle API li yo. Soti nan la Anviwònman android nan app ou, klike sou la Ajoute API kle bouton pou kreye kle adisyonèl pou app ou (youn pou chak vèsyon).
Android App Siyati ak kle API
Siyati app a se yon valè SHA-256 hash ki aplike nan chak app android lè li bati. Amazon itilize siyati app a pou konstwi kle API ou a. Kle API a pèmèt sèvis Amazon yo rekonèt app ou an. Si ou itilize Amazon Appstore la pou siyen app ou, kle API la bay otomatikman. Si ou pa itilize Amazon Appstore a, ou pral bezwen jere kle API ou manyèlman.
Siyati App yo estoke nan yon magazen kle. Anjeneral, pou android apps gen yon keystore debug ak yon keystore lage. Se keystore debug la ki te kreye pa Plugin Zouti Devlopman android pou Eclipse epi li itilize pa default. Ou ka jwenn ki kote keystore debug la nan Eclipse pa klike Fenèt, ak Lè sa a, chwazi Preferences> Android> Build. Soti nan ki ekran ou ka ajoute tou pwòp debug keystore ou. Pou android Studio, ki soti nan la Bati meni, chwazi Edite Kalite Bati, Lè sa a, ale nan Siyen tab, epi lokalize keystore debug la nan Magazen File jaden.
Yon keystore lage se nòmalman kreye lè ou ekspòtasyon app android ou a kreye yon APK siyen file.
Atravè pwosesis ekspòtasyon an, si w ap kreye yon nouvo magazen keystore ou pral chwazi kote li ye. Pa
default li pral mete nan menm kote ak default debog KeyStore ou.
Si ou te anrejistre app ou lè l sèvi avèk siyati a debug pandan devlopman, ou pral gen ajoute yon nouvo anviwònman android nan aplikasyon w lan lè ou pare yo lage app a. Anviwònman an nouvo app dwe itilize siyati ki soti nan magazen an lage.
Gade Lè w siyen aplikasyon w yo sou developer.android.com pou plis enfòmasyon.
Detèmine Siyati App android a
- Si ou gen yon APK siyen file:
a. Ouvri APK la file ak ekstrè CERT.RSA. (Ou ka chanje non ekstansyon APK a ZIP si sa nesesè).
b. Soti nan liy lan lòd, kouri:keytool -printcert -file CERT.RSA Keytoolis ki sitiye nan la bin anyè enstalasyon Java ou.
- Si ou gen yon magazen kle file:
a. Soti nan liy lan lòd, kouri:keytool -list -v -alias -keystorefilenon> Keytool sitiye nan anyè bin nan enstalasyon Java ou an. Alyas la se non kle ki itilize pou siyen app a.
b. Mete modpas la pou kle a ak laprès Antre. - Anba Anprent Sètifika, kopye a SHA256 valè.
Rekipere kle a API android
Lè ou te anrejistre yon anviwònman android ak bay yon siyati app, ou ka rekipere kle a API soti nan paj enskripsyon an pou Login ou ak aplikasyon Amazon. Ou pral bezwen mete ki kle API nan yon file nan pwojè android ou. Jiskaske ou fè sa, app a pa pral otorize pou kominike avèk Login ak sèvis otorizasyon Amazon.
- Ale nan https://login.amazon.com.
- Klike sou App Konsole.
- Nan la Aplikasyon bwat sou bò gòch, chwazi ou
- Jwenn app android ou anba a Anviwònman android (Si ou poko anrejistre yon app android, gade Ajoute yon App android pou Amazon Appstore).
- Klike sou Jenere API Valè kle. Yon fenèt popup ap montre kle API ou an. Pou kopye kle a, klike sou Chwazi Tout yo chwazi tout la
Remak: Valè kle API a baze, an pati, sou tan li pwodwi. Se konsa, ki vin apre API kle Valè (yo) ou jenere ka diferan de orijinal la. Ou ka itilize nenpòt nan sa yo Valè kle API nan app ou jan yo tout valab. - Gade Ajoute kle API ou a nan pwojè ou a pou enstriksyon sou ajoute kle a API nan android ou
Kreye yon Login ak Amazon Pwojè
Nan seksyon sa a, ou pral aprann ki jan yo kreye yon nouvo pwojè android pou Login ak Amazon, configured pwojè a, epi ajoute kòd nan pwojè a yo siyen nan yon itilizatè ak Login ak Amazon. Nou pral dekri etap sa yo pou android Studio, men ou ka aplike etap analòg nan nenpòt IDE oswa android zouti devlopman nan chwa ou.
Gade sijè sa yo:
- Kreye yon Nouvo Login ak Pwojè Amazon
- Enstale Login a ak Amazon Bibliyotèk
- Pèmèt kontni Ede pou Login a ak Amazon Bibliyotèk
- Mete rezo pèmisyon pou App ou
- Ajoute kle API ou a nan pwojè ou a
- Retire S laampApp a Custom debug Keystore
- Manyen Chanjman konte genyen pou aktivite ou
- Ajoute yon Aktivite Otorizasyon nan Pwojè w la
- Ajoute yon Login ak bouton Amazon nan App ou an
- Manyen bouton an Login epi pou yo jwenn Profile Done
- Tcheke pou Login Itilizatè nan demaraj
- Klè Otorizasyon Eta epi soti yon itilizatè
- Rele Amazon Otorizasyon Metòd Manadjè senkronize
Kreye yon Nouvo Login ak Pwojè Amazon
Si ou poko gen yon pwojè app pou itilize Login ak Amazon, swiv enstriksyon ki anba yo pou kreye youn. Si ou gen yon app ki deja egziste, ale nan Enstale Login a ak Amazon Bibliyotèk .
- Lanse Android Zouti Devlopman.
- Soti nan File meni, chwazi Nouvo epi Pwojè.
- Antre nan yon Non aplikasyon an epi Non konpayi pou ou
- Antre nan Aplikasyon ak Non Konpayi an ki koresponn ak non pake ke ou te chwazi lè ou anrejistre app ou a ak Login ak Amazon.
Si ou poko anrejistre app ou an, chwazi yon Non pake a ak Lè sa a, swiv enstriksyon ki nan la Enskri ak Login ak Amazon seksyon apre ou fin kreye pwojè ou. Si non pake a nan app ou pa matche ak non an pake ki anrejistre, Login ou a ak apèl Amazon pa pral reyisi. - Chwazi yon Minimòm obligatwa sdk nan API 8: android 2 (Froyo) oswa pi wo, epi klike sou Next.
- Chwazi ki kalite aktivite ou vle kreye epi klike sou Next.
- Ranpli detay ki enpòtan yo epi klike Fini.
Ou pral kounye a gen yon nouvo pwojè nan espas travay ou ke ou ka itilize yo rele Login ak Amazon.
Enstale Login a ak Amazon Bibliyotèk
Si ou poko telechaje Login a ak Amazon sdk pou android, gade Enstale Login a ak Amazon sdk pou android (p. 4).
- Avèk pwojè ou louvri nan Android Developer Tools, nan Pwojè Explorer, dwa-klike sou ou Pwojè.
- Si yon katab rele lib pa deja prezan, kreye
- Kopi a login-with-amazon-sdk.jar file soti nan File Sistèm, ak Lè sa a, kole l 'nan la lib anyè anba pwojè ou / app.
- Dwa-klike sou login-with-amazon-sdk.jar, epi tcheke a Add Kòm Bibliyotèk
Pèmèt Kontni Ede pou Login a ak Amazon Bibliyotèk nan eklips
Pou pèmèt kontni an eklips sipò sipò nan yon pwojè android mande pou lè l sèvi avèk yon .pwopriyete file. Pou plis enfòmasyon sou kontni ede, gade Kontni / Kòd Ede onhelp.eclipse.org.
Pou pèmèt kontni an eklips sipò sipò nan yon pwojè android mande pou lè l sèvi avèk yon .pwopriyete file. Pou plis enfòmasyon sou kontni ede, gade Kontni / Kòd Ede onhelp.eclipse.org.
- In Windows Explorer, navige nan dok Katab pou Login a ak Amazon sdk pou android ak kopi Katab la nan la
- Avèk pwojè ou louvri, ale nan Pake Explorer epi chwazi a lib Klike sou Edit soti nan meni prensipal la epi chwazi Kole. Ou ta dwe kounye a gen yon libs \ dokiman anyè.
- Chwazi la lib Klike sou File soti nan meni prensipal la epi chwazi Nouvo epiFile.
- Nan la Nouvo File dyalòg, antre login-with-amazon-sdk.jar.properties epi klike Fini.
- Eclipse ta dwe louvri login-with-amazon-sdk.jar.properties nan editè tèks la. Nan editè tèks la, ajoute liy sa a nan file:
doc = dok - Soti nan File meni, klike sou Sove.
- Ou ka bezwen rekòmanse Eclipse pou chanjman yo pran efè
Mete rezo pèmisyon pou App ou
Nan lòd pou app ou a sèvi ak Login ak Amazon, li dwe jwenn aksè nan entènèt la ak aksè enfòmasyon rezo leta yo. App ou dwe revandike otorizasyon sa yo nan manifest android ou, si li pa deja.
REMAK: Etap yo pwosedi anba a yo espesifik nan ajoute autorisations yo nan Eclipse. Si w ap itilize android Studio oswa yon IDE diferan, ou ka sote tout etap sa yo nimero anba a. Olye de sa, kopye liy ki nan kòd parèt anba a D a, epi kole yo nan la AndroidManifest.xml file, andeyò blòk aplikasyon an.
- In Pake Explorer, double-klike sou xml.
- Sou la Otorizasyon tab, klike sou Ajoute.
- Chwazi Li sèvi ak pèmisyon epi klike OK.
- Sou bò dwat la Otorizasyon, jwenn la Atribi pou itilizasyon pèmisyon
- Nan la Non bwat, antre pèmisyon. ENTÈNÈT oswa chwazi li nan drop-down la.
- Sou la Otorizasyon tab, klike sou Ajoute
- Chwazi Li sèvi ak pèmisyon epi klike OK.
- Nan la Non bwat, antre pèmisyon.ACCESS_NETWORK_STATE oswa chwazi li nan drop-down la
- Soti nan File meni, klike sou Sove.
Otorizasyon manifeste ou yo ta dwe kounye a gen valè sa yo:
Nan la AndroidManifest.xml tab, ou ta dwe wè kounye a antre sa yo anba eleman manifest la:
Ajoute kle API ou a nan pwojè ou a
Lè ou enskri aplikasyon android ou a ak Login ak Amazon, yo asiyen ou yon kle API. Sa a se yon idantifikasyon ke Manadjè Otorizasyon Amazon la pral itilize pou idantifye aplikasyon w lan nan Login ak sèvis otorizasyon Amazon lan. Si w ap itilize Amazon Appstore pou siyen app ou, Appstore a ap bay kle API a otomatikman. Si ou pa ap itilize Amazon Appstore a, Manadjè a Otorizasyon Amazon chaje valè sa a nan ègzekutabl soti nan la api_key.txt file nan la byen yo anyè.
- Si ou pa gen kle API ou ankò, swiv enstriksyon yo nan Rekipere kle a API android (p. 11).
- Avèk pwojè ADT ou louvri, ki soti nan File meni, klike sou Nouvo epi chwazi Tèks san tit File. Ou ta dwe kounye a gen yon fenèt editè pou yon tèks file non San tit 1. Ajoute kle API ou nan tèks la
- Soti nan File meni, klike sou Sove kòm.
- Nan la Sove kòm dyalòg, chwazi a byen yo anyè pwojè ou kòm katab paran an. Pou File non, antre txt.
Retire S laampApp a Custom debug Keystore
REMAK: Etap sa a obligatwa sèlman si w ap itilize eklips; si w ap itilize android Studio, sote seksyon sa a.
Si ou enstale Login a ak Amazon pou android sampaplikasyon an nan menm espas travay la w ap itilize pou app android ou, ou ka gen yon magazen debug koutim mete pou espas travay la. Ou bezwen klè keystore a debug koutim yo nan lòd yo sèvi ak pwòp kle API ou a.
- Soti nan meni prensipal la, klike sou Fenèt epi chwazi Preferans.
- Nan la Preferans dyalòg, chwazi Android epi Bati.
- Klè a Custom debug keystore
- Klike sou OK.
Manyen Chanjman konte genyen pou aktivite ou
Si yon itilizatè chanje oryantasyon ekran an oswa chanje eta klavye aparèy la pandan y ap ouvri sesyon an, li pral fè yon rekòmanse nan aktivite aktyèl la. Rekòmanse sa a pral ranvwaye ekran an login san atann. Pou anpeche sa a, ou ta dwe mete aktivite a ki itilize metòd la otorize okipe chanjman sa yo konfigirasyon manyèlman. Sa ap anpeche yon rekòmanse nan aktivite a.
- In Pake Explorer, double-klike sou xml.
- Nan la Aplikasyon seksyon, lokalize aktivite a ki pral okipe Login ak Amazon (pou egzanpample, MainActivity).
- Ajoute atribi sa a nan aktivite ou sitiye nan Etap 2:
android: configChanges = ”klavye | keyboardHidden | oryantasyon” Oswa pou API 13 oswa pi gran:
android: configChanges = "klavye | keyboardHidden | oryantasyon | screenSize" - Soti nan File meni, klike sou Sove
Koulye a, lè yon klavye oswa chanjman oryantasyon aparèy k ap pase, android ap rele nan onConfigurationChanged metòd pou aktivite ou. Ou pa bezwen aplike fonksyon sa a sof si gen yon aspè nan chanjman sa yo konfigirasyon ke ou vle okipe pou app ou
Lè itilizatè a klike sou Login ak bouton Amazon, API a pral lanse yon web navigatè prezante yon paj login ak konsantman bay itilizatè a. Nan lòd pou aktivite navigatè sa a travay, ou dwe ajoute AuthorizationActivity nan manifest ou an.
- In Pake Explorer, double-klike sou xml.
- Nan la Aplikasyon seksyon, ajoute kòd sa a, ranplase "com.example.app "ak non pake ou pou app sa a:
<aktivite android:name=
"Com.amazon.identity.auth.device.authorization.AuthorizationActivity" android: theme = "@ android: style / Theme.NoDisplay" android: allowTaskReparenting = "vre" android: launchMode = "singleTask">
<action android:name="android.intent.action.VIEW” />
<done
android: lame = "com.example.app ”android: scheme =” amzn ”/>
app ou an. Seksyon sa a bay etap pou telechaje yon Login ofisyèl ak imaj Amazon ak appariement li ak yon ImageButton android.
- Ajoute yon ImageButton estanda nan app ou.
Pou plis enfòmasyon sou bouton android ak klas ImageButton, gade Bouton sou developer.android.com. - Bay bouton ou yon id.
Nan deklarasyon an bouton XML, mete android: id atribi a @ + id / login_with_amazon. Pou ansyenample:android: id = "@ + id / login_with_amazon" - Chwazi yon imaj bouton.
Konsilte Login nou an ak Amazon Gid Style pou yon lis bouton ke ou ka itilize nan app ou. Telechaje yon kopi LWA_Android.zip file. Ekstrè yon kopi bouton ou pi pito pou chak dansite ekran app ou sipòte (xxhdpi, xhdpi, hdpi, mdpi, oswa tvdpi). Pou plis enfòmasyon sou sipòte dansite ekran miltip nan android, gade Layout Altènatif nan sijè "Sipò ekran miltip" ondeveloper.android.com. - Kopi imaj bouton ki apwopriye a files nan pwojè ou a.
Pou chak dansite ekran ke ou sipòte (xhdpi, hdpi, mdpi, oswa ldpi), kopye bouton an telechaje nan la res / trase anyè pou dansite ekran sa. - Deklare imaj bouton an.
Nan deklarasyon XML bouton an, mete atribi android: src sou non bouton ou chwazi a. Pou ansyenample:android: src = "@ drawable / btnlwa_gold_loginwithamazon.png" 6. Chaje app ou, epi verifye ke bouton an kounye a gen yon Login ak imaj Amazon. Ou ta dwe verifye ke bouton an montre byen pou chak dansite ekran ou sipòte.
Seksyon sa a eksplike kijan pou rele otorize a ak getProfile APIs ouvri sesyon an nan yon itilizatè ak rekipere pro yofile done. Sa a gen ladan kreye yon koute onClick pou Login ou ak bouton Amazon nan metòd la onCreate nan app ou.
- Add Login ak Amazon nan pwojè android ou. Gade Enstale Login a ak Amazon Bibliyotèk .
- Enpòte Login a ak Amazon API nan sous ou
Pou enpòte Login ak Amazon API, ajoute deklarasyon enpòte sa yo nan sous ou an file:enpòte com.amazon.identity.auth.device.AuthError; enpòte
com.amazon.identity.auth.device.otorizasyon.api.
AmazonAuthorizationManager; enpòte
com.amazon.identity.auth.device.authorization.api. AuthorizationListener; enpòte com.amazon.identity.auth.device.authorization.api.AuthzConstants; - Inisyalize Amazon AuthorizationManager.
Ou pral bezwen deklare yon Amazon AuthorizationManager varyab ak kreye yon nouvo egzanp nan klas la. Kreye yon nouvo egzanp sèlman mande pou kontèks aplikasyon ou ye kounye a ak yon pake vid. Pi bon kote pou inisyalize Amazon AuthorizationManager se nan la onCreate metòd pou Aktivite ou. Pou ansyenample: - Kreye yon AuthorizeLiistener.
AuthorizeListener aplike koòdone nan AuthorizatioinListener, epi yo pral travay sou rezilta a nan otorize apèl. Li gen twa metòd: oinSuccess, onError, ak onCanceil. Chak metòd resevwa swa yon pake oswa yon AuthError objè.klas prive AuthorizeListener aplike AuthorizationListener {
/ * Otorizasyon te konplete avèk siksè. * /
@Ann plase
anile piblik onSuccess (repons Bundle) {
}
/ * Te gen yon erè pandan tantativ pou otorize aplikasyon an.
*/
@Ann plase
anile piblik onError (AuthError ae) {
}
/ * Otorizasyon te anile anvan li te kapab ranpli. * /
@Ann plase
anile piblik onCancel (Bundle kòz) {
}
} - Rele AmazonAuthorizationManager.authorize.
Nan la onClick okipan pou Login ou ak bouton Amazon, rele otorize pou fè itilizatè a ouvri sesyon an epi otorize aplikasyon w lan.
Metòd sa a responsab pou otorize kliyan an nan youn nan fason sa yo:- Chanje nan navigatè sistèm lan epi li kite kliyan an siyen epi konsantman yo mande a
- Chanje nan web view nan yon kontèks ki an sekirite, kite kliyan an siyen nan ak konsantman yo mande yo la
Se kontèks sa a sekirite pou # 2 kounye a disponib kòm app a Shopping Amazon sou aparèy android. Amazon-kreye aparèy kouri OS dife (pou egzanpample Kindle Fire, Fire Phone, and Fire TV) toujou itilize opsyon sa a menm si pa gen okenn app Amazon Shopping sou aparèy la. Poutèt sa, si kliyan an deja siyen nan Amazon Shopping app, API sa a pral sote siyen an nan paj, ki mennen nan yon Single Sign On eksperyans pou kliyan an.
Lè aplikasyon w lan otorize, li otorize pou youn oswa plis seri done ke yo rekonèt kòm dimansyon. Premye paramèt la se yon etalaj de dimansyon ki kouvri done yo itilizatè ke ou ap mande nan Login ak Amazon. Premye fwa yon itilizatè ouvri sesyon an nan app ou, yo pral prezante ak yon lis nan done yo w ap mande epi yo mande pou apwobasyon. Login ak Amazon kounye a sipòte twa dimansyon: profile, ki gen non itilizatè a, adrès imèl, ak id kont Amazon; profile: itilizatè_id, ki gen sèlman id kont Amazon; ak Kòd postal, ki gen postal / postal postal itilizatè a.
Pi bon fason yo rele otorize se asenkron, kidonk, ou pa gen yo bloke fil la UI oswa kreye yon fil travayè nan pwòp ou yo. Rele autorizeasynchronously, pase yon objè ki sipòte a OtorizasyonListenerinterface kòm dènye paramèt la:prive AmazonAuthorizationManager mAuthManager; @Ann plase
protected void onCreate(Pakèt savedInstanceState) {
super.onCreate (savedInstanceState);
mAuthManager = nouvo AmazonAuthorizationManager (sa a, Bundle.EMPTY);// Jwenn bouton an ak ID login_with_amazon la
// epi mete kanpe yon manyen klike sou
mLoginButton = (bouton) jwennViewById (R.id.login_with_amazon);
mLoginButton.setOnClickListener (nouvo OnClickListener () {
@Ann plase
anile piblik onClick (View v) {
mAuthManager.authorize (
nouvo fisèl [] {“profile","Kòd postal"},
Bundle.EMPTY, nouvo AuthorizeListener ());
}
});
} - Kreye yon ProfileKoute.
ProfileKoute se non nou pou yon klas ki aplike APIListener koòdone, epi yo pral travay sou rezilta a nan getProfile rele. APIListener gen de metòd: onSuccess ak onError (li pa sipòte sou Anile paske pa gen okenn fason pou anile yon getProfile rele). onSuccess resevwa yon objè Bundle ak profile done, pandan y ap onError resevwa yon AuthError objè ak enfòmasyon sou erè a.prive klas ProfileKoute aplike APIListener { / * getProfile konplete avèk siksè. * / @ Override
anile piblik onSuccess (repons Bundle) {}
/ * Te gen yon erè pandan tantativ la jwenn pro lafile. * / @ Override
anile piblik onError (AuthError ae) {
}
} - Aplike onSuccess pou ou AuthorizeListener.
In onSiksè, rele AmazonAuthorizationManager.getProfile rekipere pro kliyan anfile. getProfile, tankou otorize, sèvi ak yon koòdone asenkron koute. Pou getProfile, ki koòdone se APIListener, notAuthorizationListener.
/ * Otorizasyon te konplete avèk siksè. * / @ Override
anile piblik onSuccess (repons Bundle) {
mAuthManager.getProfile(nouvo ProfileKoute ());} - Aplike onSuccessfor ou ProfileKoute.
onSuccesshas de travay prensipal: rekipere pro lafile done ki soti nan repons lan Bundle, ak yo pase done yo nan UI la. updateProfileDatais yon fonksyon ipotetik app ou ta ka aplike yo montre profile detay. setLoggedInState, yon lòt fonksyon ipotetik, ta endike ke se yon itilizatè louvri sesyon an epi ba yo yon mwayen pou koneksyon.
Rekipere pro lafile done ki sòti nan pake a, nou itilize non ki estoke pa la AuthzConstants klas. La onSuccess pake gen pro lafile done nan yon BUNDLE_KEY.PROFILE pake.
Nan Pro afile pake, done yo sijè ki abòde endèks anba PROFILE_KEY.NAME, PROFILE_KEY.EMAIL, PROFILE_KEY.USER_ID, epi PROFILE_KEY.POSTAL_CODE. PROFILE_KEY.POSTAL_CODE se sèlman enkli si ou mande a postal_code dimansyon.@Ann plase
anile piblik onSuccess (repons Bundle) {
// Rekipere done nou bezwen yo nan Bundle Bundle profileBundle = response.getBundle (
AuthzConstants.BUNDLE_KEY.PROFILE.val);
Non fisèl = profileBundle.getString (
AuthzConstants.PROFILE_KEY.NAME.val);
Imèl fisèl = profileBundle.getString (
AuthzConstants.PROFILE_KEY.EMAIL.val);
Kont fisèl = profileBundle.getString (
AuthzConstants.PROFILE_KEY.USER_ID.val);
Kòd postal fisèl = profileBundle.getString (
AuthzConstants.PROFILE_KEY.POSTAL_CODE.val);
runOnUiThread (nouvo Runnable () {@Override
anile piblik kouri () {
updateProfileDone (non, imèl, kont, postal);
}
});
} - Aplike onError pou ou ProfileKoute.
onError gen ladann yon AuthError objè ki gen detay sou erè a./ * Te gen yon erè pandan tantativ la jwenn pro lafile. * / @ Override
anile piblik onError (AuthError ae) {
/ * Eseye ankò oswa enfòme itilizatè a nan erè a * /
} - Aplike onErrorfor ou AuthorizeListener.
/ * Te gen yon erè pandan tantativ pou otorize aplikasyon an.
*/
@Ann plase
anile piblik onError (AuthError ae) {
/ * Enfòme itilizatè a nan erè a * /
} - Aplike souCancelfor ou AuthorizeListener.
Paske pwosesis la otorizasyon prezante yon ekran login (epi pètèt yon ekran konsantman) itilizatè a nan yon web navigatè (oswa yon webview), itilizatè a ap gen yon opòtinite pou anile login la oswa navige lwen web paj. Si yo klèman anile pwosesis la login, sou Anile rele. Si onCancelis rele, ou pral vle Reyajiste UI ou./ * Otorizasyon te anile anvan li te kapab ranpli. * /
@Ann plase
anile piblik onCancel (Bundle kòz) {
/ * Reyajiste UI a nan yon eta pare-a-login * /
}Nòt: Si itilizatè a navige lwen ekran an login nan navigatè a oswa web view ak chanje tounen nan app ou, sdk a pa pral detekte ke login la pa te fini. Si ou detekte aktivite itilizatè nan app ou anvan koneksyon an fini, ou ka asime yo te navige lwen navigatè a epi reyaji kòmsadwa.
Tcheke pou Login Itilizatè nan demaraj
Si yon itilizatè ouvri sesyon nan app ou, fèmen app a, epi rekòmanse app a pita, app a toujou otorize pou rekipere done yo. Itilizatè a pa louvri sesyon otomatikman. Nan demaraj, ou ka montre itilizatè a kòm louvri sesyon an si se app ou toujou otorize. Seksyon sa a eksplike kijan pou itilize getToken pou wè si app a toujou otorize.
- Kreye yon TokenListener.
TokenListener aplike a APIListener koòdone, epi yo pral travay sou rezilta a nan apèl la getToken. APIListener gen de metòd: onSuccess epi onError (li pa sipòte sou Anile paske pa gen okenn fason pou anile yon getToken rele). onSuccess resevwa yon objè Bundle ak done siy, pandan y ap onError resevwa yon AuthError objè ak enfòmasyon sou erè a.klas prive TokenListener aplike APIListener { / * getToken ranpli avèk siksè. * / @ Override
anile piblik onSuccess (repons Bundle) {
}
/ * Te gen yon erè pandan tantativ pou jwenn siy lan. * / @ Override
anile piblik onError (AuthError ae) {
}
} - Nan la onStart metòd aktivite ou, rele getToken pou wè si aplikasyon an toujou otorize.
getToken rekipere siy la aksè anvan tout koreksyon ki Amazon AuthorizationManager sèvi ak aksè a yon kliyan profile. Si valè a siy se pa nil, Lè sa a, se app a toujou otorize ak yon apèl nan getProfile ta dwe reyisi. getTokenrequires menm dimansyon ou te mande nan apèl ou pou otorize.
getTokensupports apèl asenkron nan menm fason ak getProfile, kidonk, ou pa bezwen bloke fil UI a oswa kreye yon fil travayè nan pwòp ou yo. Pou rele getToken asenkron, pase yon objè ki sipòte a APIListener koòdone kòm paramèt final la.@Ann plase
anile pwoteje onStart () {
super.onStart
(); mAuthManager.getToken (nouvo fisèl [] {“profile","Kòd postal"},
nouvo
TokenListener ());
} - Aplike onSuccess pou ou TokenListener.
onSuccesshas de travay: rekipere siy la nan pake a, epi si siy la valab, rele getProfile.
Rekipere done yo siy soti nan pake a, nou itilize non ki estoke pa la AuthzConstants klas. La onSuccess pake gen done yo siy nan yon valè BUNDLE_KEY.TOKEN. Si valè sa a pa nil, ansyen sa aample apèl getProfile lè l sèvi avèk menm koute ou te deklare nan seksyon anvan an (gade etap 7 ak 8)./ * getToken ranpli avèk siksè. * /
@Ann plase
anile piblik onSuccess (repons Bundle) {
final string authzToken =
response.getString (AuthzConstants.BUNDLE_KEY.TOKEN.val);
si (! TextUtils.isEmpty (authzToken))
{
// Rekipere pro lafile done
mAuthManager.getProfile(nouvo ProfileKoute ());
}
}
Metòd clearAuthorizationState a pral efase done otorizasyon itilizatè a nan magazen done lokal AmazonAuthorizationManager. Yon itilizatè ap gen ouvri sesyon an ankò nan lòd pou app a rekipere profile done. Sèvi ak metòd sa a pou konekte yon itilizatè, oswa pou rezoud pwoblèm koneksyon nan app a.
- Aplike yon D '
Lè yon itilizatè te ouvri sesyon an avèk siksè, ou ta dwe bay yon mekanis pou yo ka soti pro yofile done ak sijè ki deja otorize. Mekanis ou ta ka yon lyen, oswa yon atik meni. Pou ansyen sa aample nou pral kreye yon onClick metòd pou yon bouton. - Nan moun kap okipe ou soti, rele clearAuthorizationState. clearAuthorizationState ap retire done otorizasyon yon itilizatè (aksè marqueur, profile) nan magazen lokal la. clearAuthorizationStatetakes pa gen okenn paramèt eksepte pou yon APIListener retounen siksè oswa
- Deklare yon anonim APIListener.
Klas anonim yo se yon altènatif itil pou deklare yon nouvo klas pou aplike APIListener. Gade Manyen bouton an Login epi pou yo jwenn Profile Done (p. 17) pou yon exampkite sa deklare klas koute yo. - Aplike onSuccess anndan an APIListener
Lè clearAuthorizationState reyisi ou ta dwe mete ajou UI ou yo retire referans a itilizatè a, epi bay yon mekanis login itilizatè yo ka itilize yo ouvri sesyon an ankò. - Aplike onError anndan an APIListener.
If clearAuthorizationStatereturns yon erè, ou ka kite itilizatè a eseye ouvri sesyon an ankò.@Ann plase
protected void onCreate(Pakèt savedInstanceState) {
super.onCreate (savedInstanceState);
/ * Previous sou Kreye deklarasyon omisyon * /
// Jwenn bouton ki gen ID Logout la epi mete kanpe yon moun kap klike sou li
mLogoutButton = (bouton) jwennViewById (R.id.logout);
mLogoutButton.setOnClickListener (nouvo OnClickListener () {
@Ann plase
anile piblik onClick (View v) {
mAuthManager.clearAuthorizationState (nouvo
APIListener () {
@Ann plase
anile piblik onSuccess (rezilta Bundle) {
// Mete konekte soti nan eta nan UI
}
@Ann plase
anile piblik onError (AuthError authError) {
// Journal erè a
}
});
}
});
}
Gen kèk Amazon AuthorizationManager metòd retounen yon objè Future. Sa a pèmèt ou rele metòd la senkronize olye pou yo pase yon koute kòm yon paramèt. Si ou itilize yon objè Future, ou pa ta dwe itilize li sou yon fil UI. Si ou bloke yon fil UI pou plis pase senk segonn ou pral jwenn yon èd memwa ANR (Aplikasyon pa reponn). Nan manch bouton an Login epi pou yo jwenn Profile Done ansyenample, la onSuccess metòd pou AuthorizeListener rele ak yon fil travayè ki te kreye pa Amazon AuthorizationManager. Sa vle di li san danje pou itilize fil sa pou rele getPirofile senkronize. Pou fè yon apèl senkronik, asiyen valè retounen nan jwennPirofile nan yon objè Future, epi rele la gietmetod sou ki objè yo rete tann jiskaske metòd la konplete.
Fuiture.get retounen yon objè Bundle ki gen yon FUTURE_TYPE valè de SIKSÈ, ERÈ, or ANILE. Si metòd la te yon siksè, pake a menm ap gen ladan PROFILE_KEY valè pou pro lafile done. Pou ansyenample:
/ * Otorizasyon te konplete avèk siksè. * / @Ann plase anile piblik onSuccess (repons Bundle) { Future <Bundle> tan kap vini = mAuthManager.getProfile(nil); Bundle result = future.get (); // Chache konnen si apèl la reyisi, epi rekipere pro afile Objè future_type = result.get (AuthzConstants.BUNDLE_KEY.FUTURE.val); si (future_type == AuthzConstants.FUTURE_TYPE.SUCCESS) { Non fisèl = result.getString (AuthzConstants.PROFILE_KEY.NAME.val); Imèl fisèl = result.getString (AuthzConstants.PROFILE_KEY.EMAIL.val); String account = result.getString (AuthzConstants.PROFILE_KEY.USER_ID.val); Kòd postal = result.getString (AuthzConstants.PROFILE_KEY.POSTAL_CODE.val); runOnUiThread (nouvo Runnable () {@Override piblik anile kouri () {updateProfileDone (non, imèl, kont, kòd postal); } }); } lòt bagay si (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Jwenn objè erè AuthError authError = AuthError.extractError (rezilta); / * Sèvi ak authError pou fè dyagnostik erè * / } |
Login ak Amazon pou kòmanse Gid pou android - Telechaje [optimisé]
Login ak Amazon pou kòmanse Gid pou android - Telechaje