Teken in op Amazon Aan die slag Handleiding vir Android
Meld aan by Amazon: Handleiding vir Android
Kopiereg © 2016 Amazon.com, Inc., of sy affiliasies. Alle regte voorbehou. Amazon en die Amazon-logo is handelsmerke van Amazon.com, Inc. of sy filiaal. Alle ander handelsmerke wat nie deur Amazon besit word nie, is die eiendom van hul onderskeie eienaars.
Aan die slag vir Android
In hierdie gids sal ons u wys hoe u Login met Amazon by u Android-app kan voeg. Na die voltooiing van hierdie gids, moet u 'n werkende Login met Amazon-knoppie in u app hê om gebruikers in staat te stel om aan te meld met hul Amazon-referensies.
Die installering van die Android Developer Tools
Met Login met Amazon SDK vir Android kan u Login met Amazon by u Android-toepassing voeg. Ons beveel aan dat u die aanmelding met Amazon SDK vir Android van developer.amazon.com met Android Studio gebruik. U kan egter ook die Eclipse met ADT-inprop gebruik. Raadpleeg vir inligting oor hoe u Android Studio installeer en hoe u die instelling van die Android SDK kan instel Kry die Android SDK op developer.android.com.
Wanneer die Android SDK geïnstalleer is, soek die SDK Bestuurder toepassing in u Android-installasie. Om te ontwikkel vir aanmelding met Amazon, moet u die SDK Manager gebruik om die SDK Platform vir Android 2.2 of hoër te installeer (API-weergawe 8). Sien Voeg SDK-pakkette by op developer.android.com vir meer inligting oor die gebruik van SDK
Nadat u die SDK geïnstalleer het, moet u 'n Android Virtual Device (AVD) instel om u programme te laat loop. Sien Bestuur Virtuele toestelle op developer.android.com vir instruksies oor die opstel van 'n virtuele toestel.
Wanneer u ontwikkelingsomgewing ingestel is, kan u Installeer die aanmelding met Amazon SDK vir Android or Begin die Sampdie App, soos hieronder beskryf.
Installeer die aanmelding met Amazon SDK vir Android
Die aanmelding met Amazon SDK vir Android kom in twee pakkette. Die eerste bevat die Android -biblioteek en ondersteunende dokumentasie. Die tweede bevat asampDie toepassing waarmee 'n gebruiker kan aanmeld en hul pro kan vertoonfile data.
As u nog nie die Android SDK of die Android Development Tools geïnstalleer het nie, sien die Installeer tans die Android Developer Tools afdeling hierbo.
- Laai af zip en onttrek die files na 'n gids op u hardeskyf.
U moet a sien dok en a lib subgids. - Maak oop doc / index.html aan view die aanmelding met Amazon Android API
- Sien Installeer die aanmelding met Amazon Library, vir instruksies oor hoe om die biblioteek en dokumentasie by 'n Android te voeg
Wanneer die aanmelding met Amazon SDK vir Android geïnstalleer is, kan u dit doen Skep 'n nuwe aanmelding met Amazon projek, na Registreer by Login by Amazon .
Begin die Sampdie App
Om die sampdie aansoek, voer die sampna 'n AndroidStudio -werkruimte (as u Eclipse gebruik, moet u ook 'n pasgemaakte ontfoutingsleutelwinkel by die werkruimte voeg. Sien die Voeg die Custom Debug by Keystore in verduistering afdeling hieronder). Die API -sleutel wat die sampDie toepassingsgebruik vereis dat die werkruimte die sleutelwinkel gebruik wat saam met die sample. As die pasgemaakte sleutelwinkel nie geïnstalleer is nie, sal gebruikers nie met die s kan aanmeld nieample. Die sleutelwinkel word outomaties afgehaal as u AndroidStudio gebruik.
- Laai af SampleLoginWithAmazonAppForAndroid-src.zip en onttrek die files na 'n gids op u hard
- Begin Android Studio en kies Open 'n bestaande Android Studio-projek
- Blaai na die SampleLoginWithAmazonApp gids verkry nadat u die afgelaaide zip afgelaai het file in Stap
- Van die Bou kieslys, klik Maak Projek, en wag totdat die projek voltooi is
- Van die Hardloop kieslys, klik Hardloop en klik dan op SampleLoginWithAmazonApp.
- Kies die emulator of gekoppelde Android-toestel en klik Hardloop.
Voeg die Custom Debug Key-winkel in Eclipse by
Volg die onderstaande instruksies om die aangepaste foutopsporingstoorplek by te voeg as u Eclipse gebruik:
- In die Voorkeure dialoog, kies Android en Bou.
- Langs Pasgemaak Ontfout Keystore, klik Blaai deur.
- Gaan na die sampdie app -gids en kies 3p.sleutelwinkel, en klik dan OK.
Registreer by Login by Amazon
Voordat jy Login with Amazon kan gebruik op 'n webwebwerf of in 'n mobiele toepassing, moet jy 'n toepassing registreer met Login met Amazon. Jou Aanmelding by Amazon-toepassing is die registrasie wat basiese inligting oor jou besigheid en inligting oor elkeen bevat webwebwerf of mobiele toepassing wat jy skep wat Aanmelding met Amazon ondersteun. Hierdie besigheidsinligting word aan gebruikers vertoon elke keer as hulle Login with Amazon op jou gebruik webwebwerf of mobiele app. Gebruikers sien die naam van u aansoek, u logo en 'n skakel na u privaatheidsbeleid. Hierdie stappe demonstreer hoe u 'n aanmelding by Amazon -toepassing kan registreer en 'n Android -app by die rekening kan voeg.
Kyk na die volgende onderwerpe:
- Registreer u aanmelding by Amazon-aansoek
- Registreer u Android-app
- Voeg 'n Android-app vir Amazon Appstore by
- Voeg 'n Android-app sonder Appstore by
- Android App-handtekeninge en API-sleutels
- Bepaling van 'n Android-app-handtekening
- Kry tans 'n Android API-sleutel
Registreer u aanmelding by Amazon-aansoek
- Gaan na https://login.amazon.com.
- As u al voorheen by Amazon aangemeld het, klik App -konsole. Andersins, klik Teken in. U sal na Seller Central herlei word, wat aansoekregistrasie vir aanmelding hanteer. As dit die eerste keer is dat u Seller Central gebruik, sal u gevra word om 'n Seller Central-rekening op te stel.
- Klik Registreer nuwe aansoek. Die Registreer jou aansoek vorm sal verskyn:
a. In die Registreer jou aansoek vorm, voer 'n in Naam en a Beskrywing vir jou aansoek.
Die Naam is die naam wat op die toestemmingskerm vertoon word wanneer gebruikers instem om inligting met jou aansoek te deel. Hierdie naam is van toepassing op Android, iOS en webwebwerfweergawes van u aansoek.
b. Voer 'n in Privaatheidskennisgewing URL vir u aansoek
Die Privaatheidskennisgewing URL is die ligging van die privaatheidsbeleid van u onderneming of aansoek (bvample, http://www.example.com/privacy.html). Hierdie skakel word aan gebruikers op die toestemmingsskerm vertoon.
c. As jy 'n byvoeg Logo beeld vir jou aansoek, klik Blaai deur en soek die toepaslike beeld.
Hierdie logo word op die aanmeld- en toestemmingsskerm vertoon om u besigheid of webwerf. Die logo sal tot 50 pixels in hoogte verklein word as dit groter as 50 pixels is; daar is geen beperking op die breedte van die logo nie - Klik Stoor. Jou sampDie registrasie moet soos volg lyk:
Nadat u basiese toepassingsinstellings gestoor is, kan u instellings vir spesifieke byvoeg webwebwerwe en mobiele programme wat hierdie aanmelding met Amazon -rekening sal gebruik.
Registreer u Android-app
Om 'n Android-app te registreer, kan u 'n app registreer via die Amazon Appstore (Voeg 'n Android-app vir Amazon Appstore by, bl. 8) of direk met Login met Amazon (Voeg 'n Android by App Sonder Appstore, bl. 9). Wanneer u app geregistreer is, het u toegang tot 'n API-sleutel wat u toegang tot die Login met Amazon-magtigingsdiens verleen.
Let wel: Kontak as u van plan is om Amazon Device Messaging in u Android-app te gebruik lwa- ondersteuning@amazon.com met:
- Die e-posadres van die Amazon-rekening waarmee u by Amazon aangemeld het.
- Die e-posadres van die Amazon-rekening waarmee u by die Amazon Appstore aangemeld het (indien anders).
- Die naam in u Seller Central-rekening. (Klik op Seller Central Instellings> Rekeninginligting> Verkopersinligting, en gebruik die Vertoonnaam).
- Die naam op u Amazon Appstore-ontwikkelaarrekening. (Klik op die Mobile App Distribution-webwerf Instellings > Maatskappy Profile en gebruik die Ontwikkelaarnaam of maatskappynaam).
Voeg 'n Android-app vir Amazon Appstore by
Die volgende stappe sal 'n Amazon Appstore-app by u aanmelding met Amazon-rekening voeg:
- Klik op die toepassingskerm Android-instellings. As u reeds 'n Android-app geregistreer het, soek die Voeg API-sleutel by knoppie in die Android-instellings
Die Android-toepassingsbesonderhede vorm sal verskyn: - Kies Ja in antwoord op die vraag “Word hierdie aansoek versprei deur die Amazon Appstore?”
- Voer die in Etiket van jou Android -app. Dit hoef nie die amptelike naam van u app te wees nie. Dit identifiseer eenvoudig hierdie spesifieke Android -app onder die programme en webwebwerwe wat by u aanmelding met die Amazon -toepassing geregistreer is.
- Voeg jou Amazon Appstore-ID.
- Voeg selfondertekeningsinligting by as u u app self onderteken het. Hierdeur kan u tydens die ontwikkeling van 'n API-sleutel verkry sonder om die Appstore direk te gebruik:
a. As u app nie deur die Amazon Appstore onderteken word nie, kies Ja as antwoord op die vraag "Is hierdie aansoek selfonderteken?"
Die Android-toepassingsbesonderhede vorm sal uitbrei:
b. Voer jou in Pakketnaam.
Dit moet ooreenstem met die pakketnaam van u Android-projek. Om die pakketnaam van u Android-projek te bepaal, open u die projek in u Android-ontwikkelaarhulpmiddel.
Maak oop AndroidManifest.XML in Package Explorer en kies die Manifesteer oortjie. Die eerste inskrywing is die pakketnaam.
c. Voer die app in Handtekening.
Dit is 'n SHA-256-hash-waarde wat gebruik word om u aansoek te verifieer. Die handtekening moet in die vorm van 32 heksadesimale pare geskei wees deur dubbelpunte (bvample: 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). Sien Android App-handtekeninge en API-sleutels vir stappe wat u kan gebruik om die handtekening uit u projek te haal. - Klik Stoor.
As verskillende weergawes van u app verskillende handtekeninge of pakketname het, soos vir een of meer toetsweergawes en 'n produksie-weergawe, benodig elke weergawe sy eie API-sleutel. Van die Android-instellings klik op die Voeg API-sleutel by knoppie om bykomende sleutels vir u program te skep (een per weergawe).
Android App-handtekeninge en API-sleutels
Die app-handtekening is 'n SHA-256-hashwaarde wat op elke Android-app toegepas word wanneer dit gebou word. Amazon gebruik die app-handtekening om u API-sleutel te konstrueer. Die API-sleutel stel Amazon-dienste in staat om u program te herken. As u die Amazon Appstore gebruik om u app te onderteken, word die API-sleutel outomaties verstrek. As u nie die Amazon Appstore gebruik nie, moet u u API-sleutel handmatig bestuur.
App-handtekeninge word in 'n sleutelstoor gestoor. Oor die algemeen is daar 'n debug-sleutelstoor en 'n release-sleutelstoor vir Android-programme. Die foutopsporingstoor is gemaak deur die Android-ontwikkelingsinstrument-inprop vir Eclipse en word standaard gebruik. U kan die ligging van die ontfoutingsleutelwinkel in Eclipse vind deur te klik Venster, en kies dan Voorkeure> Android> Bou. Vanaf daardie skerm kan u ook u eie foutopsporingstoorplek byvoeg. Vir Android Studio, vanaf die Bou kieslys, kies Wysig boustipes, gaan dan na die Ondertekening tabblad, en soek die foutopsporingstoor in die Winkel File veld.
Gewoonlik word 'n vrystelling -sleutelwinkel geskep wanneer u u Android -program uitvoer om 'n ondertekende APK te skep file.
As u 'n nuwe vrystellingsleutelstoor skep deur die uitvoerproses, sal u die ligging daarvan kies. Deur
standaard sal dit op dieselfde plek geplaas word as u verstekfout KeyStore.
As u u program tydens die ontwikkeling met die ontfouthandtekening geregistreer het, moet u 'n nuwe Android-instelling by u toepassing voeg wanneer u gereed is om die app vry te stel. Die nuwe app-instelling moet die handtekening van die release keystore gebruik.
Sien Onderteken u aansoeke op developer.android.com vir meer inligting.
Bepaal die Android App-handtekening
- As u 'n ondertekende APK het file:
a. Pak die APK uit file en uittreksel SERT.RSA. (U kan die APK-uitbreiding hernoem na ZIP indien nodig).
b. Voer vanaf die opdraglyn:sleutelbord -afdruk -file SERT.RSA Keytoolis geleë in die bin gids van u Java-installasie.
- As u 'n sleutelwinkel het file:
a. Voer vanaf die opdraglyn:sleutelbord -lys -v -alias -sleutelwinkelfilenaam> Sleutelhulpmiddel is geleë in die bin-gids van u Java-installasie. Die alias is die naam van die sleutel wat gebruik word om die app te onderteken.
b. Voer die wagwoord vir die sleutel in en druk Voer in. - Onder Sertifikaat vingerafdrukke, kopieer die SHA256 waarde.
Kry die Android API-sleutel
As u 'n Android -instelling geregistreer het en 'n app -handtekening verskaf het, kan u die API -sleutel van die registrasiebladsy vir u aanmelding met Amazon -toepassing haal. U moet die API -sleutel in 'n file in u Android -projek. Totdat u dit doen, is die app nie gemagtig om met die aanmelding met Amazon -magtigingsdiens te kommunikeer nie.
- Gaan na https://login.amazon.com.
- Klik App -konsole.
- In die Aansoeke selekteer u
- Vind u Android-app onder die Android-instellings (As u nog nie 'n Android-app geregistreer het nie, sien Voeg 'n Android-app vir Amazon Appstore by).
- Klik Genereer API-sleutelwaarde. In 'n pop-upvenster word u API-sleutel vertoon. Klik op om die sleutel te kopieër Kies Alles om die hele te kies
Let wel: Die API-sleutelwaarde is deels gebaseer op die tyd wat dit gegenereer word. Dus kan daaropvolgende API-sleutelwaarde (s) wat u genereer, verskil van die oorspronklike. U kan enige van hierdie API-sleutelwaardes in u app gebruik, aangesien dit almal geldig is. - Sien Voeg u API-sleutel by u projek vir instruksies oor die toevoeging van die API-sleutel tot u Android
Skep 'n aanmelding met Amazon Project
In hierdie afdeling leer u hoe u 'n nuwe Android-projek vir aanmelding met Amazon kan skep, die projek kan instel en kode by die projek kan voeg om 'n gebruiker aan te meld met Aanmelding met Amazon. Ons sal die stappe vir Android Studio beskryf, maar u kan analoogstappe toepas op enige IDE- of Android-ontwikkelingsinstrument van u keuse.
Kyk na die volgende onderwerpe:
- Skep 'n nuwe aanmelding met Amazon Project
- Installeer die aanmelding met Amazon Library
- Skakel Content Assist in vir die aanmelding met Amazon Library
- Stel netwerktoestemmings vir u program in
- Voeg u API-sleutel by u projek
- Verwyder die S.ampdie pasgemaakte ontfoutingsleutel vir die app
- Hanteer die konfigurasieveranderings vir u aktiwiteit
- Voeg 'n magtigingsaktiwiteit by u projek
- Voeg 'n aanmelding met Amazon-knoppie by u program
- Hanteer die aanmeldknoppie en kry Profile Data
- Kyk of die gebruiker by Startup aanmeld
- Maak magtigingstaat skoon en teken 'n gebruiker af
- Bel Amazon Authorization Manager Methods Synchronously
Skep 'n nuwe aanmelding met Amazon Project
Volg die onderstaande instruksies om een te skep as u nog nie 'n app-projek het om Login met Amazon te gebruik nie. Gaan na as u 'n bestaande program het Installeer die aanmelding met Amazon Library .
- Begin Android-ontwikkelingshulpmiddel.
- Van die File kieslys, kies Nuut en Projek.
- Tik 'n Aansoek Naam en Maatskappy Naam vir jou
- Voer die in Aansoek en maatskappy se naam wat ooreenstem met die pakketnaam wat u gekies het toe u u program by Login by Amazon geregistreer het.
Kies 'n as u nog nie u app geregistreer het nie Pakketnaam en volg dan die instruksies in die Registreer by Login by Amazon afdeling nadat u u projek geskep het. As die pakketnaam van u app nie ooreenstem met die geregistreerde pakketnaam nie, sal u aanmelding met Amazon-oproepe nie slaag nie. - Kies 'n Minimum vereiste SDK van API 8: Android 2 (Froyo) of hoër, en klik Volgende.
- Kies die tipe aktiwiteit wat u wil skep en klik Volgende.
- Vul die tersaaklike besonderhede in en klik Voltooi.
U het nou 'n nuwe projek in u werkruimte wat u kan gebruik om Login met Amazon te noem.
Installeer die aanmelding met Amazon Library
As u nog nie die aanmelding met Amazon SDK vir Android afgelaai het nie, sien Installeer die aanmelding met Amazon SDK vir Android (bl. 4).
- Met u projek oop in Android Developer Tools, in Project Explorer, regs-kliek op u Projek.
- As 'n vouer genaamd libs is nie reeds teenwoordig nie, skep
- Kopieer die aanmeld-met-amazon-sdk.jar file van die File Stelselen plak dit dan in die libs gids onder u projek / app.
- Regskliek aanmeld-met-amazon-sdk.jar, en kontroleer die Voeg as biblioteek by
Skakel Content Assist in vir die aanmelding met Amazon Library in Eclipse
Om die ondersteuning van die Eclipse-inhoud in 'n Android-projek moontlik te maak, moet u 'n .eiendomme file. Vir meer inligting oor inhoudshulp, sien Inhoud / Kodehulp onhelp.eclipse.org.
Om die ondersteuning van die Eclipse-inhoud in 'n Android-projek moontlik te maak, moet u 'n .eiendomme file. Vir meer inligting oor inhoudshulp, sien Inhoud / Kodehulp onhelp.eclipse.org.
- In Windows Explorer, navigeer na die dokumente gids vir die aanmelding met Amazon SDK vir Android en kopieer die gids na die
- Gaan met u projek oop Pakketverkenner en kies die libs Klik Wysig in die hoofmenu en kies Plak. U moet nou 'n libs \ docs gids.
- Kies die libs Klik File in die hoofmenu en kies Nuut enFile.
- In die Nuut File dialoog, voer in login-with-amazon-sdk.jar.properties en klik Voltooi.
- Verduistering moet oopmaak login-with-amazon-sdk.jar.properties in die teksredakteur. Voeg die volgende reël by die file:
doc = docs - Van die File kieslys, klik Stoor.
- U moet dalk Eclipse herbegin voordat die veranderinge in werking tree
Stel netwerktoestemmings vir u program in
Om u app te kan aanmeld met Amazon, moet dit toegang tot die internet hê en toegang tot die inligting oor die netwerkstatus hê. U app moet hierdie toestemmings in u Android-manifes bevestig, as dit nog nie gebeur nie.
LET WEL: Die onderstaande prosedure is spesifiek vir die toevoeging van die regte in Eclipse. As u Android Studio of 'n ander IDE gebruik, kan u al die onderstaande genommerde stappe oorslaan. Kopieer eerder die kode lyne wat onder die skermkiekie vertoon word, en plak dit in die AndroidManifest.xml file, buite die toepassingsblok.
- In Pakket Verkenner, dubbelklik xml.
- Op die Toestemmings oortjie, klik Voeg by.
- Kies Gebruik toestemming en klik OK.
- Aan die regterkant van Toestemmings, vind die Kenmerke vir gebruikstoestemming
- In die Naam boks, betree toestemming. INTERNET of kies dit in die keuselys.
- Op die Toestemmings oortjie, klik Voeg by
- Kies Gebruik toestemming en klik OK.
- In die Naam boks, betree toestemming.ACCESS_NETWORK_STATE of kies dit in die keuselys
- Van die File kieslys, klik Stoor.
U manifeste toestemmings moet nou die volgende waardes hê:
In die AndroidManifest.xml blad, moet u nou hierdie inskrywings onder die manifes-element sien:
Voeg u API-sleutel by u projek
Wanneer u u Android-toepassing by Login by Amazon registreer, kry u 'n API-sleutel. Dit is 'n identifiseerder wat die Amazon-magtigingsbestuurder sal gebruik om u aansoek te identifiseer vir die Login met Amazon-magtigingsdiens. As u die Amazon Appstore gebruik om u app te onderteken, sal die Appstore outomaties die API-sleutel verskaf. As u nie die Amazon Appstore gebruik nie, laai die Amazon Authorization Manager hierdie waarde tydens die runtime vanaf die api_key.txt file in die bates gids.
- Volg die instruksies in as u nog nie u API-sleutel het nie Kry die Android API-sleutel (bl. 11).
- Met u ADT-projek oop vanaf die File kieslys, klik Nuut en kies Teks sonder titel File. U behoort nou 'n redakteurvenster vir 'n teks te hê file genoem Titelloos 1. Voeg u API-sleutel by die teks
- Van die File kieslys, klik Stoor as.
- In die Stoor as kies die bates gids van u projek as die ouermap. Vir File naam, gaan in txt.
Verwyder die S.ampdie pasgemaakte ontfoutingsleutel vir die app
LET WEL: Hierdie stap is slegs nodig as u Eclipse gebruik; Slaan hierdie afdeling oor as u Android Studio gebruik.
As u die aanmelding met Amazon vir Android s geïnstalleer hetampDie toepassing in dieselfde werkruimte wat u vir u Android -app gebruik, het moontlik 'n pasgemaakte ontfoutingsleutelwinkel vir die werkruimte. U moet die pasgemaakte ontfoutingsleutelwinkel uitvee om u eie API -sleutel te kan gebruik.
- Klik op die hoofkieslys Venster en kies Voorkeure.
- In die Voorkeure dialoog, kies Android en Bou.
- Vee die Pasgemaak ontfout sleutelstoor
- Klik OK.
Hanteer die konfigurasieveranderings vir u aktiwiteit
As 'n gebruiker die skermoriëntasie verander of die sleutelbordtoestand van die toestel verander terwyl hulle aanmeld, sal die huidige aktiwiteit weer begin. Hierdie herlaai sal die aanmeldskerm onverwags van die hand wys. Om dit te voorkom, moet u die aktiwiteit instel wat die magtigingsmetode gebruik om die konfigurasieveranderings handmatig te hanteer. Dit sal voorkom dat die aktiwiteit weer begin word.
- In Pakket Verkenner, dubbelklik xml.
- In die Toepassing vind die aktiwiteit wat Login met Amazon sal hanteer (bvample, Hoofaktiwiteit).
- Voeg die volgende eienskap by die aktiwiteit wat u in Stap 2 gevind het:
android: configChanges = ”sleutelbord | sleutelbordversteek | oriëntasie” Of vir API 13 of hoër:
android: configChanges = ”sleutelbord | sleutelbord versteek | oriëntasie | skermgrootte” - Van die File kieslys, klik Stoor
Nou, wanneer 'n sleutelbord- of toesteloriëntasieverandering plaasvind, sal Android die onConfigurationChanged metode vir u aktiwiteit. U hoef hierdie funksie nie te implementeer nie, tensy daar 'n aspek van hierdie konfigurasieveranderings is wat u vir u program wil hanteer
As die gebruiker op die Login met Amazon -knoppie klik, sal die API 'n web blaaier om 'n aanmeld- en toestemmingsbladsy aan die gebruiker voor te lê. Om hierdie blaaieraktiwiteit te laat werk, moet u die AuthorizationActivity by u manifes voeg.
- In Pakket Verkenner, dubbelklik xml.
- In die Toepassing voeg die volgende kode by en vervang “com.example.app ”met u pakketnaam vir hierdie app:
<aktiwiteit android:naam=
“Com.amazon.identity.auth.device.authorization.AuthorizationActivity” android: theme = ”@ android: style / Theme.NoDisplay” android: allowTaskReparenting = ”true” android: launchMode = ”singleTask”>
<action android:name="android.intent.action.VIEW” />
<data
android: host = ”com.example.app ”android: scheme =” amzn ” />
jou app. Hierdie afdeling gee stappe vir die aflaai van 'n amptelike aanmelding met Amazon-beeld en koppel dit met 'n Android ImageButton.
- Voeg 'n standaard ImageButton by u program.
Vir meer inligting oor Android-knoppies en die ImageButton-klas, sien Knoppies op developer.android.com. - Gee u knoppie 'n ID.
Stel die kenmerk android: id in die knoppie XML -verklaring op @+id/login_with_amazon. Vir eksample:android: id = ”@ + id / login_with_amazon” - Kies 'n knoppiebeeld.
Raadpleeg ons aanmelding by Amazon Stylriglyne vir 'n lys knoppies wat u in u app kan gebruik. Laai 'n afskrif van die LWA_Android.zip file. Pak 'n afskrif van u knoppie uit vir elke skermdigtheid wat u app ondersteun (xxhdpi, xhdpi, hdpi, mdpi of tvdpi). Vir meer inligting oor die ondersteuning van verskeie skermdigthede in Android, sien Alternatiewe uitlegte in die onderwerp "Ondersteuning vir meerdere skerms" ondeveloper.android.com. - Kopieer die toepaslike knoppiebeeld files aan jou projek.
Kopieer die afgelaaide knoppie vir elke skermdigtheid wat u ondersteun (xhdpi, hdpi, mdpi of ldpi) na die res / tekenbaar gids vir die skermdigtheid. - Verklaar die knoppiebeeld.
Stel in die knoppie XML -verklaring die kenmerk android: src in op die naam van die gekose knoppie. Vir eksample:android: src = ”@ drawable / btnlwa_gold_loginwithamazon.png” 6. Laai u app en kontroleer of die knoppie nou 'n aanmelding met Amazon-beeld het. U moet seker maak dat die knoppie behoorlik vertoon vir elke skermdigtheid wat u ondersteun.
Hierdie afdeling verduidelik hoe u die authorize en getPro kan belfile API's om by 'n gebruiker aan te meld en hul pro te haalfile data. Dit sluit in die skep van 'n onClick -luisteraar vir u aanmelding met die Amazon -knoppie in die onCreate -metode van u app.
- Voeg aanmelding met Amazon by u Android-projek. Sien Installeer die aanmelding met Amazon Library .
- Voer die aanmelding met Amazon API na u bron in
Voeg die volgende invoerstate by u bron om die aanmelding met Amazon API in te voer file:invoer com.amazon.identity.auth.device.AuthError; invoer
com.amazon.identity.authorization.api.
AmazonAuthorizationManager; invoer
com.amazon.identity.auth.device.authorization.api. Magtigingsluisteraar; invoer com.amazon.identity.auth.device.authorization.api.AuthzConstants; - Inisialiseer AmazonAuthorizationManager.
U moet 'n AmazonAuthorizationManager veranderlike en skep 'n nuwe instansie van die klas. Om 'n nuwe instansie te skep, benodig u slegs u huidige toepassingsverband en 'n leë bundel. Die beste plek om te initialiseer AmazonAuthorizationManager is in die op Skep metode van u aktiwiteit. Vir eksample: - Skep 'n AuthorizeLiistener.
AuthorizeListener implementeer die AuthorizatioinListener-koppelvlak en verwerk die resultaat van die magtigingsoproep. Dit bevat drie metodes: oinSuccess, onFout, en onCanceil. Elke metode ontvang óf 'n bundel óf 'n AuthFout voorwerp.privaat klas AuthorizeListener implementeer AuthorizationListener {
/ * Magtiging is suksesvol voltooi. * /
@Oorskryf
openbare leemte opSuccess (bundel-antwoord) {
}
/ * Daar was 'n fout tydens die poging om die aansoek te magtig.
*/
@Oorskryf
openbare leemte onError (AuthError ae) {
}
/ * Magtiging is gekanselleer voordat dit voltooi kon word. * /
@Oorskryf
openbare leemte onCancel (bondelsaak) {
}
} - Bel AmazonAuthorizationManager.magtig.
In die op klik hanteerder vir u aanmelding met Amazon-knoppie, bel magtig om die gebruiker te versoek om aan te meld en u aansoek te magtig.
Hierdie metode is verantwoordelik om die klant op een van die volgende maniere te magtig:- Skakel oor na die stelselblaaier en laat die klant aanmeld en toestemming gee vir die versoek
- Skakel oor na web view in 'n veilige konteks, sodat die kliënt kan aanmeld en toestemming gee vir die versoek
Hierdie veilige konteks vir nommer 2 word tans beskikbaar gestel as die Amazon Shopping -app op Android -toestelle. Toestelle wat deur Amazon geskep is, met Fire OS (bvample Kindle Fire, Fire Phone en Fire TV) gebruik hierdie opsie altyd, selfs al is daar geen Amazon Shopping -app op die toestel nie. As gevolg hiervan, as die kliënt reeds by die Amazon Shopping-app aangemeld is, slaan hierdie API die aanmeldingsbladsy oor, wat lei tot 'n Enkelaanmelding ervaring vir die kliënt.
As u aansoek goedgekeur is, word dit gemagtig vir een of meer datastelle wat bekend staan as bestekke. Die eerste parameter is 'n verskeidenheid omvang wat die gebruikersdata bevat wat u van Login met Amazon versoek. Die eerste keer dat 'n gebruiker by u program aanmeld, word 'n lys van die gegewens wat u versoek, om 'n lys van data aangebied en om goedkeuring gevra. Aanmelding by Amazon ondersteun tans drie omvang: profile, wat die gebruiker se naam, e -posadres en Amazon -rekening -ID bevat; profile: user_id, wat slegs die Amazon-rekening-ID bevat; en Poskode, wat die gebruiker se poskode bevat.
Die beste manier om autorisasie te bel is asynchroon, dus u hoef nie die UI-draad te blokkeer of 'n eie draad vir u te skep nie. Om te bel outomaties sinchronies, slaag 'n voorwerp wat die Magtigingslyster -koppelvlak as laaste parameter:privaat AmazonAuthorizationManager mAuthManager; @Oorskryf
beskermde void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
mAuthManager = nuwe AmazonAuthorizationManager (hierdie, Bundle.EMPTY);// Soek die knoppie met die login_with_amazon ID
// en stel 'n klikhanteerder op
mLoginButton = (Knoppie) vindViewById (R.id.login_with_amazon);
mLoginButton.setOnClickListener (nuwe OnClickListener () {
@Oorskryf
openbare leemte onClick (View v) {
mAuthManager.authorize (
nuwe snaar [] {“profile","Poskode"},
Bundel.EMPTY, nuwe AuthorizeListener ());
}
});
} - Skep 'n ProfileLuisteraar.
ProfileLuisteraar is ons naam vir 'n klas wat die implementeer APILuisteraar koppelvlak, en sal die resultaat van die kryProfile bel. APILuisteraar bevat twee metodes: onSukses en onError (dit ondersteun nie onKanselleer omdat daar geen manier is om a te kanselleer nie kryProfile bel). onSukses ontvang 'n bondelvoorwerp met profile data, terwyl opEriror ontvang 'n AuthFout beswaar met inligting oor die fout.privaat klas ProfileLuisteraar implementeer APIListener { /* getProfile suksesvol voltooi. */ @Oorride
openbare leemte opSuccess (bundel-antwoord) {}
/* Daar was 'n fout tydens die poging om die pro te kryfile. */ @Oorride
openbare leemte onError (AuthError ae) {
}
} - Implementeer onSukses vir jou AuthorizeListener.
In opSukses, bel AmazonAuthorizationManager.getProfile om die kliënt pro op te haalfile. kryProfile, soos magtig, gebruik 'n asynchrone luisteraar-koppelvlak. Vir kryProfile, daardie koppelvlak is APIListener, notAuthorizationListener.
/ * Magtiging is suksesvol voltooi. * / @Override
openbare leemte opSuccess (bundel-antwoord) {
mAuthManager.getProfile(nuwe ProfileLuisteraar ());} - Implementeer op Sukses vir jou ProfileLuisteraar.
onSukses het twee hooftake: om die pro op te haalfile data uit die antwoordbundel, en om die data aan die UI oor te dra. updateProfileDatais 'n hipotetiese funksie wat u app kan implementeer om pro te vertoonfile besonderhede. stelLoggedInState, 'n ander hipotetiese funksie, sou aandui dat 'n gebruiker aangemeld is en hulle 'n manier gee om uitteken.
Om die pro te haalfile data uit die bundel, gebruik ons name wat deur die AuthzConstants klas. Die onSukses bundel bevat die profile data in 'n BUNDLE_KEY.PROFILE bundel.
Binne die profile bundel, word die bestekdata geïndekseer onder PROFILE_KEY.NAME, PROFILE_KEY.EMAIL, PROFILE_KEY.USER_ID, en PROFILE_KEY.POSTAL_CODE. PROFILE_KEY.POSTAL_CODE is slegs ingesluit as u die poskode omvang.@Oorskryf
openbare leemte opSuccess (bundel-antwoord) {
// Haal die nodige data van die Bundle Bundle pro affileBundel = response.getBundle (
AuthzConstants.BUNDLE_KEY.PROFILE.val);
Stringnaam = profileBundle.getString (
AuthzConstants.PROFILE_KEY.NAME.val);
String -e -pos = profileBundle.getString (
AuthzConstants.PROFILE_KEY.EMAIL.val);
Stringrekening = profileBundle.getString (
AuthzConstants.PROFILE_KEY.USER_ID.val);
String poskode = profileBundle.getString (
AuthzConstants.PROFILE_KEY.POSTAL_CODE.val);
runOnUiThread (nuwe Runnable () {@Override
openbare nietige lopie () {
updateProfileData (naam, e -pos, rekening, poskode);
}
});
} - Implementeer opFout vir jou ProfileLuisteraar.
opFout sluit 'n AuthFout voorwerp wat besonderhede oor die fout bevat./* Daar was 'n fout tydens die poging om die pro te kryfile. */ @Oorride
openbare leemte onError (AuthError ae) {
/ * Probeer weer of stel die gebruiker in kennis van die fout * /
} - Implementeer opErrorfor jou AuthorizeListener.
/ * Daar was 'n fout tydens die poging om die aansoek te magtig.
*/
@Oorskryf
openbare leemte onError (AuthError ae) {
/ * Stel die gebruiker in kennis van die fout * /
} - Implementeer opCancelfor jou AuthorizeListener.
Omdat die magtigingsproses 'n aanmeldskerm (en moontlik 'n toestemmingsskerm) aan die gebruiker in 'n web blaaier (of a webview), die gebruiker kry die geleentheid om die aanmelding te kanselleer of weg van die web bladsy. As hulle die aanmeldproses uitdruklik kanselleer, onKanselleer is genoem. As op Kanselleer geroep word, sal u UI wil herstel./ * Magtiging is gekanselleer voordat dit voltooi kon word. * /
@Oorskryf
openbare leemte onCancel (bondelsaak) {
/ * stel die UI terug na 'n gereed-vir-aanmeld-status * /
}Let wel: As die gebruiker wegbeweeg van die aanmeldskerm in die blaaier of web view en terugskakel na u app, sal die SDK nie agterkom dat die aanmelding nie voltooi is nie. As u gebruikersaktiwiteit in u app opspoor voordat die aanmelding voltooi is, kan u aanvaar dat hulle van die blaaier af weggevaar het en dienooreenkomstig reageer.
Kyk of die gebruiker by Startup aanmeld
As 'n gebruiker by u app aanmeld, die app sluit en die app later weer begin, is die app steeds gemagtig om data op te haal. Die gebruiker word nie outomaties uitgeteken nie. By die opstart kan u die gebruiker as aangemeld wys as u app steeds gemagtig is. In hierdie afdeling word uitgelê hoe u getToken kan gebruik om te sien of die app nog steeds gemagtig is.
- Skep 'n TokenListerer.
TokenListerer implementeer die APILuisteraar koppelvlak, en sal die resultaat van die getToken-oproep verwerk. APILuisteraar bevat twee metodes: onSukses en opFout (dit ondersteun nie onKanselleer omdat daar geen manier is om a te kanselleer nie getToken bel). onSukses ontvang 'n bundel-voorwerp met token-data, terwyl opFout ontvang 'n AuthFout beswaar met inligting oor die fout.privaat klas TokenListener implementeer APIListener { / * getToken suksesvol voltooi. * / @Override
openbare leemte opSuccess (bundel-antwoord) {
}
/ * Daar was 'n fout tydens die poging om die teken te kry. * / @Override
openbare leemte onError (AuthError ae) {
}
} - In die aanvang metode van u aktiwiteit, bel getToken om te sien of die aansoek steeds goedgekeur is.
getToken haal die rou toegangsteken op wat die AmazonAuthorizationManager gebruik om toegang te verkry tot 'n kliënt -profile. As die tekenwaarde nie nul is nie, is die app steeds gemagtig en 'n oproep na kryProfile moet slaag. getToken vereis dieselfde omvang wat u gevra het in u oproep om te magtig.
getToken ondersteun asynchrone oproepe op dieselfde manier as getProfile, dus hoef u nie die UI -draad te blokkeer of 'n eie werkersdraad te skep nie. Om getToken asinchroon te bel, slaag 'n voorwerp wat die APILuisteraar koppelvlak as die finale parameter.@Oorskryf
beskermde leemte onStart () {
super.onStart
(); mAuthManager.getToken (nuwe string [] {“profile","Poskode"},
nuut
TokenListener ());
} - Implementeer onSukses vir jou TokenListerer.
onSukses het twee take: om die token uit die bundel te haal, en as die token geldig is, om te bel kryProfile.
Om die token-data uit die bundel te haal, gebruik ons name wat deur die AuthzConstants klas. Die onSukses bundel bevat die tokendata in 'n BUNDLE_KEY.TOKEN -waarde. As die waarde nie nul is nie, is hierdie bvample oproepe kryProfile gebruik dieselfde luisteraar wat u in die vorige afdeling verklaar het (sien stappe 7 en 8)./ * getToken suksesvol voltooi. * /
@Oorskryf
openbare leemte opSuccess (bundel-antwoord) {
finale String authzToken =
response.getString (AuthzConstants.BUNDLE_KEY.TOKEN.val);
as (! TextUtils.isEmpty (authzToken))
{
// Haal die profile data
mAuthManager.getProfile(nuwe ProfileLuisteraar ());
}
}
Die clearAuthorizationState -metode sal die toestemmingsdata van die gebruiker uit die AmazonAuthorizationManager -plaaslike data -stoor verwyder. 'N Gebruiker sal weer moet aanmeld om die program te kan ophaalfile data. Gebruik hierdie metode om by 'n gebruiker af te meld of om aanmeldprobleme in die app op te los.
- Implementeer 'n afmelding
As 'n gebruiker suksesvol aangemeld het, moet u 'n afmeldmeganisme verskaf sodat hulle hul pro kan verwyderfile data en voorheen gemagtigde omvang. U meganisme kan 'n hiperskakel of 'n spyskaartitem wees. Vir hierdie eksample ons sal 'n op klik metode vir 'n knoppie. - Bel in u afmeldhanteerder clearAuthorizationState. clearAuthorizationState sal die magtigingdata van 'n gebruiker verwyder (toegangstekens, profile) van die plaaslike winkel. clearAutorizationStatetakes geen parameters behalwe vir 'n APILuisteraar om sukses terug te gee of
- Verklaar 'n anonieme APILuisteraar.
Anonieme klasse is 'n nuttige alternatief vir die verklaring van 'n nuwe klas wat geïmplementeer moet word APILuisteraar. Sien Hanteer die aanmeldknoppie en kry Profile Data (p. 17) vir 'n examplaat dit verklaar luisteraarsklasse. - Implementeer onSukses binne die APILuisteraar
Wanneer clearAuthorizationState daarin slaag dat u u UI moet opdateer om verwysings na die gebruiker te verwyder, en 'n aanmeldmeganisme moet verskaf wat gebruikers kan gebruik om weer aan te meld. - Implementeer opFout binne die APILuisteraar.
If clearAutorizationStatereturns 'n fout, kan u die gebruiker weer probeer afmeld.@Oorskryf
beskermde void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
/ * Vorige op Skep verklarings weggelaat * /
// Soek die knoppie met die afmeld-ID en stel 'n klikhanteerder op
mLogoutButton = (Knoppie) vindViewById (R.id.logout);
mLogoutButton.setOnClickListener (nuwe OnClickListener () {
@Oorskryf
openbare leemte onClick (View v) {
mAuthManager.clearAuthorizationState (nuut
APIListener () {
@Oorskryf
openbare leemte opSuccess (bundeluitslae) {
// Stel die afgemelde toestand in UI
}
@Oorskryf
openbare leemte onError (AuthError authError) {
// Teken die fout aan
}
});
}
});
}
Sommige AmazonAuthorizationManager metodes gee 'n toekomstige voorwerp terug. Hiermee kan u die metode sinchronies noem in plaas daarvan om 'n luisteraar as 'n parameter deur te gee. As u wel 'n Future -voorwerp gebruik, moet u dit nie op 'n UI -draad gebruik nie. As u meer as vyf sekondes 'n UI -draad blokkeer, kry u 'n ANR (aansoek reageer nie). In die Hanteer die aanmeldknoppie en kry Profile Data bvample, die onSukses metode vir AuthorizeListener word genoem met 'n werkerdraad geskep deur AmazonAuthorizationManager. Dit beteken dat dit veilig is om die draad te gebruik om getPiro te belfile sinchroon. Gee die retourwaarde van om 'n sinchrone oproep te maak kryPirofile na 'n toekomstige voorwerp, en noem die gietmetode om op die voorwerp te wag totdat die metode voltooi is.
Future.get gee 'n bundelvoorwerp terug wat 'n bevat FUTURE_TYPE waarde van SUKSES, FOUT, or KANSELLEER. As die metode suksesvol was, bevat dieselfde bundel PROFILE_KEY -waardes vir die profile data. Vir eksample:
/ * Magtiging is suksesvol voltooi. * / @Oorskryf openbare leemte opSuccess (bundel-antwoord) { Toekomstige <Bundle> toekoms = mAuthManager.getProfile(nul); Bundel resultaat = future.get (); // Vind uit of die oproep geslaag het, en haal die profile Voorwerp future_type = resultaat.get (AuthzConstants.BUNDLE_KEY.FUTURE.val); as (future_type == AuthzConstants.FUTURE_TYPE.SUCCESS) { Stringnaam = result.getString (AuthzConstants.PROFILE_KEY.NAME.val); String -e -pos = result.getString (AuthzConstants.PROFILE_KEY.EMAIL.val); Stringrekening = result.getString (AuthzConstants.PROFILE_KEY.USER_ID.val); String zipcode = result.getString (AuthzConstants.PROFILE_KEY.POSTAL_CODE.val); runOnUiThread (nuwe Runnable () {@Override openbare leegloop () {updateProfileData (naam, e -posadres, rekening, Poskode); } }); } anders as (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Kry foutvoorwerp AuthError authError = AuthError.extractError (resultaat); / * Gebruik authError om fout te diagnoseer * / } |
Teken aan by Amazon Aan die slag Handleiding vir Android - Aflaai [geoptimaliseer]
Teken aan by Amazon Aan die slag Handleiding vir Android - Laai af