Oanmelde by Amazon Om te begjinnen Gids foar Android
Oanmelde by Amazon: Gids foar begjinnen foar Android
Copyright © 2016 Amazon.com, Inc., as har filialen. Alle rjochten foarbehâlden. Amazon en it Amazon-logo binne hannelsmerken fan Amazon.com, Inc. as har filialen. Alle oare hannelsmerken dy't net eigendom binne fan Amazon binne eigendom fan har respektivelike eigners.
Om te begjinnen foar Android
Yn dizze gids sille wy jo sjen litte hoe't jo Login mei Amazon kinne tafoegje oan jo Android-app. Nei it foltôgjen fan dizze gids moatte jo in wurkjende Oanmelde mei Amazon-knop hawwe yn jo app om brûkers oan te melden mei har Amazon-referinsjes.
Ynstallearje fan de Android Developer Tools
De oanmelding mei Amazon SDK foar Android sil jo helpe om Oanmelding mei Amazon ta te foegjen oan jo Android-applikaasje. Wy riede oan dat jo de oanmelding brûke mei Amazon SDK foar Android fan developer.amazon.com mei Android Studio. Jo kinne lykwols ek de Eclipse brûke mei ADT-plugin. Foar stappen oer hoe't jo Android Studio ynstallearje en oer it krijen fan de Android SDK ynstelle, sjoch Krij de Android SDK op developer.android.com.
As de Android SDK is ynstalleare, fyn dan de SDK Manager applikaasje yn jo Android-ynstallaasje. Om te ûntwikkeljen foar Login mei Amazon, moatte jo de SDK Manager brûke om it SDK Platform foar Android 2.2 of heger te ynstallearjen (API ferzje 8). Sjen SDK-pakketten tafoegje op developer.android.com foar mear ynformaasje oer it brûken fan SDK
Stel nei it ynstallearjen fan de SDK in Android Virtual Device (AVD) yn foar it útfieren fan jo apps. Sjen Bestjoeren Firtuele apparaten op developer.android.com foar ynstruksjes oer it ynstellen fan in firtuele apparaat.
As jo ûntwikkelingsomjouwing is ynsteld, kinne jo Ynstallearje it oanmelden mei Amazon SDK foar Android or Run de Sampde App, lykas hjirûnder beskreaun.
Ynstallearje it oanmelden mei Amazon SDK foar Android
De Login mei Amazon SDK foar Android komt yn twa pakketten. De earste befettet de Android -bibleteek en stypjende dokumintaasje. De twadde befettet asample -applikaasje wêrmei in brûker kin oanmelde en har pro toantfile data.
As jo de Android SDK as de Android Development Tools noch net hawwe ynstalleare, sjoch dan de Ynstallearje de Android Developer Tools seksje boppe.
- Download zip en extract de files nei in map op jo hurde skiif.
Jo soene moatte sjen a doc en a lib subdirectory. - Iepen doc / index.html nei view de Oanmelde mei Amazon Android API
- Sjen Ynstallearje it oanmelden mei Amazon Library, foar ynstruksjes oer hoe't jo de bibleteek en dokumintaasje tafoegje kinne oan in Android
As it Login mei Amazon SDK foar Android is ynstalleare, kinne jo Meitsje in nij oanmelden mei Amazon Projekt, nei Registrearje by Login by Amazon .
Run de Sampde App
Om de sample applikaasje, ymportearje de sample yn in AndroidStudio -wurkromte (as jo Eclipse brûke, moatte jo ek in oanpaste debug -keystore tafoegje oan 'e wurkromte. Sjoch de Foegje it oanpaste debuggen ta Keystore yn Eclipse seksje hjirûnder). De API -kaai dat de sampDe applikaasje brûkt fereasket de wurkromte om de keystore te brûken dy't wurdt ferstjoerd mei de sample. As de oanpaste keystore net is ynstalleare, kinne brûkers net kinne oanmelde mei de sample. De keystore sil automatysk wurde ophelle as jo AndroidStudio brûke.
- Download SampleLoginWithAmazonAppForAndroid-src.zip en extract de files nei in map op jo hurde
- Start Android Studio en selektearje Iepenje in besteand Android Studio-projekt
- Blêdzje nei de SampleLoginWithAmazonApp map krigen nei it útpakken fan de downloade zip file yn Stap
- Fan de Bouwe menu, klik Projekt meitsje, en wachtsje oant it projekt is
- Fan de Run menu, klik Run en klik dan op de SampleLoginWithAmazonApp.
- Selektearje de emulator as ferbûn Android-apparaat en klikje Run.
Foegje de winkel Custom Debug Key yn Eclipse ta
As jo Eclipse brûke, folgje de ynstruksjes hjirûnder om de oanpaste debug-keystore ta te foegjen:
- Yn de Foarkarren dialooch, selektearje Android en Bouwe.
- Neist Oanpast Feilsykje Keystore, klik Blêdzje.
- Navigearje nei de sample app map en selektearje 3p.keystore, en klik dan OK.
Registrearje by Login by Amazon
Foardat jo kinne brûke Login mei Amazon op in website of yn in mobile app, jo moatte registrearje in applikaasje mei Login mei Amazon. Jo oanmelde by Amazon-applikaasje is de registraasje dy't basisynformaasje befettet oer jo bedriuw, en ynformaasje oer elk webside of mobile app dy't jo oanmeitsje dy't Login mei Amazon stipet. Dizze saaklike ynformaasje wurdt werjûn oan brûkers elke kear as se brûke Login mei Amazon op jo webside of mobile app. Brûkers sille de namme fan jo applikaasje, jo logo, en in keppeling nei jo privacybelied sjen. Dizze stappen litte sjen hoe't jo in oanmelde registrearje mei Amazon -applikaasje en in Android -app tafoegje oan dat akkount.
Sjoch de folgjende ûnderwerpen:
- Registrearje jo oanmelding mei Amazon-applikaasje
- Registrearje jo Android-app
- Foegje in Android-app ta foar Amazon Appstore
- Foegje in Android-app ta sûnder appstore
- Android App-hantekeningen en API-kaaien
- Bepaling fan in Android App-hantekening
- In Android API-kaai helje
Registrearje jo oanmelding mei Amazon-applikaasje
- Gean nei https://login.amazon.com.
- As jo jo earder oanmeld hawwe foar Login by Amazon, klikje dan op App-konsole. Oars, klikje Ynskriuwe, Jo wurde trochstjoerd nei Seller Central, dy't oanmeldregistraasje behannelt foar Login mei As dit jo earste kear is mei Seller Central, wurdt jo frege om in Seller Central-akkount yn te stellen.
- Klikje Registrearje Nije applikaasje. De Registrearje jo applikaasje foarm sil ferskine:
a. Yn de Registrearje jo applikaasje foarmje, fier in yn Namme en a Beskriuwing foar jo applikaasje.
De Namme is de namme werjûn op it ynstimmingsskerm as brûkers ynstimme om ynformaasje te dielen mei jo applikaasje. Dizze namme jildt foar Android, iOS, en webside ferzjes fan jo applikaasje.
b. Fier a Privacy Notice URL foar jo oanfraach
De Privacy Notice URL is de lokaasje fan it privacybelied fan jo bedriuw as applikaasje (bygelyksample, http://www.example.com/privacy.html). Dizze keppeling wurdt werjûn oan brûkers op it ynstimmingsskerm.
c. As jo wolle tafoegje a Logo Image foar jo applikaasje, klik Blêdzje en sykje de jildende ôfbylding.
Dit logo wurdt werjûn op it oanmeld- en tastimmingskerm om jo bedriuw te fertsjintwurdigjen of website. It logo wurdt krimp oant 50 piksels yn 'e hichte as it heger is dan 50 piksels; d'r is gjin beheining foar de breedte fan it logo - Klikje Rêde. Jo sampDe registraasje soe der sa útsjen moatte:
Neidat jo basis applikaasje ynstellings binne bewarre, kinne jo tafoegje ynstellings foar spesifike websiden en mobile apps dy't dizze Oanmelde mei Amazon -akkount sille brûke.
Registrearje jo Android-app
Om in Android-app te registrearjen, hawwe jo de kar om in app te registrearjen fia de Amazon Appstore (Foegje in Android-app ta foar Amazon Appstore, p. 8) of direkt mei Login mei Amazon (Foegje in Android ta App Sûnder Appstore, p. 9). As jo app registrearre is, hawwe jo tagong ta in API-kaai dy't jo app tagong jout ta de Login mei Amazon-autorisaasjetsjinst.
Noat: As jo plannen om Amazon Device Messaging te brûken yn jo Android-app, nim dan kontakt op lwa- support@amazon.com mei:
- It e-postadres fan it Amazon-akkount dat jo hawwe brûkt om jo oan te melden foar Oanmelde by Amazon.
- It e-postadres fan it Amazon-akkount dat jo hawwe brûkt om jo oan te melden foar de Amazon Appstore (as oars).
- De namme op jo Seller Central-akkount. (Klik op Seller Central Ynstellings> Akkountynfo> Sellerynformaasje, en brûk de Display Namme).
- De namme op jo ûntwikkelderskonto fan Amazon Appstore. (Klik op 'e side foar distribúsje fan mobile app Ynstellings > Bedriuw Profile en brûk de Untwikkelersnamme as bedriuwsnamme).
Foegje in Android-app ta foar Amazon Appstore
De folgjende stappen sille in Amazon Appstore-app tafoegje oan jo oanmelding mei Amazon-akkount:
- Fan it Applikaasje skerm, klikje Android Ynstellings, As jo al in Android-app hawwe registrearre, sykje dan nei de API-kaai tafoegje knop yn de Android Ynstellings
De Android tapassing Details foarm sil ferskine: - Selektearje Ja yn antwurd op de fraach "Is dizze applikaasje ferspraat fia de Amazon Appstore?"
- Fier de Etiket fan jo Android -app. Dit hoecht de offisjele namme fan jo app net te wêzen. It identifiseart gewoan dizze bepaalde Android -app tusken de apps en websiden registrearre by jo Oanmelde mei Amazon -applikaasje.
- Foegje dyn ID fan Amazon Appstore.
- As jo jo app sels ûndertekene, foegje dan ynformaasje oer selsûndertekening ta. Hjirmei kinne jo in API-kaai krije by ûntwikkeling sûnder de Appstore direkt te brûken:
a. As jo app net wurdt tekene fia de Amazon Appstore, selektearje dan Ja yn antwurd op de fraach "Is dizze applikaasje selsûndertekene?"
De Android tapassing Details foarm sil útwreidzje:
b. Fier jo yn Pakketnamme.
Dit moat oerienkomme mei de pakketnamme fan jo Android-projekt. Om de pakketnamme fan jo Android Project te bepalen, iepenje jo it projekt yn jo kar foar Android-ûntwikkelders ark.
Iepen AndroidManifest.XML yn Package Explorer en selektearje de Manifest ljepper. De earste yngong is de pakketnamme.
c. Fier de app yn Hantekening.
Dit is in SHA-256-hashwearde dy't wurdt brûkt om jo applikaasje te ferifiearjen. De hantekening moat yn 'e foarm wêze fan 32 heksadesimale pearen skieden troch kolonnen (bygelyksample: 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). Sjen Android App-hantekeningen en API-kaaien foar stappen kinne jo brûke om de hantekening út jo projekt te heljen. - Klikje Rêde.
As ferskate ferzjes fan jo app ferskillende hantekeningen as pakketnammen hawwe, lykas foar ien of mear testferzjes en in produksjeferzje, hat elke ferzje in eigen API-kaai nedich. Fan de Android Ynstellings fan jo app, klikje op de API-kaai tafoegje knop om ekstra kaaien foar jo app te meitsjen (ien per ferzje).
Android App-hantekeningen en API-kaaien
De app-hantekening is in SHA-256-hash-wearde dy't wurdt tapast op elke Android-app as dizze wurdt boud. Amazon brûkt de app-hantekening om jo API-kaai te bouwen. De API Key stelt Amazon-tsjinsten yn steat jo app te herkennen. As jo de Amazon Appstore brûke om jo app te ûndertekenjen, wurdt de API-kaai automatysk levere. As jo de Amazon Appstore net brûke, moatte jo jo API-kaai manuell beheare.
App-hantekeningen wurde opslein yn in keystore. Algemien is d'r foar Android-apps in debug-keystore en in release-keystore. De debug-keystore is makke troch de plugin Android Development Tools foar Eclipse en wurdt standert brûkt. Jo kinne de lokaasje fine fan de debug-keystore yn Eclipse troch te klikken Finster, en dan selektearje Foarkarren> Android> Bouwe, Fan dat skerm kinne jo ek jo eigen debug-keystore tafoegje. Foar Android Studio, fanôf de Bouwe menu, selektearje Boutypes bewurkje, gean dan nei de Undertekenje ljepper, en sykje de debug-keystore yn 'e Winkel File fjild.
In release keystore wurdt normaal makke as jo jo Android -app eksportearje om in tekene APK te meitsjen file.
Troch it eksportproses, as jo in nije release keystore oanmeitsje, sille jo de lokaasje selektearje. Troch
standert sil it op deselde lokaasje wurde pleatst as jo standert debuggen KeyStore.
As jo jo app hawwe registrearre mei de debug-hantekening by ûntwikkeling, moatte jo in nije Android-ynstelling tafoegje oan jo applikaasje as jo ree binne om de app frij te jaan. De nije app-ynstelling moat de hantekening brûke fan 'e release keystore.
Sjen Jo applikaasjes ûndertekenje op developer.android.com foar mear ynformaasje.
Bepale de Android App-hantekening
- As jo in tekene APK hawwe file:
a. Unzip de APK file en úttreksel CERT.RSA. (Jo kinne de APK-útwreiding omneame nei ZIP as it nedich is).
b. Run fanôf de kommandorigel:keytool -printcert -file CERT.RSA Keytoolis leit yn de bin map fan jo Java-ynstallaasje.
- As jo in keystore hawwe file:
a. Run fanôf de kommandorigel:keytool -list -v -alias -keystorefilenamme > Keytool leit yn 'e bin-map fan jo Java-ynstallaasje. De alias is de namme fan de kaai dy't wurdt brûkt om de app te ûndertekenjen.
b. Fier it wachtwurd yn foar de kaai en druk op Yngean. - Ûnder Sertifikaat Fingerprints, kopiearje de SHA256 wearde.
Untfange de Android API-kaai
As jo in Android -ynstelling hawwe registrearre en in app -hântekening levere, kinne jo de API -kaai ophelje fan 'e registraasjepagina foar jo Oanmelde mei Amazon -applikaasje. Jo sille dy API -kaai moatte pleatse yn in file yn jo Android -projekt. Oant jo dat dogge, sil de app net autorisearre wêze om te kommunisearjen mei de Login mei Amazon autorisaasjetsjinst.
- Gean nei https://login.amazon.com.
- Klikje App-konsole.
- Yn de Applikaasjes fak links, selektearje jo
- Fyn jo Android-app ûnder de Android Ynstellings (As jo noch gjin Android-app hawwe registrearre, sjoch Foegje in Android-app ta foar Amazon Appstore).
- Klikje API-kaaiwearde generearje, In popup-finster sil jo API-kaai werjaan. Klik op om de kaai te kopiearjen Selektearje alles om it gehiel te selektearjen
Noat: De API-kaaiwearde is foar in part basearre op 'e tiid dat it wurdt generearre. Sadwaande kinne de folgjende API-kaaiwearden dy't jo generearje ferskille fan it orizjineel. Jo kinne ien fan dizze API-kaaiwearden brûke yn jo app, om't se allegear jildich binne. - Sjen Foegje jo API-kaai ta oan jo projekt foar ynstruksjes oer it tafoegjen fan de API-kaai oan jo Android
In oanmelding meitsje mei Amazon Project
Yn dizze paragraaf sille jo leare hoe't jo in nij Android-projekt meitsje foar Login mei Amazon, it projekt konfigurearje, en koade tafoegje oan it projekt om in brûker oan te melden mei Login mei Amazon. Wy sille de stappen foar Android Studio beskriuwe, mar jo kinne analoge stappen tapasse op elke IDE- of Android-ûntwikkelingshulpmiddel fan jo kar.
Sjoch de folgjende ûnderwerpen:
- Meitsje in nij oanmelden mei Amazon Project
- Ynstallearje de oanmelding mei Amazon Library
- Aktivearje Content Assist foar it oanmelden mei Amazon Library
- Stel netwurkfergunningen yn foar jo app
- Foegje jo API-kaai ta oan jo projekt
- Fuortsmite de S.ample App Custom Debug Keystore
- Konfiguraasjewizigingen behannelje foar jo aktiviteit
- Foegje in autorisaasjeaktiviteit ta oan jo projekt
- Foegje in oanmelding mei Amazon-knop ta oan jo app
- Behannelje de oanmeldknop en krije Profile Data
- Kontrolearje op ynloggen fan brûkers by opstarten
- Wiskje autorisaasjestatus en log in brûker út
- Belje Amazon-autorisaasjemanager-metoaden syngroan
Meitsje in nij oanmelden mei Amazon Project
As jo noch gjin app-projekt hawwe foar it brûken fan Oanmelde by Amazon, folgje de hjirûnder ynstruksjes om ien te meitsjen. As jo in besteande app hawwe, gean dan nei Ynstallearje de oanmelding mei Amazon Library .
- Launch Android Untwikkelingsark.
- Fan de File menu, selektearje Nij en Projekt.
- Fier in yn Applikaasje Namme en Company Namme foar dyn
- Fier de Oanfraach en bedriuwsnamme oerienkomt mei de pakketnamme dy't jo keazen hawwe doe't jo jo app registrearre by Login by Amazon.
As jo jo app noch net hawwe registrearre, kies dan a Pakket Namme en folgje dan de ynstruksjes yn 'e Registrearje by Login by Amazon seksje neidat jo jo projekt oanmeitsje. As de pakketnamme fan jo app net oerienkomt mei de registrearre pakketnamme, sil jo oanmelding mei Amazon-oproppen net slagje. - Selektearje a Minimum fereaske SDK fan API 8: Android 2 (Froyo) of heger, en klikje Folgjende.
- Selektearje it type aktiviteit dat jo wolle oanmeitsje en klikje Folgjende.
- Folje de relevante details yn en klikje Ein.
Jo sille no in nij projekt hawwe yn jo wurkromte dat jo kinne brûke om Login mei Amazon te skiljen.
Ynstallearje de oanmelding mei Amazon Library
As jo it Login mei Amazon SDK foar Android noch net hawwe downloade, sjoch Ynstallearje de oanmelding mei Amazon SDK foar Android (s. 4).
- Mei jo projekt iepen yn Android Developer Tools, yn Project Explorer, rjochts-klik jo Projekt.
- As in map hjit libs is net al oanwêzich, oanmeitsje
- Kopiearje de oanmelde-mei-amazon-sdk.jar file fan de File Systeem, en plak it dan yn 'e libs map ûnder jo projekt / app.
- Rjochts-klikke oanmelde-mei-amazon-sdk.jar, en kontrolearje de As biblioteek tafoegje
Aktivearje Content Assist foar it oanmelden mei Amazon Library yn Eclipse
Om de Eclipse-stipe foar ynhâldhelp yn te skeakeljen yn in Android-projekt freget it gebrûk fan a .eigenskippen file. Foar mear ynformaasje oer ynhâldshelp, sjoch Ynhâld / Code Assist onhelp.eclipse.org.
Om de Eclipse-stipe foar ynhâldhelp yn te skeakeljen yn in Android-projekt freget it gebrûk fan a .eigenskippen file. Foar mear ynformaasje oer ynhâldshelp, sjoch Ynhâld / Code Assist onhelp.eclipse.org.
- In Windows Explorer, navigearje nei de docs map foar de Oanmelding mei Amazon SDK foar Android en kopiearje de map nei de
- Mei jo projekt iepen, gean nei Pakket Explorer en selektearje de libs Klikje Bewurkje fanút it haadmenu en selektearje Paste, Jo moatte no in libs \ docs directory.
- Selektearje de libs Klikje File fanút it haadmenu en selektearje Nij enFile.
- Yn de Nij File dialooch, enter login-mei-amazon-sdk.jar.properties en klik Ein.
- Eclipse moat iepenje login-mei-amazon-sdk.jar.properties yn 'e tekstbewurker. Foegje yn 'e tekstbewurker de folgjende rigel ta oan de file:
doc = docs - Fan de File menu, klik Rêde.
- Jo moatte miskien Eclipse opnij starte foar't de wizigingen fan krêft wurde
Stel netwurkfergunningen yn foar jo app
Om jo app Oanmelding mei Amazon te brûken, moat it tagong krije ta it ynternet en tagong krije ta ynformaasje oer netwurksteat. Jo app moat dizze tagongsrjochten beweare yn jo Android-manifest, as dat net al is.
NOAT: De stappen hjirûnder binne spesifyk foar it tafoegjen fan de tagongsrjochten yn Eclipse. As jo Android Studio of in oare IDE brûke, kinne jo alle hjirûnder nûmere stappen oerslaan. Kopiearje ynstee de rigels koade werjûn ûnder de skermôfbylding, en plak se yn 'e AndroidManifest.xml file, bûten it applikaasjeblok.
- In Pakket Ûntdekkingsreizger, dûbelklik xml.
- Op de Permissions tab, klik Add.
- Selektearje Brûkt tastimming en klik OK.
- Oan'e rjochterside fan Permissions, fyn Attributen foar gebrûk Tastimming
- Yn de Namme fak, ynfiere tastimming. INTERNET of selektearje it út it dellûk.
- Op de Permissions tab, klik Add
- Selektearje Brûkt tastimming en klik OK.
- Yn de Namme fak, ynfiere tastimming.ACCESS_NETWORK_STATE of selektearje it út it dellûk
- Fan de File menu, klik Rêde.
Jo manifestrjochten moatte no de folgjende wearden hawwe:
Yn de AndroidManifest.xml tab, soene jo dizze yngongen no moatte sjen ûnder it manifest-elemint:
Foegje jo API-kaai ta oan jo projekt
As jo jo Android-applikaasje registrearje by Login by Amazon, krije jo in API-kaai tawiisd. Dit is in identifier dy't de Amazon Authorization Manager sil brûke om jo applikaasje te identifisearjen foar de Login mei Amazon-autorisaasjetsjinst. As jo de Amazon Appstore brûke om jo app te ûndertekenjen, sil de Appstore de API-kaai automatysk leverje. As jo de Amazon Appstore net brûke, lade de Autorisaasjemanager fan Amazon dizze wearde by runtime fanôf de api_key.txt file yn de aktiva directory.
- As jo jo API-kaai noch net hawwe, folgje de ynstruksjes yn Untfange de Android API-kaai (s. 11).
- Mei jo ADT-projekt iepen, fanôf de File menu, klik Nij en selektearje Untitel tekst File. Jo moatte no in bewurkerfinster hawwe foar in tekst file neamd Untitel 1, Foegje jo API-kaai ta oan 'e tekst
- Fan de File menu, klik Bewarje as.
- Yn de Bewarje as selektearje de aktiva map fan jo projekt as haadmap. Foar File namme, ynfier txt.
Fuortsmite de S.ample App Custom Debug Keystore
NOAT: Dizze stap is allinich ferplicht as jo Eclipse brûke; as jo Android Studio brûke, oerslaan dizze seksje.
As jo de oanmelding mei Amazon foar Android sampDe applikaasje yn deselde wurkromte dy't jo brûke foar jo Android -app, jo hawwe mooglik in oanpaste debug -keystore ynsteld foar de wurkromte. Jo moatte de oanpaste debug -keystore wiskje om jo eigen API -kaai te brûken.
- Klikje út it haadmenu Finster en selektearje Foarkarren.
- Yn de Foarkarren dialooch, selektearje Android en Bouwe.
- Wiskje de Oanpast debuggen keystore
- Klikje OK.
Konfiguraasjewizigingen behannelje foar jo aktiviteit
As in brûker de oriïntaasje fan it skerm feroaret of de toetseboerdstatus fan it apparaat feroaret wylst se ynlogge, sil it in herstart fan 'e hjoeddeistige aktiviteit freegje. Dizze trochstart sil it oanmeldskerm ûnferwachts ferwiderje. Om dit te foarkommen, moatte jo de aktiviteit ynstelle dy't de autorisaasjemetoade brûkt om dizze konfiguraasjewizigingen manuell te behanneljen. Dit sil in herstart fan 'e aktiviteit foarkomme.
- In Pakket Ûntdekkingsreizger, dûbelklik xml.
- Yn de Oanfraach seksje, sykje de aktiviteit dy't Login mei Amazon sil behannelje (bygelyksample, MainActivity).
- Foegje it folgjende attribút ta oan 'e aktiviteit dy't jo hawwe fûn yn stap 2:
android: configChanges = ”toetseboerd | toetseboerd ferburgen | oriïntaasje” Of foar API 13 of heger:
android: configChanges = ”toetseboerd | toetseboerd ferburgen | oriïntaasje | skermgrutte” - Fan de File menu, klik Rêde
No, as in feroaring fan in toetseboerd as apparaatrjochting bart, sil Android de onConfigurationChanged metoade foar jo aktiviteit. Jo hoege dizze funksje net te ymplemintearjen, útsein as d'r in aspekt is fan dizze konfiguraasjewizigingen dy't jo wolle behannelje foar jo app
As de brûker op de knop Oanmelde mei Amazon klikt, sil de API in web browser om in oanmeld- en ynstimmingsside oan te jaan foar de brûker. Om dizze browseraktiviteit te wurkjen, moatte jo de AuthorizationActivity tafoegje oan jo manifest.
- In Pakket Ûntdekkingsreizger, dûbelklik xml.
- Yn de Oanfraach seksje, foegje de folgjende koade ta, ferfang "com.example.app ”mei jo pakketnamme foar dizze app:
<aktiviteit android:namme=
"Com.amazon.identity.auth.device.authorization.AuthorizationActivity" android: theme = "@ android: style / Theme.NoDisplay" android: allowTaskReparenting = "wier" android: launchMode = "singleTask">
<action android:name="android.intent.action.VIEW” />
<data
android: host = ”com.example.app ”android: skema =” amzn ” />
dyn app. Dizze paragraaf jout stappen foar it downloaden fan in offisjele oanmelding mei Amazon-ôfbylding en it keppeljen mei in Android ImageButton.
- Foegje in standert ImageButton ta oan jo app.
Foar mear ynformaasje oer Android-knoppen en de ImageButton-klasse, sjoch Knoppen op developer.android.com. - Jou jo knop in id.
Stel yn 'e knop XML -deklaraasje it attribút android: id yn op @+id/login_with_amazon. Foar eksample:android: id = ”@ + id / login_with_amazon” - Kies in knopôfbylding.
Rieplachtsje ús Login mei Amazon Stylrjochtlinen foar in list mei knoppen dy't jo kinne brûke yn jo app. Download in kopy fan 'e LWA_Android.zip file. Extract in kopy fan jo foarkar knop foar elke skermdichtheid dy't jo app stipet (xxhdpi, xhdpi, hdpi, mdpi, as tvdpi). Foar mear ynformaasje oer it stypjen fan meardere skermdichtheden yn Android, sjoch Alternative yndielingen yn it ûnderwerp "Stypjen fan meardere skermen" ondeveloper.android.com. - Kopiearje de passende knopôfbylding files oan jo projekt.
Kopiearje de ynladen knop nei elke skermdichtheid dy't jo stipe (xhdpi, hdpi, mdpi, as ldpi) res / tekenber map foar dy skermdichtheid. - Ferklearje de knopôfbylding.
Stel yn it XML -deklaraasjeknop it attribút android: src yn op de namme fan de knop dy't jo hawwe keazen. Foar eksample:android: src = ”@ drawable / btnlwa_gold_loginwithamazon.png” 6. Laad jo app, en kontrolearje dat de knop no in Oanmelding hat mei Amazon-ôfbylding. Jo moatte ferifiearje dat de knop goed wurdt werjûn foar elke skermdichtheid dy't jo stypje.
Dizze seksje leit út hoe't jo de authorize en getPro kinne skiljefile API's om yn te loggen yn in brûker en har pro op te heljenfile data. Dit omfettet it meitsjen fan in onClick -harker foar jo Oanmelde mei Amazon -knop yn 'e onCreate -metoade fan jo app.
- Oanmelde tafoegje mei Amazon oan jo Android-projekt. Sjen Ynstallearje de oanmelding mei Amazon Library .
- Ymportearje de oanmelding mei Amazon API nei jo boarne
Om de Login mei Amazon API te ymportearjen, foegje de folgjende ymportstateminten ta oan jo boarne file:ymportearje com.amazon.identity.auth.device.AuthError; ymport
com.amazon.identity.auth.device.authorization.api.
AmazonAuthorizationManager; ymport
com.amazon.identity.auth.device.authorization.api. AuthorizationListener; ymportearje com.amazon.identity.auth.device.authorization.api.AuthzConstants; - Inisjalisearje AmazonAuthorizationManager.
Jo moatte in ferklearje AmazonAuthorizationManager fariabele en meitsje in nij eksimplaar fan 'e klasse. In nij eksimplaar oanmeitsje fereasket allinich jo hjoeddeistige tapassingskontekst en in lege bondel. It bêste plak om te inisjalisearjen AmazonAuthorizationManager is yn de onCreate metoade fan jo Aktiviteit. Foar eksample: - Meitsje in AuthorizeLiistener.
AutorisearjeListener ymplementeart de interface AuthorizatioinListener, en sil it resultaat fan 'e ferwurkje autorizecall. It befettet trije metoaden: oinSuccess, onFout, en onCanceil. Elke metoade krijt in bundel as in AuthError objekt.priveeklasse AuthorizeListener implementeart AuthorizationListener {
/ * Autorisaasje is mei sukses foltôge. * /
@Oerskriuwing
iepenbiere leechte onSuccess (bondel antwurd) {
}
/ * D'r wie in flater by it besykjen om de applikaasje te autorisearjen.
*/
@Oerskriuwing
iepenbiere leechte onError (AuthError ae) {
}
/ * Autorisaasje waard annulearre foardat it koe wurde foltôge. * /
@Oerskriuwing
iepenbiere leechte onCancel (bondel oarsaak) {
}
} - Belje AmazonAuthorizationManager.authorize.
Yn de onKlik handler foar jo Oanmelde mei Amazon knop, skilje autorisearje om de brûker te freegjen yn te loggen en jo applikaasje te autorisearjen.
Dizze metoade is ferantwurdlik foar autorisaasje fan de klant op ien fan 'e folgjende manieren:- Skeakelt oer nei de systeembrowser en lit de klant ynlogge en tastimming jaan foar de frege
- Wiziget nei web view yn in feilige kontekst, om de klant oan te melden en tastimming te jaan foar de frege
Dizze feilige kontekst foar #2 wurdt op it stuit beskikber steld as de Amazon Shopping -app op Android -apparaten. Apparaten makke troch Amazon mei Fire OS (bygelyksample Kindle Fire, Fire Phone, en Fire TV) brûke dizze opsje altyd, sels as d'r gjin Amazon Shopping -app op it apparaat is. Fanwegen dit, as de klant al is oanmeld by de Amazon Shopping-app, sil dizze API de oanmeldpagina oerslaan, wat liedt ta in Single Sign On ûnderfining foar de klant.
As jo applikaasje autorisearre is, is it autorisearre foar ien as meardere datasets bekend as scopes. De earste parameter is in array fan skermen dy't de brûkersgegevens omfetsje dy't jo freegje fan Login mei Amazon. De earste kear dat in brûker ynlogt op jo app, sille se wurde presinteare mei in list mei de gegevens dy't jo freegje en om goedkarring wurdt frege. Oanmelde by Amazon stipet op it stuit trije omfang: profile, dy't de brûkersnamme, e -postadres en id fan Amazon -akkount befettet; profile: user_id, dy't allinich it Amazon-account-id befettet; en Postkoade, dy't de post- / postkoade fan 'e brûker befettet.
De bêste manier om autorisaasje op te roppen is asynchroon, dus jo hoege de UI-thread net te blokkearjen of jo eigen wurktried te meitsjen. Belje autoriseasynchronously, trochjaan in foarwerp dat stipet de AutorisaasjeListener -ynterface as lêste parameter:privee AmazonAuthorizationManager mAuthManager; @Oerskriuwing
beskerme void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
mAuthManager = nije AmazonAuthorizationManager (dizze, Bundle.EMPTY);// Sykje de knop mei de login_with_amazon ID
// en in klikbehanneler ynstelle
mLoginButton = (knop) fineViewById (R.id.login_with_amazon);
mloginButton.setOnClickListener (nij OnClickListener () {
@Oerskriuwing
iepenbiere leechte onClick (View v) {
mAuthManager.authorize (
nije String [] {“profile","Postkoade"},
Bundle.EMPTY, nije AuthorizeListener ());
}
});
} - Meitsje in ProfileHarker.
ProfileHarker is ús namme foar in klasse dy't de APIListener interface, en sil ferwurkje it resultaat fan 'e getProfile belje. APIListener befettet twa metoaden: op Sukses en onError (it stipet net op Annulearje om't d'r gjin manier is om a te annulearjen getProfile belje). op Sukses ûntfangt in bondelobjekt mei profile data, wylst opEriror krijt in AuthError beswier mei ynformaasje oer de flater.privee klasse ProfileHarker implementearret APIListener { /* getProfile mei súkses foltôge. */ @Override
iepenbiere leechte onSuccess (bondel antwurd) {}
/* D'r wie in flater tidens de poging de pro te krijenfile. */ @Override
iepenbiere leechte onError (AuthError ae) {
}
} - Implementearje op Sukses foar dyn AutorisearjeListener.
In op Sukses, belje AmazonAuthorizationManager.getProfile om de klantpro op te heljenfile. getProfile, lykas autorisearje, brûkt in asynchrone harkersinterface. Foar getProfile, dat interface is APIListener, notAuthorizationListener.
/ * Autorisaasje is mei sukses foltôge. * / @Override
iepenbiere leechte onSuccess (bondel antwurd) {
mAuthManager.getProfile(nije ProfileHarker ());} - Implementearje op Sukses foar dyn ProfileHarker.
op súkses hat twa haadtaken: de pro opheljefile gegevens fan 'e antwurdbondel, en om de gegevens troch te jaan oan' e UI. updateProfileDatais in hypotetyske funksje dy't jo app koe implementearje om pro te werjaanfile details. setLoggedInState, in oare hypotetyske funksje, soe oanjaan dat in brûker oanmeld is en har in middel jaan útlogge.
Om de pro op te heljenfile gegevens út 'e bondel, brûke wy nammen opslein troch de AuthzConstants klasse. De op Sukses bondel befettet de profile gegevens yn in BUNDLE_KEY.PROFILE bondel.
Binnen de profile bondel, wurde de omfanggegevens yndekseare ûnder PROFILE_KEY.NAME, PROFILE_KEY.EMAIL, PROFILE_KEY.USER_ID, en PROFILE_KEY.POSTAL_CODE. PROFILE_KEY.POSTAL_CODE is allinich opnommen as jo de Postkoade omfang.@Oerskriuwing
iepenbiere leechte onSuccess (bondel antwurd) {
// De gegevens ophelje dy't wy nedich binne fan 'e Bundle Bundle profileBundle = response.getBundle (
AuthzConstants.BUNDLE_KEY.PROFILE.val);
String namme = profileBundle.getString (
AuthzConstants.PROFILE_KEY.NAME.val);
String email = profileBundle.getString (
AuthzConstants.PROFILE_KEY.EMAIL.val);
String account = profileBundle.getString (
AuthzConstants.PROFILE_KEY.USER_ID.val);
String zipcode = profileBundle.getString (
AuthzConstants.PROFILE_KEY.POSTAL_CODE.val);
runOnUiThread (nij Runnable () {@Override
iepenbiere leechte run () {
updateProfileGegevens (namme, e -post, akkount, postkoade);
}
});
} - Implementearje onFout foar dyn ProfileHarker.
onFout befettet in AuthError foarwerp mei details oer de flater./* D'r wie in flater tidens de poging de pro te krijenfile. */ @Override
iepenbiere leechte onError (AuthError ae) {
/ * Besykje de brûker opnij oer de flater * /
} - Implementearje onFout foar dyn AutorisearjeListener.
/ * D'r wie in flater by it besykjen om de applikaasje te autorisearjen.
*/
@Oerskriuwing
iepenbiere leechte onError (AuthError ae) {
/ * Ynformearje de brûker fan 'e flater * /
} - Implementearje op Cancelfor dyn AutorisearjeListener.
Om't it autorisaasjeproses in oanmeldskerm (en mooglik in tastimmingskerm) presinteart foar de brûker yn in web browser (of in webview), de brûker sil in kâns hawwe om de oanmelding te annulearjen of fuort te navigearjen fan 'e web side. As se it oanmeldproses eksplisyt annulearje, op Annulearje wurdt neamd. As onCancelis neamd, jo wolle jo UI opnij ynstelle./ * Autorisaasje waard annulearre foardat it koe wurde foltôge. * /
@Oerskriuwing
iepenbiere leechte onCancel (bondel oarsaak) {
/ * de UI opnij ynstelle foar in ready-to-login state * /
}Noat: As de brûker fuort navigeart fan it oanmeldskerm yn 'e browser as web view en wikselet werom nei jo app, sil de SDK net detektearje dat it oanmelden net is foltôge. As jo brûkersaktiviteit yn jo app detektearje foardat it oanmelden is foltôge, kinne jo oannimme dat se fan 'e browser binne navigearre en dêrop reagearje.
Kontrolearje op ynloggen fan brûkers by opstarten
As in brûker ynlogt op jo app, de app slút en de app letter opnij start, is de app noch autorisearre om gegevens op te heljen. De brûker is net automatysk ôfmeld. By it opstarten kinne jo de brûker as oanmeld sjen litte as jo app noch autorisearre is. Dizze seksje ferklearret hoe't jo getToken brûke om te sjen oft de app noch autorisearre is.
- Meitsje in TokenListener.
TokenListener ymplementeart de APIListener ynterface, en sil it resultaat fan 'e getToken-oprop ferwurkje. APIListener befettet twa metoaden: op Sukses en onFout (it stipet net op Annulearje om't d'r gjin manier is om a te annulearjen getToken belje). op Sukses krijt in Bundle-objekt mei token-gegevens, wylst onFout krijt in AuthError beswier mei ynformaasje oer de flater.priveeklasse TokenListener ymplementeart APIListener { / * getToken mei súkses foltôge. * / @Override
iepenbiere leechte onSuccess (bondel antwurd) {
}
/ * D'r wie in flater by it besykjen om it token te krijen. * / @Override
iepenbiere leechte onError (AuthError ae) {
}
} - Yn de onStart metoade fan jo Aktiviteit, belje getToken om te sjen oft de oanfraach noch autorisearre is.
getToken retrieves it rauwe tagongstoken dat de AmazonAuthorizationManager brûkt om tagong te krijen ta in klantprofile. As de tokenwearde net nul is, dan is de app noch autorisearre en in oprop oan getProfile moat slagje. getToken fereasket deselde omfangen dy't jo hawwe frege yn jo oprop om te autorisearjen.
getTokensupports asynchrone oproppen op deselde manier as getProfile, dus jo hoege de UI -thread net te blokkearjen of jo eigen arbeiders thread te meitsjen. Om asynchroon getToken te skiljen, passe in foarwerp troch dat it APIListener ynterface as lêste parameter.@Oerskriuwing
beskerme leechte onStart () {
super.onStart
(); mAuthManager.getToken (nije String [] {"profile","Postkoade"},
nij
TokenListener ());
} - Implementearje op Sukses foar dyn TokenListener.
op súkses hat twa taken: it token út 'e bondel helje, en as it token jildich is, skilje getProfile.
Om de tokengegevens út 'e bondel te heljen, brûke wy nammen opslein troch de AuthzConstants klasse. De op Sukses bondel befettet de tokengegevens yn in BUNDLE_KEY.TOKEN -wearde. As dy wearde net nul is, sil dizze eksample oproppen getProfile deselde harker brûke dy't jo yn 'e foarige paragraaf hawwe ferklearre (sjoch stap 7 en 8)./ * getToken mei súkses foltôge. * /
@Oerskriuwing
iepenbiere leechte onSuccess (bondel antwurd) {
definitive String authzToken =
response.getString (AuthzConstants.BUNDLE_KEY.TOKEN.val);
as (! TextUtils.isEmpty (authzToken))
{
// De pro opheljefile data
mAuthManager.getProfile(nije ProfileHarker ());
}
}
De metoade clearAuthorizationState sil de autorisaasjegegevens fan 'e brûker wiskje fan' e lokale gegevenswinkel fan AmazonAuthorizationManager. In brûker sil opnij moatte oanmelde om de app pro te heljenfile data. Brûk dizze metoade om in brûker út te loggen, of om oanmeldproblemen yn 'e app op te lossen.
- In logout útfiere
As in brûker mei súkses hat oanmeld, moatte jo in útlogmeganisme leverje, sadat se har pro kinne wiskjefile gegevens en earder autorisearre omfang. Jo meganisme kin in hyperlink wêze, as in menu -item. Foar dizze eksample sille wy in meitsje onKlik metoade foar in knop. - Belje yn jo ôfmeldhanneler clearAuthorizationState. clearAuthorizationState sil de autorisaasjegegevens fan in brûker ferwiderje (tagong tokens, profile) fan 'e pleatslike winkel. clearAuthorizationStatetakes gjin parameters útsein in APIListener om súkses werom te jaan of
- Anonime ferklearje APIListener.
Anonime klassen binne in nuttich alternatyf foar it ferklearjen fan in nije klasse foar ymplemintaasje APIListener. Sjen Behannelje de oanmeldknop en krije Profile Data (s. 17) foar in examplet ferklearret harkersklassen. - Implementearje op Sukses binnen de APIListener
Wannear clearAuthorizationState slagget dat jo jo UI moatte bywurkje om ferwizings nei de brûker te ferwiderjen, en in oanmeldmeganisme op te jaan dy't brûkers kinne brûke om opnij oan te melden. - Implementearje onFout binnen de APIListener.
If clearAuthorizationStatereturns in flater, kinne jo de brûker besykje opnij út te loggen.@Oerskriuwing
beskerme void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
/ * Foarige onCreate deklaraasjes weilitten * /
// Sykje de knop mei de ôfmeld-ID en set in klikbehanneler yn
mLogoutButton = (knop) fineViewById (R.id.logout);
mlogoutButton.setOnClickListener (nij OnClickListener () {
@Oerskriuwing
iepenbiere leechte onClick (View v) {
mAuthManager.clearAuthorizationState (nij
APIListener () {
@Oerskriuwing
iepenbiere leechte opSukses (resultaten fan bondels) {
// Stel útlogde steat yn UI
}
@Oerskriuwing
iepenbiere leechte onError (AuthError authError) {
// Log de flater yn
}
});
}
});
}
Guon AmazonAuthorizationManager metoades jouwe in Future -objekt werom. Hjirmei kinne jo de metoade syngroan skilje ynstee fan in harker as parameter troch te jaan. As jo in Future -objekt brûke, moatte jo it net brûke op in UI -thread. As jo in UI -thread mear dan fiif sekonden blokkearje, krije jo in ANR -oanfraach (applikaasje reageart net). Yn 'e Handle de oanmeldknop en Get Profile Gegevens eksample, de op Sukses metoade foar AutorisearjeListener wurdt neamd mei in arbeider tried makke troch AmazonAuthorizationManager. Dit betsjut dat it feilich is om dizze thread te brûken om getPiro te skiljenfile syngroanysk. Tawize de retourwearde fan om in syngroane oprop te meitsjen getPirofile nei in Future-objekt, en neam de gietmetoade op dat objekt wachtsje oant de metoade foltôge is.
Future.get retourneert in bondelobjekt dat in befettet FUTURE_TYPE wearde fan SUKSES, FOUT, or CANCEL. As de metoade in súkses wie, sil deselde bondel PRO befetsjeFILE_KEY -wearden foar de profile data. Foar eksample:
/ * Autorisaasje is mei sukses foltôge. * / @Oerskriuwing iepenbiere leechte onSuccess (bondel antwurd) { Takomstige <Bundle> takomst = mAuthManager.getProfile(null); Bundel resultaat = future.get (); // Fyn út as de oprop is slagge, en helje de pro opfile Objekt future_type = result.get (AuthzConstants.BUNDLE_KEY.FUTURE.val); as (future_type == AuthzConstants.FUTURE_TYPE.SUCCESS) { Stringnamme = result.getString (AuthzConstants.PROFILE_KEY.NAME.val); String email = result.getString (AuthzConstants.PROFILE_KEY.EMAIL.val); String account = result.getString (AuthzConstants.PROFILE_KEY.USER_ID.val); String zipcode = result.getString (AuthzConstants.PROFILE_KEY.POSTAL_CODE.val); runOnUiThread (nij Runnable () {@Override iepenbiere leechte run () {updateProfileGegevens (namme, e -post, akkount, ZIP koade); } }); } oars as (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Krij flaterobjekt AuthError authError = AuthError.extractError (resultaat); / * Brûk authError om flater te diagnostisearjen * / } |
Oanmelde by Amazon Om te begjinnen Gids foar Android - Download [optimalisearre]
Oanmelde by Amazon Om te begjinnen Gids foar Android - Download