Ensalutu per Amazon Komenca Gvidilo por Android
Ensalutu kun Amazon: Gvidilo por Komenco por Android
Kopirajto © 2016 Amazon.com, Inc., aŭ ĝiaj filioj. Ĉiuj rajtoj rezervitaj. Amazon kaj la Amazon-emblemo estas varmarkoj de Amazon.com, Inc. aŭ ĝiaj filioj. Ĉiuj aliaj varmarkoj ne posedataj de Amazon estas posedaĵo de iliaj respektivaj posedantoj.
Komencado por Android
En ĉi tiu gvidilo ni montros al vi kiel aldoni Ensalutadon kun Amazon al via Android-programo. Post kompletigi ĉi tiun gvidilon, vi devas havi funkciantan Ensaluton kun Amazon-butono en via programo por permesi al uzantoj ensaluti per siaj Amazon-akreditaĵoj.
Instalado de la Android-Programaj Iloj
La Ensaluto kun Amazon SDK por Android helpos vin aldoni Ensaluton kun Amazon al via Android-aplikaĵo. Ni rekomendas al vi uzi la Ensaluton kun Amazon SDK por Android de developer.amazon.com kun Android Studio. Vi tamen povas ankaŭ uzi la kromprogramon Eklipso kun ADT. Por paŝoj pri kiel instali Android Studio kaj kiel aranĝi la Android SDK, vidu Akiru la Android SDK ĉe programisto.android.com.
Kiam la Android SDK estas instalita, trovu la SDK-Manaĝero apliko en via Android-instalado. Por disvolvi por Ensaluti kun Amazon, vi devas uzi la SDK-Administranton por instali la SDK-Platformon por Android 2.2 aŭ pli alta (API versio 8). Vidu Aldono de SDK-Pakoj ĉe developer.android.com por pliaj informoj pri uzado de SDK
Post instalado de la SDK, starigu Android-Virtualan Aparaton (AVD) por funkciigi viajn programojn. Vidu Administrado Virtualaj Aparatoj ĉe developer.android.com por instrukcioj pri agordo de virtuala aparato.
Kiam via disvolva medio estas starigita, vi povas Instalu la Ensaluton per Amazon SDK por Android or Kuru la Sample App, kiel priskribite sube.
Instalu la Ensaluton per Amazon SDK por Android
La Ensaluto kun Amazon SDK por Android venas en du pakoj. La unua enhavas la Android-bibliotekon kaj subtenan dokumentaron. La dua enhavas kielampla aplikaĵo, kiu permesas al uzanto ensaluti kaj montri sian profesiulonfile datumoj.
Se vi ne jam instalis la Android SDK aŭ la Android-Evoluilojn, vidu la Instalado la Android-Programaj Iloj sekcio supre.
- Elŝutu zipo kaj ĉerpi la files al dosierujo de via fiksita disko.
Vi devus vidi a doc kaj a lib subdosierujo. - Malfermu doc / index.html al view la Ensaluto kun Amazon Android API
- Vidu Instalu la Ensaluton per Amazon-Biblioteko, por instrukcioj pri kiel aldoni la bibliotekon kaj dokumentaron al Android
Kiam la Ensaluto kun Amazon SDK por Android estas instalita, vi povas Kreu Novan Ensaluton kun Amazon Projekto, post Registriĝi kun Ensaluto ĉe Amazon .
Kuru la Sample App
Por funkciigi la sampla apliko, importu la sample en AndroidStudio-laborspacon (se vi uzas Eclipse, vi devas ankaŭ aldoni laŭmendan elpurigan ŝlosilbutikon al la laborejo. Vidu la Aldonu la Propran Elpurigon Ŝlosilvendejo en Eklipso sekcio sube). La API-Ŝlosilo, kiun la sampLa aplikaĵaj uzoj postulas, ke la laborspaco uzu la ŝlosilvendejon liveritan kun la sample. Se la laŭmenda ŝlosilvendejo ne estas instalita, uzantoj ne povos ensaluti per la sample. La ŝlosilvendejo estos aŭtomate reprenita se vi uzas AndroidStudio.
- Elŝutu SampleLoginWithAmazonAppForAndroid-src.zip kaj ĉerpi la files al dosierujo sur via malmola
- Lanĉu Android Studio kaj elektu Malfermu ekzistantan projekton Android Studio
- Foliumu al la SampleLoginWithAmazonApp dosierujo akirita post ĉerpado de la elŝutita zip file en Paŝo
- De la Konstruu menuo, klaku Faru Projekton, kaj atendu la projekton
- De la Kuru menuo, klaku Kuru kaj tiam alklaku la SampleLoginWithAmazonApp.
- Elektu la emulilon aŭ konektitan Android-aparaton kaj alklaku Kuru.
Aldonu la butikon Propra Elpuriga Ŝlosilo en Eklipso
Se vi uzas Eklipson, sekvu la ĉi-subajn instrukciojn por aldoni la kutiman senararigan ŝlosilvendejon:
- En la Preferoj dialogo, elektu Androido kaj Konstruu.
- Apud Kutimo Elpurigi Ŝlosilvendejon, klaku Foliumi.
- Iru al la sample app-dosierujo kaj elektu 3p.ŝlosilvendejo, kaj poste alklaku OK.
Registriĝi kun Ensaluto ĉe Amazon
Antaŭ ol vi povas uzi Ensalutu kun Amazon sur a webretejo aŭ en poŝtelefono, vi devas registri aplikaĵon kun Ensalutu kun Amazon. Via Ensalutu kun Amazon-aplikaĵo estas la registriĝo, kiu enhavas bazajn informojn pri via komerco kaj informojn pri ĉiu webretejo aŭ poŝtelefono, kiun vi kreas, kiu subtenas Ensalutu kun Amazon. Ĉi tiu komerca informo estas montrata al uzantoj ĉiufoje kiam ili uzas Ensalutu kun Amazon ĉe via webretejo aŭ poŝtelefona programo. Uzantoj vidos la nomon de via kandidatiĝo, vian emblemon kaj ligon al via privateca politiko. Ĉi tiuj paŝoj montras kiel registri Ensaluton kun Amazon-aplikaĵo kaj aldoni Android-programon al tiu konto.
Vidu la jenajn temojn:
- Registru Vian Ensaluton kun Amazon-Apliko
- Registri Vian Android-Programon
- Aldonu Android-Programon por Amazon-Appstore
- Aldonu Android-Programon Sen Appstore
- Android-App-Subskriboj kaj API-Ŝlosiloj
- Determinado de Android-App-Subskribo
- Elŝuti Android API-Ŝlosilon
Registru Vian Ensaluton kun Amazon-Apliko
- Iru al https://login.amazon.com.
- Se vi antaŭe registriĝis por Ensaluti kun Amazon, alklaku App-Konzolo. Alie, klaku Registriĝi. Vi estos redirektita al Seller Central, kiu pritraktas la registradon de aplikaĵoj por Ensaluti per Se ĉi tiu estas via unua fojo uzante Seller Central, vi estos petita starigi konton de Seller Central.
- Klaku Registri Novan Aplikon. La Registru Vian Aplikon formo aperos:
a. En la Registru Vian Aplikon formo, enigu a Nomo kaj a Priskribo por via kandidatiĝo.
La Nomo estas la nomo montrita sur la konsenta ekrano kiam uzantoj konsentas kunhavigi informojn kun via aplikaĵo. Ĉi tiu nomo validas por Android, iOS kaj webretejaj versioj de via kandidatiĝo.
b. Enigu a Privateca Avizo URL por via kandidatiĝo
La Privateca Avizo URL estas la loko de la privateca politiko de via kompanio aŭ aplikaĵo (ekzample, http://www.example.com/privacy.html). Ĉi tiu ligo montriĝas al uzantoj sur la konsenta ekrano.
c. Se vi volas aldoni a Logo Bildo por via aplikaĵo, alklaku Foliumi kaj lokalizu la aplikeblan bildon.
Ĉi tiu logoo montriĝas sur la ensaluta kaj konsenta ekrano por reprezenti vian kompanion aŭ webretejo. La logoo estos ŝrumpita ĝis 50 rastrumeroj alta se ĝi estas pli alta ol 50 rastrumeroj; ne estas limigo pri la larĝo de la logoo - Klaku Konservu. Via sampla registriĝo devus aspekti simila al ĉi tio:
Post kiam viaj bazaj aplikaj agordoj estas konservitaj, vi povas aldoni agordojn por specifaj webretejoj kaj poŝtelefonaj programoj, kiuj uzos ĉi tiun Ensaluton per Amazon-konto.
Registri Vian Android-Programon
Por registri Android-programon, vi havas la elekton registri programon per la Amazon-Butiko (Aldonu Android-Programon por Amazon-Appstore, p. 8) aŭ rekte kun Ensaluto kun Amazon (Aldonu Android App Sen Appstore, p. 9). Kiam via programo estas registrita, vi havos aliron al API-ŝlosilo, kiu donos al via programo aliron al la Ensaluta kun Amazon-rajtiga servo.
Notu: Se vi planas uzi Amazon-Aparatan Mesaĝadon ene de via Android-programo, bonvolu kontakti lwa- subteno@amazon.com kun:
- La retpoŝta adreso de la Amazon-konto, kiun vi uzis por registriĝi por Ensaluti kun Amazon.
- La retpoŝta adreso de la Amazon-konto, kiun vi uzis por registriĝi al Amazon Appstore (se malsama).
- La nomo en via Seller Central-konto. (En Seller Central, alklaku Agordoj> Informoj pri Konto> Informoj pri Vendistoj, kaj uzu la Vidiga Nomo).
- La nomo en via konto por programistoj de Amazon Appstore. (Sur la retejo de Poŝtelefona Distribuado, alklaku Agordoj > Kompanio Profile kaj uzu la Programa Nomo aŭ Kompania Nomo).
Aldonu Android-Programon por Amazon-Appstore
La jenaj paŝoj aldonos Amazon-Appstore-programon al via Ensaluto kun Amazon-konto:
- De la Aplika ekrano, alklaku Agordoj de Android. Se vi jam registris Android-programon, serĉu la Aldoni API-Ŝlosilon butono en la Agordoj de Android
La Detaloj pri Android-Apliko formo aperos: - Elektu Jes responde al la demando "Ĉu ĉi tiu aplikaĵo estas distribuita per la Amazon-Butiko?"
- Enigu la Etikedo de via Android-programo. Ĉi tio ne devas esti la oficiala nomo de via programo. Ĝi simple identigas ĉi tiun apartan Android-programon inter la programoj kaj webretejoj registritaj al via Ensaluto per Amazon-aplikaĵo.
- Aldonu vian Amazon-Appstore-ID.
- Se vi mem-subskribis vian programon, aldonu mem-subskribajn informojn. Ĉi tio permesos vin akiri API-ŝlosilon dum disvolviĝo sen uzi la Appstore rekte:
a. Se via programo ne estas subskribita per la Amazon-Butiko, elektu Jes kiel respondo al la demando "Ĉu ĉi tiu programo memsubskribas?"
La Detaloj pri Android-Apliko formo pligrandiĝos:
b. Enigu vian Paka Nomo.
Ĉi tio devas kongrui kun la paka nomo de via Android-projekto. Por determini la pakaĵan nomon de via Android-Projekto, malfermu la projekton laŭ via ilo de Android-ilo.
Malfermu AndroidManifest.XML en Paka Esplorilo kaj elektu la Manifesto langeto. La unua eniro estas la paka nomo.
c. Eniru la programon Subskribo.
Ĉi tio estas SHA-256-haŝa valoro uzata por kontroli vian kandidatiĝon. La subskribo devas esti en la formo de 32 deksesumaj paroj apartigitaj per dupunktoj (ekzample: 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). Vidu Android-App-Subskriboj kaj API-Ŝlosiloj por paŝoj, kiujn vi povas uzi por ĉerpi la subskribon de via projekto. - Klaku Konservu.
Se diversaj versioj de via programo havas malsamajn subskribojn aŭ pakaĵajn nomojn, ekzemple por unu aŭ pluraj testaj versioj kaj produkta versio, ĉiu versio bezonas sian propran API-Ŝlosilon. El la Agordoj de Android de via programo, alklaku la Aldoni API-Ŝlosilon butonon por krei aldonajn ŝlosilojn por via programo (po unu por versio).
Android-App-Subskriboj kaj API-Ŝlosiloj
La programo-subskribo estas SHA-256-haŝa valoro, kiu aplikiĝas al ĉiu Android-programo kiam ĝi estas konstruita. Amazon uzas la programan subskribon por konstrui vian API-Ŝlosilon. La API-Ŝlosilo ebligas al Amazon-servoj rekoni vian programon. Se vi uzas la Amazon-Butikon por subskribi vian programon, la API-ŝlosilo estas aŭtomate provizita. Se vi ne uzas la Amazon-Butikon, vi devos administri vian API-ŝlosilon permane.
Programaj subskriboj estas konservitaj en ŝlosila butiko. Ĝenerale por Android-programoj ekzistas senarariga ŝlosilvendejo kaj eldona ŝlosilvendejo. La elpuriga ŝlosilvendejo estas kreita per la aldonaĵo Android Development Tools por Eclipse kaj estas uzata defaŭlte. Vi povas trovi la lokon de la elpuriga ŝlosilvendejo en Eklipso klakante Fenestro, kaj poste elektante Agordoj> Android> Konstrui. De tiu ekrano vi ankaŭ povas aldoni vian propran ŝlosilvendejon por senararigi. Por Android Studio, de la Konstruu menuo, elektu Redaktu Konstruajn Tipojn, tiam iru al la Subskribo langeto, kaj lokalizu la elpurigan ŝlosilvendejon en la Vendejo File kampo.
Eldona ŝlosilvendejo estas kutime kreita kiam vi eksportas vian Android-programon por krei subskribitan APK file.
Per la eksporta procezo, se vi kreas novan eldonan ŝlosilvendejon, vi elektos ĝian lokon. De
defaŭlte ĝi estos metita en la saman lokon kiel via defaŭlta elpuriga Ŝlosilvendejo.
Se vi registris vian programon per la debug-subskribo dum disvolviĝo, vi devos aldoni novan Android-agordon al via aplikaĵo, kiam vi pretos publikigi la programon. La nova programo-agordo devas uzi la subskribon de la eldonŝlosila butiko.
Vidu Subskribi Viajn Aplikojn ĉe developer.android.com por pliaj informoj.
Determinu la Android-App-Subskribon
- Se vi havas subskribitan APK file:
a. Malzipigu la APK file kaj ĉerpi CERT.RSA. (Vi povas renomi la APK-etendaĵon al ZIP se necese).
b. De la komandlinio, rulu:ŝlosililo -printcert -file CERT.RSA Keytoolis situanta en la rubujo dosierujo de via Java-instalado.
- Se vi havas ŝlosilvendejon file:
a. De la komandlinio, rulu:keytool -list -v -alias -kejvendejofilenomo> Ŝlosilo situas en la rubujo de via Java-instalado. La kaŝnomo estas la nomo de la ŝlosilo uzata por subskribi la programon.
b. Enigu la pasvorton por la ŝlosilo kaj premu Eniru. - Sub Atestaj Fingrospuroj, kopii la SHA256 valoro.
Elŝuti la Android-Ŝlosilon de Android
Kiam vi registris Android-agordon kaj provizis programan subskribon, vi povas retrovi la API-ŝlosilon de la registra paĝo por via Ensaluto kun Amazon-aplikaĵo. Vi devos meti tiun API-ŝlosilon en file en via Android-projekto. Ĝis vi ne faros, la programo ne rajtos komuniki kun la rajtiga servo Ensaluti kun Amazon.
- Iru al https://login.amazon.com.
- Klaku App-Konzolo.
- En la Aplikoj skatolo maldekstre, elektu vian
- Trovu vian Android-programon sub la Agordoj de Android (Se vi ankoraŭ ne registris Android-programon, vidu Aldonu Android-Programon por Amazon-Appstore).
- Klaku Generi API-Ŝlosilan Valoron. Ŝprucfenestro montros vian API-ŝlosilon. Por kopii la ŝlosilon, alklaku Elektu Ĉiujn elekti la tutan
Notu: La API-Ŝlosila Valoro baziĝas parte sur la tempo, kiam ĝi estas generita. Tiel, postaj API-Ŝlosila Valoro (j), kiujn vi generas, povas diferenci de la originalo. Vi povas uzi iun ajn el ĉi tiuj API-Ŝlosilaj Valoroj en via programo, ĉar ili ĉiuj validas. - Vidu Aldonu Vian API-Ŝlosilon al Via Projekto por instrukcioj pri aldono de la API-ŝlosilo al via Android
Krei Ensaluton kun Amazon-Projekto
En ĉi tiu sekcio, vi lernos kiel krei novan Android-projekton por Ensaluti kun Amazon, agordi la projekton kaj aldoni kodon al la projekto por ensaluti uzanton kun Ensaluti kun Amazon. Ni priskribos la paŝojn por Android Studio, sed vi povas apliki analogajn paŝojn al iu ajn IDE aŭ Android-ilo laŭ via elekto.
Vidu la jenajn temojn:
- Kreu Novan Ensaluton per Amazon-Projekto
- Instalu la Ensaluton kun Amazon-Biblioteko
- Ebligu Enhavan Helpon por Ensaluti per Amazon-Biblioteko
- Agordi Retajn Permesojn por Via Programo
- Aldonu Vian API-Ŝlosilon al Via Projekto
- Forigu la Sample App Propra Elpuriga Ŝlosilvendejo
- Trakti Agordajn Ŝanĝojn por Via Agado
- Aldonu Rajtigan Agadon al Via Projekto
- Aldonu Ensaluton kun Amazon-Butono al Via Programo
- Traktu la Ensalutan Butonon kaj Akiru Avantaĝonfile Datumoj
- Kontrolu Uzantan Ensaluton ĉe Lanĉo
- Klara Rajtiga Ŝtato kaj Ellasu Uzanton
- Voku Metodojn de Amazon-Rajtiga Administrilo Sinkrone
Kreu Novan Ensaluton per Amazon-Projekto
Se vi ankoraŭ ne havas programprojekton por uzi Ensaluton kun Amazon, sekvu la instrukciojn sube por krei unu. Se vi havas jam ekzistantan programon, iru al Instalu la Ensaluton kun Amazon-Biblioteko .
- Lanĉo Android-Disvolva Ilo.
- De la File menuo, elektu Nova kaj Projekto.
- Enigu an Nomo de la aplikaĵo kaj Kompania Nomo por via
- Enigu la Apliko kaj Kompania Nomo respondas al la paka nomo, kiun vi elektis, kiam vi registris vian programon per Ensaluto ĉe Amazon.
Se vi ankoraŭ ne registris vian programon, elektu Nomo de Pako kaj tiam sekvu la instrukciojn en la Registriĝi kun Ensaluto ĉe Amazon sekcio post kiam vi kreis vian projekton. Se la paka nomo de via programo ne kongruas kun la registrita paka nomo, via Salutnomo kun Amazon-vokoj ne sukcesos. - Elektu a Minimuma Bezonata SDK de API 8: Android 2 (Froyo) aŭ pli alta, kaj alklaku Poste.
- Elektu la specon de agado, kiun vi volas krei, kaj alklaku Poste.
- Plenigu la koncernajn detalojn kaj alklaku Finu.
Vi nun havos novan projekton en via laborejo, kiun vi povas nomi por Ensaluti kun Amazon.
Instalu la Ensaluton kun Amazon-Biblioteko
Se vi ankoraŭ ne elŝutis la Ensaluton kun Amazon SDK por Android, vidu Instalu la Ensaluton per Amazon SDK por Android (p. 4).
- Kun via projekto malfermita en Android-Programaj Iloj, en Projekta Esploristo, dekstre alklaku vian Projekto.
- Se dosierujo nomata libs ne jam ĉeestas, kreu
- Kopiu la ensaluti-kun-amazon-sdk.jar file de la File Sistemo, kaj poste batu ĝin en la libs dosierujo sub via projekto / programo.
- Dekstre alklaku ensaluti-kun-amazon-sdk.jar, kaj kontrolu la Aldonu Kiel Bibliotekon
Ebligu Enhavan Helpon por Ensaluti per Amazon-Biblioteko en Eklipso
Por ebligi la eklipsan enhavan helpan subtenon en Android-projekto necesas uzi .propraĵoj file. Por pliaj informoj pri enhava helpo, vidu Enhavo / Kodo-Helpo onhelp.eclipse.org.
Por ebligi la eklipsan enhavan helpan subtenon en Android-projekto necesas uzi .propraĵoj file. Por pliaj informoj pri enhava helpo, vidu Enhavo / Kodo-Helpo onhelp.eclipse.org.
- In Windows Explorer, navigu al la dokumentoj dosierujo por la Ensaluto kun Amazon SDK por Android kaj kopiu la dosierujon al la
- Kun via projekto malfermita, iru al Esplorilo de pakoj kaj elektu la libs Klaku Redakti el la ĉefa menuo kaj elektu Alglui. Vi nun havu libs \ docs dosierujo.
- Elektu la libs Klaku File el la ĉefa menuo kaj elektu Nova kajFile.
- En la Nova File dialogo, eniru ensaluti-kun-amazono-sdk.jar.properties kaj klaku Finu.
- Eklipso devas malfermiĝi ensaluti-kun-amazono-sdk.jar.properties en la tekstredaktilo. En la tekstredaktilo, aldonu la sekvan linion al la file:
doc = dokumentoj - De la File menuo, klaku Konservu.
- Eble vi bezonos rekomenci Eclipse por ke la ŝanĝoj efektiviĝu
Agordi Retajn Permesojn por Via Programo
Por ke via programo uzu Ensaluton kun Amazon, ĝi devas aliri la Interreton kaj aliri retajn ŝtatajn informojn. Via programo devas aserti ĉi tiujn permesojn en via Android-manifesto, se ĝi ne faras ĝin jam.
NOTO: La proceduroj sube estas specifaj por aldoni la permesojn en Eklipso. Se vi uzas Android Studio aŭ alian IDE, vi povas salti ĉiujn numeritajn paŝojn sube. Anstataŭe kopiu la kodliniojn montritajn sub la ekrankopio kaj algluu ilin al la AndroidManifest.xml file, ekster la aplika bloko.
- In Pako Esploristo, duoble alklaku xml.
- Sur la Permesoj langeto, klaku Aldoni.
- Elektu Uzas Permeson kaj klaku OK.
- Dekstre Permesoj, trovi la Atributoj por Uzaj Permeso
- En la Nomo skatolo, eniru permeso. Interreto aŭ elektu ĝin el la falmenuo.
- Sur la Permesoj langeto, klaku Aldoni
- Elektu Uzas Permeson kaj klaku OK.
- En la Nomo skatolo, eniru permeso.ACCESS_NETWORK_STATE aŭ elektu ĝin el la falmenuo
- De la File menuo, klaku Konservu.
Viaj manifestaj permesoj nun devas havi la jenajn valorojn:
En la AndroidManifest.xml langeto, vi nun devas vidi ĉi tiujn enirojn sub la manifesta elemento:
Aldonu Vian API-Ŝlosilon al Via Projekto
Kiam vi registras vian Android-programon per Ensaluto kun Amazon, vi ricevas API-ŝlosilon. Ĉi tio estas identigilo, kiun la Amazon-Rajtiga Direktisto uzos por identigi vian kandidatiĝon al la Ensaluta kun Amazon-rajtiga servo. Se vi uzas Amazon Appstore por subskribi vian programon, la Appstore provizos la API-ŝlosilon aŭtomate. Se vi ne uzas la Amazon-Butikon, la Amazon-Rajtiga Direktisto ŝarĝas ĉi tiun valoron dum rultempo de la api_key.txt file en la aktivoj dosierujo.
- Se vi ankoraŭ ne havas vian API-Ŝlosilon, sekvu la instrukciojn en Elŝuti la Android-Ŝlosilon de Android (p. 11).
- Kun via ADT-projekto malfermita, de la File menuo, klaku Nova kaj elektu Sentitola Teksto File. Vi nun devas havi redaktan fenestron por teksto file nomita Sentitola 1. Aldonu vian API-ŝlosilon al la teksto
- De la File menuo, klaku Konservu Kiel.
- En la Konservu Kiel dialogo, elektu la aktivoj dosierujo de via projekto kiel la gepatra dosierujo. Por File nomo, eniru txt.
Forigu la Sample App Propra Elpuriga Ŝlosilvendejo
NOTO: Ĉi tiu paŝo necesas nur se vi uzas Eklipson; se vi uzas Android Studio, preterlasu ĉi tiun sekcion.
Se vi instalis la Ensaluton kun Amazon por AndroidampLa apliko en la saman laborspacon, kiun vi uzas por via Android-programo, eble vi havas kutiman senararigan ŝlosilbutikon por la laborspaco. Vi devas malplenigi la laŭmendan elpurigan ŝlosilbutikon por uzi vian propran API-ŝlosilon.
- El la ĉefa menuo, alklaku Fenestro kaj elektu Preferoj.
- En la Preferoj dialogo, elektu Androido kaj Konstruu.
- Malplenigi la Kutimo elpurigi ŝlosilvendejon
- Klaku OK.
Trakti Agordajn Ŝanĝojn por Via Agado
Se uzanto ŝanĝas la ekranan orientiĝon aŭ ŝanĝas la klavaran staton de la aparato dum ili ensalutas, ĝi ekigos rekomencon de la aktuala agado. Ĉi tiu rekomenco nuligos la ensalutan ekranon neatendite. Por malebligi ĉi tion, vi devas agordi la agadon, kiu uzas la rajtigan metodon por trakti tiujn agordajn ŝanĝojn permane. Ĉi tio malebligos rekomencon de la agado.
- In Pako Esploristo, duoble alklaku xml.
- En la Apliko sekcio, lokalizu la agadon, kiu traktos Ensaluton kun Amazon (ekzample, ĈefaAktiveco).
- Aldonu la sekvan atributon al la agado, kiun vi lokis en Paŝo 2:
android: configChanges = ”klavaro | klavaroKaŝita | orientiĝo” Aŭ por API 13 aŭ pli granda:
android: configChanges = "klavaro | klavaroKaŝita | orientiĝo | ekrangrandeco" - De la File menuo, klaku Konservu
Nun, kiam klavaro aŭ aparata orientiĝoŝanĝo okazos, Android vokos la onConfigurationChanged metodo por via agado. Vi ne bezonas efektivigi ĉi tiun funkcion krom se estas aspekto de ĉi tiuj agordaj ŝanĝoj, kiun vi volas trakti por via programo
Kiam la uzanto alklakas la Ensalutu per Amazon-butono, la API lanĉos web retumilo por prezenti ensalutan kaj konsentan paĝon al la uzanto. Por ke ĉi tiu retumila agado funkciu, vi devas aldoni AuthorizationActivity al via manifesto.
- In Pako Esploristo, duoble alklaku xml.
- En la Apliko sekcio, aldonu la jenan kodon, anstataŭante "com.example.app "kun via paka nomo por ĉi tiu programo:
<aktiveco android:nomo=
"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” />
<datenoj
android: gastiganto = ”com.example.app ”android: scheme =” amzn ”/>
via programo. Ĉi tiu sekcio donas paŝojn por elŝuti oficialan Ensaluton kun Amazon-bildo kaj parigi ĝin kun Android ImageButton.
- Aldonu norman ImageButton al via programo.
Por pliaj informoj pri Android-butonoj kaj la klaso ImageButton, vidu Butonoj ĉe programisto.android.com. - Donu identigilon al via butono.
En la butona XML-deklaro, agordu la android: id-atributon al @ + id / login_with_amazon. Ekzample:android: id = "@ + id / login_with_amazon" - Elektu butonan bildon.
Konsultu nian Ensaluton kun Amazon Stilaj Gvidlinioj por listo de butonoj, kiujn vi povas uzi en via programo. Elŝutu kopion de la LWA_Android.zip file. Ĉerpu kopion de via preferata butono por ĉiu ekrana denseco, kiun via programo subtenas (xxhdpi, xhdpi, hdpi, mdpi aŭ tvdpi). Por pliaj informoj pri subtenado de multoblaj ekranaj densecoj en Android, vidu Alternativaj Aranĝoj en la temo "Subtenado de Multoblaj Ekranoj" ondeveloper.android.com. - Kopiu la taŭgan butonan bildon files al via projekto.
Por ĉiu ekrana denseco, kiun vi subtenas (xhdpi, hdpi, mdpi aŭ ldpi), kopiu la elŝutitan butonon al la res / desegnebla dosierujo por tiu ekrana denseco. - Deklaru la butonan bildon.
En la butona XML-deklaro, agordu la android: src-atributon al la nomo de la butono, kiun vi elektis. Ekzample:android: src = "@ drawable / btnlwa_gold_loginwithamazon.png" 6. Ŝarĝu vian programon, kaj kontrolu, ke la butono nun havas Ensaluton kun Amazon-bildo. Vi devas kontroli, ke la butono montriĝas taŭge por ĉiu ekrana denseco, kiun vi subtenas.
Ĉi tiu sekcio klarigas kiel nomi la rajtigi kaj getProfile APIoj por ensaluti uzanton kaj retrovi sian profesiulonfile datumoj. Ĉi tio inkluzivas krei onClick-aŭskultanton por via Ensaluto per Amazon-butono en la metodo onCreate de via programo.
- Aldonu Ensaluton kun Amazon al via Android-projekto. Vidu Instalu la Ensaluton kun Amazon-Biblioteko .
- Importu la Ensaluton kun Amazon API al via fonto
Por importi la Ensaluton kun Amazon API, aldonu la jenajn importajn deklarojn al via fonto file:importi com.amazon.identity.auth.device.AuthError; importi
com.amazon.identity.auth.device.authorization.api.
AmazonAuthorizationManager; importi
com.amazon.identity.auth.device.authorization.api. RajtigoAŭskultanto; importi com.amazon.identity.auth.device.authorization.api.AuthzConstants; - Inicialigu Amazon AuthorizationManager.
Vi devos deklari an Amazon AuthorizationManager variablo kaj krei novan ekzemplon de la klaso. Krei novan ekzemplon nur postulas vian nunan aplikaĵan kuntekston kaj malplenan pakon. La plej bona loko por pravalorizi Amazon AuthorizationManager estas en la onKreu metodo de via Agado. Ekzample: - Kreu AuthorizeLiistener.
Rajtigi Aŭskultanton efektivigas la interfacon AuthorizatioinListener, kaj prilaboros la rezulton de la rajtigi vokon. Ĝi enhavas tri metodojn: oinSuccess, onEraro, kaj onCanceil. Ĉiu metodo ricevas aŭ Pakaĵon aŭ Aŭtoreraro objekto.privata klaso AuthorizeListener efektivigas AuthorizationListener {
/ * Rajtigo sukcese finiĝis. * /
@ Override
publika malpleno ĉe Sukceso (Respondo de pakaĵo) {
}
/ * Estis eraro dum la provo rajtigi la kandidatiĝon.
*/
@ Override
publika malplena onError (AuthError ae) {
}
/ * Rajtigo estis nuligita antaŭ ol ĝi povus esti kompletigita. * /
@ Override
publika malpleno ĉe Nuligi (Kaŭza kaŭzo) {
}
} - Voku AmazonAuthorizationManager.authorize.
En la surKlaku mastrumilo por via Ensaluto per Amazon-butono, voku rajtigi instigi la uzanton ensaluti kaj rajtigi vian kandidatiĝon.
Ĉi tiu metodo respondecas rajtigi la klienton laŭ unu el la jenaj manieroj:- Ŝanĝas al la retumilo de la sistemo kaj permesas al la kliento ensaluti kaj konsenti la petitan
- Ŝanĝas al web view en sekura kunteksto, lasi la klienton ensaluti kaj konsenti la petitan
Ĉi tiu sekura kunteksto por # 2 nuntempe disponeblas kiel la programo Amazon Shopping en Android-aparatoj. Amazon-kreitaj aparatoj kun Fire OS (ekzample Kindle Fire, Fire Phone kaj Fire TV) ĉiam uzas ĉi tiun opcion eĉ se ne ekzistas Amazon Shopping-programo en la aparato. Pro tio, se la kliento jam ensalutis la programon Amazon Shopping, ĉi tiu API preterlasos la ensalutan paĝon, kondukante al Ununura Ensaluto sperto por la kliento.
Kiam via aplikaĵo estas rajtigita, ĝi estas rajtigita por unu aŭ pluraj datumaroj nomataj medioj. La unua parametro estas aro de ampleksoj, kiuj ampleksas la uzantajn datumojn, kiujn vi petas de Ensaluto kun Amazon. La unuan fojon, kiam uzanto ensalutas vian programon, ili estos prezentitaj kun listo de la datumoj, kiujn vi petas, kaj petita aprobo. Ensaluto kun Amazon nuntempe subtenas tri ampleksojn: profile, kiu enhavas la nomon de la uzanto, retpoŝtan adreson kaj Amazon-konton-identigilon; profile: uzanto_id, kiu enhavas nur la Amazon-konton-identigilon; kaj Poŝtkodo, kiu enhavas la poŝton / poŝtkodon de la uzanto.
La plej bona maniero telefoni rajtigi estas nesinkrone, do vi ne devas bloki la UI-fadenon aŭ krei propran laborfadenon. Voki aŭtoritate sinkrone, preterpasi objekton, kiu subtenas la AutorizaciónListener-interfaco kiel la lasta parametro:privata AmazonAuthorizationManager mAuthManager; @ Override
protektita malpleno onCreate (Pasko savedInstanceState) {
super.onCreate (savedInstanceState);
mAuthManager = nova AmazonAuthorizationManager (ĉi tio, Fasko.MALVERA);// Trovu la butonon kun la ensaluto_kun_amazona ID
// kaj starigu klakan mastrumilon
mLoginButton = (Butono) troviViewById (R.id.login_with_amazon);
mLoginButton.setOnClickListener (nova OnClickListener () {
@ Override
publika malpleno surAlklaku (View v) {
mAuthManager.authorize (
nova Ŝnuro [] {“profile","Poŝtkodo"},
Bundle.EMPTY, nova AuthorizeListener ());
}
});
} - Kreu a ProfileAŭskultanto.
ProfileAŭskultanto estas nia nomo por klaso, kiu efektivigas la APILaŭskultanto interfaco, kaj prilaboros la rezulton de la getProfile voki. APILaŭskultanto enhavas du metodojn: sur Sukceso kaj onError (ĝi ne subtenas onCancel ĉar ne ekzistas maniero nuligi a getProfile voki). sur Sukceso ricevas Bundle-objekton kun profile datumoj, dum onEriro ricevas an Aŭtoreraro objekto kun informoj pri la eraro.privata klaso ProfileAŭskultanto efektivigas APIListener { / * getProfile kompletigita sukcese. * / @ Override
publika malpleno ĉe Sukceso (Respondo de pakaĵo) {}
/ * Estis eraro dum la provo akiri la profesiulonfile. * / @ Override
publika malplena onError (AuthError ae) {
}
} - Efektivigi sur Sukceso por via Rajtigi Aŭskultanton.
In sur Sukceso, voki AmazonAuthorizationManager.getProfile retrovi la klienton profesianfile. getProfile, kiel rajtigi, uzas nesinkronan aŭskultantan interfacon. Por getProfile, tiu interfaco estas APILaŭskultilo, neAuthorizationListener.
/ * Rajtigo sukcese finiĝis. * / @ Override
publika malpleno ĉe Sukceso (Respondo de pakaĵo) {
mAuthManager.getProfile(nova ProfileAŭskultanto ());} - Efektivigi surSukceso por via ProfileAŭskultanto.
onSukcesoj du ĉefaj taskoj: retrovi la profesiulonfile datumoj de la respondo-pakaĵo, kaj transdoni la datumojn al la UI. updateProfileDatais hipoteza funkcio, kiun via programo povus efektivigi por montri profesiulonfile detaloj. setLoggedInState, alia hipoteza funkcio, indikus, ke uzanto estas ensalutinta kaj donus al ili rimedon por elsalutado.
Por retrovi la avantaĝonfile datumoj de la Fasko, ni uzas nomojn konservitajn de la AuthzConstants klaso. La sur Sukceso fasko enhavas la avantaĝonfile datumoj en BUNDLE_KEY.PROFILE pakaĵo.
Ene de la profesiulofile pakaĵo, la ampleksaj datumoj estas indeksitaj sub PROFILE_KEY.NAME, PROFILE_KEY.EMAIL, PROFILE_KEY.USER_ID, kaj PROFILE_KEY.POSTA_KODO. PROFILE_KEY.POSTA_KODO estas inkluzivita nur se vi petas la poŝta_kodo amplekso.@ Override
publika malpleno ĉe Sukceso (Respondo de pakaĵo) {
// Rekuperu la bezonatajn datumojn de la Bundle Bundle profileBundle = respondo.getBundle (
AuthzConstants.BUNDLE_KEY.PROFILE.val);
Ŝnura nomo = profileBundle.getString (
AuthzConstants.PROFILE_KEY.NAME.val);
String-retpoŝto = profileBundle.getString (
AuthzConstants.PROFILE_KEY.EMAIL.val);
String-konto = profileBundle.getString (
AuthzConstants.PROFILE_KEY.USER_ID.val);
String poŝtkodo = profileBundle.getString (
AuthzConstants.PROFILE_KEY.POSTA_KODO.val);
runOnUiThread (nova Runnable () {@Override
publika malplena kuro () {
updateProfileDatumoj (nomo, retpoŝto, konto, poŝtkodo);
}
});
} - Efektivigi onEraro por via ProfileAŭskultanto.
onEraro inkluzivas an Aŭtoreraro objekto enhavanta detalojn pri la eraro./ * Estis eraro dum la provo akiri la profesiulonfile. * / @ Override
publika malplena onError (AuthError ae) {
/ * Provu aŭ informu la uzanton pri la eraro * /
} - Efektivigi onEraro por via Rajtigi Aŭskultanton.
/ * Estis eraro dum la provo rajtigi la kandidatiĝon.
*/
@ Override
publika malplena onError (AuthError ae) {
/ * Informu la uzanton pri la eraro * /
} - Efektivigi onCancelfor via Rajtigi Aŭskultanton.
Ĉar la rajtiga procezo prezentas ensalutan ekranon (kaj eble konsentan ekranon) al la uzanto en web retumilo (aŭ a webview), la uzanto havos okazon nuligi la ensaluton aŭ foriri de la web paĝo. Se ili eksplicite nuligas la ensalutan procezon, onCancel nomiĝas. Se onCancelis vokita, vi volos reagordi vian UI./ * Rajtigo estis nuligita antaŭ ol ĝi povus esti kompletigita. * /
@ Override
publika malpleno ĉe Nuligi (Kaŭza kaŭzo) {
/ * reagordi la UI al preta ensaluta stato * /
}Notu: Se la uzanto navigas for de la ensaluta ekrano en la retumilo aŭ web view kaj revenas al via programo, la SDK ne detektos, ke la ensaluto ne finiĝis. Se vi detektas agadon de uzanto en via programo antaŭ ol ensaluto finiĝas, vi povas supozi, ke ili foriris de la retumilo kaj reagas laŭe.
Kontrolu Uzantan Ensaluton ĉe Lanĉo
Se uzanto ensalutas vian programon, fermas la programon kaj rekomencas la programon poste, la programo ankoraŭ rajtas retrovi datumojn. La uzanto ne elsalutas aŭtomate. Je la ekfunkciigo, vi povas montri al la uzanto ensalutita se via programo ankoraŭ rajtas. Ĉi tiu sekcio klarigas kiel uzi getToken por vidi ĉu la programo ankoraŭ rajtas.
- Kreu a TokenListener.
TokenListener efektivigas la APILaŭskultanto interfaco, kaj prilaboros la rezulton de la getToken-alvoko. APILaŭskultanto enhavas du metodojn: sur Sukceso kaj onEraro (ĝi ne subtenas onCancel ĉar ne ekzistas maniero nuligi a getToken voki). sur Sukceso ricevas Pakaĵobjekton kun ĵetonaj datumoj, dum onEraro ricevas an Aŭtoreraro objekto kun informoj pri la eraro.privata klaso TokenListener efektivigas APIListener { / * getToken kompletiĝis sukcese. * / @ Override
publika malpleno ĉe Sukceso (Respondo de pakaĵo) {
}
/ * Estis eraro dum la provo akiri la ĵetonon. * / @ Override
publika malplena onError (AuthError ae) {
}
} - En la onStart metodo de via Agado, voku getToken por vidi ĉu la aplikaĵo ankoraŭ rajtas.
getToken prenas la krudan aliran signon, kiun la Amazon AuthorizationManager uzas por aliri klientan profesiulonfile. Se la ĵetona valoro ne estas nula, tiam la programo ankoraŭ rajtas kaj alvokas getProfile devus sukcesi. getToken postulas la samajn ampleksojn, kiujn vi petis en via alvoko por rajtigi.
getTokensubtenas nesinkronaj alvokoj same kiel getProfile, do vi ne devas bloki la UI-fadenon aŭ krei propran laborfadenon. Por voki getToken nesinkrone, preterpasu objekton, kiu subtenas la APILaŭskultanto interfaco kiel fina parametro.@ Override
protektita malpleno ĉe Komenco () {
super.onStart
(); mAuthManager.getToken (nova Ĉeno [] {“profile","Poŝtkodo"},
nova
TokenListener ());
} - Efektivigi sur Sukceso por via TokenListener.
onSukcesoj du taskoj: retrovi la ĵetonon de la Fasko, kaj se la ĵetono validas, voki getProfile.
Por retrovi la signajn datumojn de la Fasko, ni uzas nomojn konservitajn de la AuthzConstants klaso. La sur Sukceso fasko enhavas la signajn datumojn en valoro BUNDLE_KEY.TOKEN. Se tiu valoro ne estas nula, ĉi tiu ekzample vokas getProfile uzante la saman aŭskultanton, kiun vi deklaris en la antaŭa sekcio (vidu paŝojn 7 kaj 8)./ * getToken kompletiĝis sukcese. * /
@ Override
publika malpleno ĉe Sukceso (Respondo de pakaĵo) {
fina Ŝnuro authzToken =
response.getString (AuthzConstants.BUNDLE_KEY.TOKEN.val);
if (! TextUtils.isEmpty (authzToken))
{
// Rekuperu la profesiulonfile datumoj
mAuthManager.getProfile(nova ProfileAŭskultanto ());
}
}
La metodo clearAuthorizationState malplenigos la rajtigajn datumojn de la uzanto de la loka datuma butiko AmazonAuthorizationManager. Uzanto devos ensaluti denove por ke la programo reprenu profesiulonfile datumoj. Uzu ĉi tiun metodon por elsaluti uzanton aŭ por solvi ensalutajn problemojn en la programo.
- Efektivigi elsaluton
Kiam uzanto sukcese ensalutis, vi devas provizi elsalutan mekanismon por ke ili povu malplenigi sian profesiulonfile datumoj kaj antaŭe rajtigitaj ampleksoj. Via mekanismo eble estas hiperligo aŭ menuero. Por ĉi tiu ekzample ni kreos an surKlaku metodo por butono. - En via elsaluta pritraktanto, voku klarigu Aŭtorigan Ŝtaton. klarigu Aŭtorigan Ŝtaton forigos uzantajn rajtigajn datumojn (aliraj signoj, profile) de la loka butiko. clearAuthorizationStateprenas neniuj parametroj krom an APILaŭskultanto redoni sukceson aŭ
- Deklaru anonimulon APILaŭskultanto.
Anonimaj klasoj estas utila alternativo al deklaro de nova klaso efektivigebla APILaŭskultanto. Vidu Traktu la Ensalutan Butonon kaj Akiru Avantaĝonfile Datumoj (p. 17) por an examplasu tion deklaras aŭskultantajn klasojn. - Efektivigi sur Sukceso ene de la APILaŭskultanto
Kiam klarigu Aŭtorigan Ŝtaton sukcesas, ke vi ĝisdatigu vian UI por forigi referencojn al la uzanto, kaj provizi ensalutan mekanismon, kiun uzantoj povas uzi por ensaluti denove. - Efektivigi onEraro ene de la APILaŭskultanto.
If clearAuthorizationStaterevenas eraro, vi povas permesi al la uzanto provi elsaluti denove.@ Override
protektita malpleno onCreate (Pasko savedInstanceState) {
super.onCreate (savedInstanceState);
/ * Antaŭaj pri Krei deklarojn preterlasitajn * /
// Trovu la butonon kun la elsaluta ID kaj starigu klakan mastrumilon
mLogoutButton = (Butono) troviViewById (R.id.logout);
mLogoutButton.setOnClickListener (nova OnClickListener () {
@ Override
publika malpleno surAlklaku (View v) {
mAuthManager.clearAuthorizationState (nova
APIListener () {
@ Override
publika malpleno ĉe Sukceso (Rezultoj de pakaĵo) {
// Agordi elsalutitan staton en UI
}
@ Override
publika malpleno ĉe Eraro (AuthError authError) {
// Registri la eraron
}
});
}
});
}
Iuj Amazon AuthorizationManager metodoj redonas Estontan objekton. Ĉi tio permesas al vi voki la metodon sinkrone anstataŭ pasigi aŭskultanton kiel parametron. Se vi ja uzas Estontan objekton, vi ne uzu ĝin sur UI-fadeno. Se vi blokas UI-fadenon dum pli ol kvin sekundoj, vi ricevos ANR (Aplikaĵo Ne Respondanta). En la Tenilo de la Ensaluta Butono kaj Akiru Avantaĝonfile Datumoj ekzample, la sur Sukceso metodo por Rajtigi Aŭskultanton estas vokita per laborista fadeno kreita de Amazon AuthorizationManager. Ĉi tio signifas, ke estas sekure uzi tiun fadenon por nomi getPirofile sinkrone. Por fari sinkronan alvokon, atribuu la revenan valoron de getPirofile al Estonta objekto, kaj nomu la gietmetodo sur tiu objekto atendi ĝis la metodo finiĝos.
Estonteco.get redonas Bundle-objekton, kiu enhavas a ESTONTECA_TIPO valoro de SUKCESO, ERARO, or NULIGI. Se la metodo sukcesis, la sama pakaĵo enhavos PROFILE_KEY-valoroj por la profesiulofile datumoj. Ekzample:
/ * Rajtigo sukcese finiĝis. * / @ Override publika malpleno ĉe Sukceso (Respondo de pakaĵo) { Estonteco <Bundle> estonteco = mAuthManager.getProfile(nula); Paka rezulto = future.get (); // Eksciu ĉu la alvoko sukcesis, kaj retrovu la profesiulonfile Objekto estonta_tipo = result.get (AuthzConstants.BUNDLE_KEY.FUTURE.val); se (estonta_tipo == AuthzConstants.FUTURE_TYPE.SUCCESS) { Ĉena nomo = result.getString (AuthzConstants.PROFILE_KEY.NAME.val); Ĉena retpoŝto = result.getString (AuthzConstants.PROFILE_KEY.EMAIL.val); String account = result.getString (AuthzConstants.PROFILE_KEY.USER_ID.val); Ŝnura poŝtkodo = result.getString (AuthzConstants.PROFILE_KEY.POSTA_KODO.val); runOnUiThread (nova Runnable () {@Override public void run () {ĝisdatigoProfileDatumoj (nomo, retpoŝto, konto, Poŝtkodo); } }); } else if (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Akiru eraran objekton AuthError authError = AuthError.extractError (rezulto); / * Uzu authError por diagnozi eraron * / } |
Ensalutu per Amazon Komenca Gvidilo por Android - Elŝuti [optimumigita]
Ensalutu per Amazon Komenca Gvidilo por Android - Elŝutu