Teken aan by Amazon Aan die slag Handleiding vir iOS
Meld aan by Amazon: Handleiding vir iOS
Kopiereg © 2016 Amazon.com, Inc., of sy affiliasies. Alle regte voorbehou.
Amazon en die Amazon-logo is handelsmerke van Amazon.com, Inc. of sy filiale. Alle ander handelsmerke wat nie deur Amazon besit word nie, is die eiendom van hul onderskeie eienaars.
Aan die slag vir iOS
In hierdie gids sal ons u wys hoe u Login met Amazon by u iOS-app kan voeg. Nadat u hierdie gids voltooi het, 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.
Installeer Xcode
Die aanmelding met Amazon SDK vir iOS word voorsien deur Amazon om u te help om Login met Amazon by u iOS-toepassing te voeg. Die SDK is bedoel vir gebruik in die Xcode-ontwikkelingsomgewing. Die SDK ondersteun programme wat op iOS 7.0 en later met ARMv7, ARMv7s, ARM64, i386 en x86_64 gebruik word.
U kan Xcode in die Mac App Store installeer. Vir meer inligting, sien Xcode: Wat is nuut? op developer.apple.com.
Nadat Xcode geïnstalleer is, kan u dit doen Installeer die aanmelding met Amazon SDK vir iOS en Begin die Sampdie App, soos hieronder beskryf.
Installeer die aanmelding met Amazon SDK vir iOS
Die aanmelding met Amazon SDK vir iOS kom in twee pakkette. Die eerste bevat die iOS -biblioteek en ondersteunende dokumentasie. Die tweede bevat asampdie toepassing waarmee 'n gebruiker kan aanmeld en view hul profile data.
As u nog nie Xcode geïnstalleer het nie, raadpleeg die instruksies in die Installeer Xcode afdeling hierbo.
- Laai af Teken in met AmazonSDKForiOS.zip en onttrek die files na 'n gids op u hardeskyf.
U moet a sien LoginWithAmazon.framework gids. Dit bevat die Login with Amazon-biblioteek.
Op die boonste vlak van die ritssluiting is 'n Aanmelding met Amazon.doc gids instel. Dit bevat die API-dokumentasie. - Sien Installeer die aanmelding met Amazon Library vir instruksies oor hoe om die biblioteek by 'n iOS-projek te voeg.
Wanneer die aanmelding met Amazon SDK vir iOS geïnstalleer is, kan u dit doen Skep 'n nuwe aanmelding met Amazon Project na Registreer by Login by Amazon.
Begin die Sampdie App
Om die sampdie aansoek, maak die s oopampin Xcode.
- Laai af SampleLoginWithAmazonAppForiOS.zip en kopieer die
SampleLoginWithAmazonAppForiOS -gids na u gids Dokumente. - Begin Xcode. As die Welkom by Xcode -dialoog verskyn, klik op Open ander. Klik anders in die hoofkieslys File en kies Open.
- Kies die gids Dokumente en kies
SampleLoginWithAmazonAppForiOS/LoginWithAmazonSample/ LoginWithAmazonSample.xcodeproj. Klik Maak oop. - Die sampDie projek moet nou gelaai word. As dit klaar is, kies Produk in die hoofmenu en kies Hardloop
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 iOS -app by die rekening kan voeg.
Kyk na die volgende onderwerpe
- Registreer u aanmelding by Amazon-aansoek
- Voeg 'n iOS -program by 'n Security Profile
- iOS-bundel-ID en API-sleutels
o Bepaal 'n bundel-identifiseerder vir 'n iOS-app
o Kry 'n iOS 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. Klik anders Teken in.
U sal na Seller Central herlei word, wat aansoekregistrasie vir aanmelding by Amazon 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. Voer 'n naam en a in die Registreer u aansoekvorm in 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 privaatheidskennisgewing in URL vir jou 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 op die toestemmingsskerm aan gebruikers 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 hoog 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.
As verskillende weergawes van u app verskillende bundel-ID's het, soos vir een of meer toetsweergawes en 'n produksie-weergawe, benodig elke weergawe sy eie API-sleutel. Van die iOS-instellings klik op die Voeg API-sleutel by knoppie om bykomende sleutels vir u program te skep (een per weergawe).
Voeg 'n iOS -program by 'n Security Profile
Nadat u basiese toepassingsinstellings gestoor is, kan u instellings vir spesifieke byvoeg webwebwerwe en mobiele programme wat hierdie aanmelding met Amazon -rekening sal gebruik.
Om 'n iOS-app te registreer, moet u die bundel-identifiseerder vir die app-projek spesifiseer. Aanmelding by Amazon sal die bundel-ID gebruik om 'n API-sleutel te genereer. Die API-sleutel verleen toegang tot u app tot die Login met Amazon-magtigingsdiens. Volg hierdie stappe om 'n iOS-app by u rekening te voeg:
- Klik op die toepassingskerm iOS-instellings. As u reeds 'n iOS-app geregistreer het, soek die Voeg API-sleutel by knoppie in die iOS-instellings afdeling.
Die iOS-toepassing Besonderhede vorm sal verskyn:
- Voer die in Etiket van u iOS -app. Dit hoef nie die amptelike naam van u app te wees nie. Dit identifiseer eenvoudig hierdie spesifieke iOS -app onder die programme en webwebwerwe wat by u aanmelding met die Amazon -toepassing geregistreer is.
- Voer jou in Bundel ID. Dit moet ooreenstem met die bundel-identifiseerder van u iOS-projek. Open die projek in Xcode om u bundel-identifiseerder te bepaal. Maak die eiendomslys vir die projek oop ( -Info.plist) in die Projeknavigator. Die bundel-identifiseerder is een van die eienskappe in die lys.
- Klik Stoor.
iOS-bundel-ID en API-sleutels
Die bundel-identifiseerder is uniek vir elke iOS-app. Aanmelding by Amazon gebruik die bundel-ID om u API-sleutel te konstrueer. Die API-sleutel stel u in staat om die aanmelding met Amazon-magtigingsdiens u app te herken.
Bepaal 'n bundelidentifiseerder vir 'n iOS-app
- Open u app-projek in Xcode.
- Maak die oop Inligting Eiendom Lys vir die projek ( -Info.plist) in die Projeknavigator.
- Vind Bundel-identifiseerder in die lys van eiendomme.
Kry 'n iOS-API-sleutel
Nadat u 'n iOS-weergawe geregistreer het en 'n bundel-ID verstrek het, kan u die API-sleutel van die registrasiebladsy ophaal vir u aanmelding met Amazon-toepassing. U moet daardie API-sleutel in die eiendomslys van u projek plaas. Totdat u dit nie doen nie, sal die app nie gemagtig wees om met die Login met Amazon-magtigingsdiens te kommunikeer nie.
1. Gaan na https://login.amazon.com.
2. Klik App -konsole.
3. In die Toepassings Klik op u aansoek.
4. Vind u iOS-app onder die iOS-instellings afdeling. Kyk as u nog nie 'n iOS-app geregistreer het nie Voeg 'n iOS -program by 'n Security Profile.
5. 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 sleutel 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.
6. Sien Voeg u API-sleutel by u app-eiendomslys vir instruksies oor die toevoeging van die API-sleutel tot u iOS-program
Skep 'n aanmelding met Amazon Project
In hierdie afdeling leer u hoe u 'n nuwe Xcode-projek vir aanmelding by Amazon kan skep en die projek kan instel.
Kyk na die volgende onderwerpe:
- Skep 'n nuwe aanmelding met Amazon Project
- Installeer die aanmelding met Amazon Library
- Voeg u API-sleutel by u app-eiendomslys
- Voeg a URL Skema vir u app-eiendomslys
- Voeg 'n uitsondering op die beveiliging van app-vervoer vir Amazon by u program Eiendomslys
LET WEL: Hierdie nuwe stap is tans nodig wanneer u op die iOS 9 SDK ontwikkel - Voeg 'n aanmelding met Amazon-knoppie by u program
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. As u 'n bestaande app het, gaan na die afdeling Installeer die aanmelding met Amazon-biblioteek hieronder.
- Begin Xcode.
- As u 'n Welkom by Xcode dialoog, kies Skep 'n nuwe Xcode-projek.
Andersins, van die File kieslys, kies Nuut en Projek. - Kies die tipe projek wat u wil skep en klik Volgende.
- Voer 'n in Produk Naam en a Maatskappy-identifiseerder. Let op u Bundelidentifiseerder, en klik Volgende.
- Kies 'n plek waar u u projek wil stoor en klik Skep.
U het nou 'n nuwe projek 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 iOS afgelaai het nie, sien Installeer die aanmelding met Amazon SDK vir iOS.
'N Aanmelding met Amazon-projek moet die LoginWithAmazon.framework en Veiligheid.raamwerk biblioteke. U moet ook die raamwerksoekpad instel om die aanmelding met Amazon-opskrifte te vind
- Kies u met u projek oop in Xcode Raamwerke gids, klik File in die hoofmenu en kies dan Voeg by Files aan “Projek”.
- Kies in die dialoogvenster LoginWithAmazon.framework en klik Voeg by.
As u die Login with Amazon 1.0-biblioteek gebruik het, verwyder u die login-with-amazon sdk-gids en login-with-amazon-sdk.a uit die Frameworks-lêergids. Klik op Wysig in die hoofmenu en kies Vee uit. - Kies die naam van u projek in die Projeknavigator.
Die Projek Editor sal in die redakteurarea van die Xcode-werkruimte verskyn. - Klik op u projeknaam onder Teikens, en kies Bou fases. Brei Link Binary met biblioteke uit en klik op die plusteken om 'n biblioteek by te voeg.
- Voer in die soekkassie in Veiligheid.raamwerk. Kies Security.framework en klik Voeg by.
- Voer in die soekkassie in SafariServices.raamwerk. Kies SafariServices.raamwerk en klik Voeg by.
- Voer in die soekkassie in CoreGraphics.raamwerk. Kies CoreGraphics.raamwerk en klik Voeg by
- Kies Bou-instellings. Klik op Alles om view alle instellings.
- Onder Soek paaie, verseker dat die LoginWithAmazon.framework gids is in die Raamwerk soekpaaie.
Byvoorbeeldample:
As u die Login met Amazon 1.0-biblioteek gebruik het, kan u enige verwysings na die 1.0-biblioteekpad in die Koptekst-soekpaaie or Biblioteek soekpaaie. - Klik op die hoofkieslys Produk en kies Bou. Die bouwerk moet suksesvol voltooi word.
Voordat u die projek bou, moet u dit vervang as u die Login met Amazon 1.0-biblioteek gebruik het #importeer "AIMobileLib.h", #import "AIAuthenticationDelegate.h", or #invoer "AIError.h" in jou bron files met #invoer
.
Teken aan met Amazon sluit al die aanmeldings met Amazon-opskrifte tegelyk in.
Voeg u API-sleutel by u app-eiendomslys
Wanneer u u iOS-toepassing by Login by Amazon registreer, kry u 'n API-sleutel. Dit is 'n identifiseerder wat die Amazon Mobile Library sal gebruik om u aansoek te identifiseer op die Login met Amazon-magtigingsdiens. Die Amazon Mobile Library laai hierdie waarde tydens die runtime van die API Key-eiendomswaarde in die inligtinglys van u aansoek.
- Kies u met u projek oop Ondersteun Files gids en kies dan die -Info.plist file (waar is die naam van u projek). Dit moet die eiendomslys oopmaak vir redigering:
- Maak seker dat geen van die inskrywings gekies is nie. Klik dan in die hoofkieslys Redakteur, en Voeg item by. Voer in API-sleutel en druk Voer in.
- Dubbelklik onder die Waarde kolom om 'n waarde toe te voeg. Plak u API-sleutel as die waarde.
Voeg a URL Skema vir u app-eiendomslys
Wanneer die gebruiker aanmeld, kry hulle 'n Amazon-aanmeldingsbladsy. U moet 'n 'byvoeg om u app 'n bevestiging van hul aanmelding te ontvang URL skema sodat die web bladsy kan terug na u program herlei word. Die URL skema moet verklaar word as amzn- (bvample, amzncom.example.app). Vir meer inligting, sien Met behulp van URL Skemas om met programme te kommunikeer op developer.apple.com.
- Kies u met u projek oop Ondersteun Files gids en kies dan die -Info.plist file (waar is die naam van u projek). Dit moet die eiendomslys oopmaak vir redigering:
- Maak seker dat geen van die inskrywings gekies is nie. Klik dan in die hoofkieslys Redakteur, en Voeg item by. Tik in of kies URL tipes en druk Voer in.
- Brei uit URL tipes te openbaar Item 0. Kies Item 0 en klik in die hoofmenu op Editor en Add Item. Tik in of kies URL Identifiseerder en druk Voer in.
- Kies Item 0 onder URL Identifiseerder en dubbelklik onder die kolom Waarde om 'n waarde toe te voeg. Die waarde is u bundel-ID. U kan u bundel-ID in die eiendomslys as bondel-identifiseerder vind.
- Kies Item 0 onder URL tipes en klik in die hoofkieslys Redakteur en Voeg item by. Tik in of kies URL Skemas en druk Enter.
- Kies Item 0 onder URL Skemas en dubbelklik onder die Waarde kolom om 'n by te voeg waarde. Die waarde is u bundel-ID met amzn- voorberei (bvample, amzn com.example.app). U kan u bundel-ID vind as Bundel-identifiseerder in die eiendomslys.
Voeg 'n uitsondering op die beveiliging van app-vervoer vir Amazon by u program
Eiendomslys
Vanaf iOS 9 dwing Apple App Transport Security (ATS) af vir veilige verbindings tussen 'n app en web dienste. Die eindpunt (api.amazon.com) waarmee die aanmelding met Amazon SDK in wisselwerking tree, wissel nog nie met ATS nie. Voeg 'n uitsondering by api.amazon.com om 'n naatlose kommunikasie tussen die SDK en die Amazon -bediener moontlik te maak.
- Kies u met u projek oop Ondersteun Files gids en kies dan die -Info.plist file (waar is die naam van u projek). Dit moet die eiendomslys vir redigering open:
- Maak seker dat geen van die inskrywings is nie. Klik dan op die hoofkieslys Redakteur, en Voeg item by. Tik in of kies NSAppTransportSecurity en druk Voer in.
- Brei uit NSAppTransportSecurity en klik in die hoofkieslys Redakteur en Voeg item by. Tik in of kies NSExceptionDomains en druk Voer in.
- Brei uit NSExceptionDomains en klik in die hoofkieslys Redakteur en Voeg item by. Tik amazon.com in en druk Voer in.
- Brei uit amazon.com en klik in die hoofkieslys Redakteur en Voeg item by.Voer in NSExceptionRequires ForwardSecrecy en druk Voer in.
- Kies NSExceptionRequires ForwardSecrecy en dubbelklik onder die Waarde kolom om 'n Kies a Tik of Boolean en a Waarde of NEE.
Aanmelding met Amazon bied verskeie standaardknoppies wat u kan gebruik om gebruikers aan te spoor om vanaf u app aan te meld. Hierdie afdeling gee stappe vir die aflaai van 'n amptelike aanmelding met Amazon-beeld en koppel dit met 'n iOS UIB-knop.
- Voeg 'n standaard UIButton by u app.
Vir tutoriale en inligting oor hoe om 'n knoppie by 'n app te voeg, sien Skep en instel View Voorwerpe en Begin vandag om iOS-toepassings te ontwikkel op developer.apple.com. - Voeg die Raak aan die binnekant gebeurtenis vir die knoppie na 'n benoemde metode onLoginButtonKlik. Laat die implementering vir eers leeg. Die Skep en Opstel View Voorwerpe en Begin vandag om iOS-toepassings te ontwikkel dokumente op apple.com bevat stappe om 'n knoppiegebeurtenis by te voeg.
- 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_vir_iOS.zip file. Soek die gewenste knoppie in beide die 1x en 2x gidse en haal dit uit die zip. Pak die _gedrukte weergawe van u knoppie uit as u die knoppie in 'n geselekteerde toestand wil wys. - Voeg die beelde by u projek.
a. Klik in Xcode, terwyl u projek gelaai is File in die hoofmenu en kies Voeg by Files om te "projekteer".
b. Kies die knoppiebeeld in die dialoog file(s) wat u afgelaai het en klik Voeg by.
c. Die knoppies moet nou in die projek onder u projekgids wees. Skuif hulle na die ondersteunende Filevouer. - Voeg die prentjie by u knoppie.
Om die beeld vir u knoppie te aktiveer, kan u die knoppie-kenmerk verander of die setImage: forState metode op die UIB -knoppie beswaar. Volg hierdie stappe om die beeldkenmerk vir u knoppie te verander:
a. Maak die storiebord vir u app oop.
b. Kies die knoppie in u storiebord deur daarop te klik of dit uit die View Beheerder Toneelboom.
c. In die Nutsprogramme venster, maak die oop Eienskappe Inspekteur.
d. Stel die tipe knoppie bo-aan die attribuutinspekteur op Stelsel.
e. Kies Standaard in die tweede groep instellings vir Staatskonfigurasie.
f. Vou die Beeld-instelling in die tweede groep instellings neer.
g. Kies die aanmelding met Amazon-knoppie-afbeelding wat u by die projek gevoeg het. Moenie die 2x-weergawe kies nie: dit word outomaties op hoëdigtheid-vertoontoestelle (Retina) gelaai.
h. Stel dieselfde prentjie vir die agtergrondinstelling.
i. As u 'n gedrukte weergawe van die knoppie wil spesifiseer, kies Geselekteer vir staatskonfigurasie en stel die Beeld op die _gedrukte weergawe van u knoppie.
j. Pas die knoppie op die storiebord aan, indien nodig, om die prentjie te pas.
Die gebruik van die SDK vir iOS-API's
In hierdie afdeling voeg u kode by u projek om 'n gebruiker aan te meld met Login met Amazon.
Kyk na die volgende onderwerpe:
- Hanteer die aanmeldknoppie en kry Profile Data
- Kyk of die gebruiker by Startup aanmeld
- Maak magtigingstaat skoon en teken 'n gebruiker af
In hierdie afdeling word verduidelik hoe u die authorizeUserForScopes: delegeer: en kryProfile: API's om by 'n gebruiker aan te meld en hul pro te haalfile data. Dit sluit in die skep van 'n onLoginButtonKlik: luisteraar vir u Login met Amazon-knoppie.
- Voeg aanmelding met Amazon by u iOS-projek. Kyk na Install the Login with Amazon Library.
- Voer die aanmelding met Amazon API na u bron in file.
Voeg die volgende by om die aanmelding met Amazon API in te voer #invoer na jou bron file:#invoer - Skep die AMZNAautorizeUserDelegateclass te implementeer
AIA-verifikasie Delegeer.
Wanneer authorizeUserForScopes: delegeer: voltooi, sal dit die versoekHet geslaagd: or requestDidFail: metode op 'n voorwerp wat die AIA-verifikasie Delegeer protokol.@interface AMZNAuthorizeUserDelegate: NSObject @end Vir meer inligting, sien Werk met protokolle op developer.apple.com.
- Bel authorizeUserForScopes: delegeer: in onLoginButtonKlik.
As u die stappe in Voeg 'n aanmelding met Amazon-knoppie by u program, moet u 'n onLoginButtonClicked: metode gekoppel aan 'n Login met Amazon-knoppie. Bel in daardie metode authorizeUserForScopes: delegeer: na vra die gebruiker om aan te meld en u aansoek te magtig.
Met hierdie metode kan die gebruiker op een van die volgende maniere aanmeld en toestem tot die gevraagde inligting:
1.) Skakel oor na web view in 'n veilige konteks (as die Amazon Shopping -app op die toestel geïnstalleer is)
2.) Skakel oor na Safari View Beheerder (op iOS 9 en later)
3.) Skakel oor na die stelselblaaier (op iOS 8 en vroeër)
Die veilige konteks vir die eerste opsie is beskikbaar as die Amazon Shopping-app op die toestel geïnstalleer word. As die gebruiker reeds by die Amazon Shopping-app aangemeld is, word die aanmeldingsbladsy oorgeslaan, wat lei tot a Enkelaanmelding (SSO) ondervinding.Wanneer u aansoek goedgekeur is, is dit gemagtig vir een of meer datastelle wat as bestek genoem word. Die eerste parameter is 'n reeks omvang wat die gebruikersdata bevat wat u vanaf Login met Amazon versoek. Die eerste keer dat 'n gebruiker by u app aanmeld, word 'n lys van die gegewens wat u versoek, 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 tweede parameter tot authorizeUserForScopes: delegeer: is 'n voorwerp wat die implementeer AIA-verifikasie Delegeer protokol, in hierdie geval 'n geval van die AMZNAuthorizeUserDelegate klas.- (IBAction) onLogInButtonClicked: (id) sender {
// Maak 'n oproep na SDK om 'n veilige toegangstoken te kry
// vir die gebruiker.
// Terwyl u die eerste oproep maak, kan u die minimum basis spesifiseer
// bestek benodig.// Versoek albei omvang vir die huidige gebruiker.
NSArray * requestScopes =
[NSArray arrayWithObjects:@”profile”, @” Poskode ”, nul];AMZNAuthorizeUserDelegate * delegate =
[AIMobileLib authorizeUserForScopes: requestScopes delegate: delegate];
[[AMZNAuthorizeUserDelegate alloc] initWithParentController: self];Voeg u kopstuk vir die implementering van die afgevaardigde by die klasoproep
authorizeUserForScopes :. Byvoorbeeldample:#importeer "AMZNAuthorizeUserDelegate.h" - Skep 'n AMZNGetProfileDelegeer.
AMZNGetProfileAfgevaardigdes ons naam vir 'n klas wat die
AIA-verifikasie Delegeer protokol, en sal die resultaat van die kryProfile: bel. Soos authorizeUserForScopes: afgevaardigde :, getProfile: ondersteun die versoekHet geslaagd: en requestDidFail: protokolmetodes. versoekHet geslaagd: ontvang 'n APIResultaat voorwerp met profile data in die resultateiendom. requestDidFail: ontvang 'n AIEfout beswaar met inligting oor die fout in die fouteienskap.
Om 'n afgevaardigde klas uit 'n normale klasverklaring te skep, voer dit in
AIAverifikasieDelegate.hand voeg die protokol by die verklaring in u klasopskrif file:#import @interface AMZNGetProfileAfgevaardigde: NSObject @end - Implementeer requestDidSucceed: vir jou AMZNAuthorizeUserDelegate. In requestDidSucceed :, bel kryProfile: om die kliënt pro op te haalfile. kryProfile:, hou van authorizeUserForScopes: delegate :, gebruik die AIAuthenticationDelegate-protokol.
- (nietig) requestDidSucceed: (APIResult *) apiResult {
// U kode nadat die gebruiker aansoek vir
// aangevra omvang.// Laai nuut view beheerder met gebruikersidentifiserende inligting
// aangesien die gebruiker nou suksesvol aangemeld is.AMZNGetProfileAfgevaardigde* afgevaardigde =
[[[AMZNGetProfileDelegeer alloc] initWithParentController: ouerViewBeheerder] outorelease];
[AIMobileLib getProfile: afgevaardigde];
}Voeg u kopstuk vir die implementering van die afgevaardigde by die klasoproep kryProfile:. Forexample:
#importeer "AMZNGetProfileAfgevaardigde.h ” - Implementeer versoekHet geslaagd: vir jou AMZNGetProfileDelegeer.
requestDidSucceed: het twee hooftake: om die pro op te haalfile data van die APIResultaat, en om die data aan die UI oor te dra.
Om die pro te haalfile data van die APIResultaat, toegang tot die resultateiendom. Vir 'n kryProfile: reaksie, daardie eiendom bevat 'n woordeboek met eiendomswaardes vir die gebruiker profile eiendomme. Die profile eiendomme is naam, e-pos, en gebruiker_id vir die profile omvang en
poskode vir die poskode omvang.- (nietig) requestDidSucceed: (APIResult *) apiResult {
// Kry profile versoek geslaag. Pak die pro uitfile inligting
// en stuur dit aan die ouer view kontroleerderNSString * naam = [(NSDictionary *) apiResult.result
objectForKey: @ ”naam”];
NSString * e-pos = [(NSDictionary *) apiResult.result
objectForKey: @ ”e-pos”];
NSString * user_id = [(NSDictionary *) apiResult.result
objectForKey: @ ”user_id”];
NSString * postal_code = [(NSDictionary *) apiResult.result
objectForKey: @ ”poskode”];// Gee data aan view kontroleerder
} - Implementeer requestDidFail: vir jou AMZNGetProfileDelegeer.
requestDidFail: sluit 'n APIEfout voorwerp wat besonderhede oor die fout bevat. wysLogInPageis 'n hipotetiese metode wat die hoofinstelling sou herstel view kontroleerder om die aanmelding met Amazon -knoppie te wys.- (nietig) requestDidFail: (APIError *) errorResponse {
// Kry Profile versoek misluk vir profile omvang.
// As foutkode = kAIApplicationNotAuthorised,
// laat gebruiker toe om weer aan te meld.
as (errorResponse.error.code == kAIApplicationNotAuthorized) {
// Wys magtiging-gebruikersknoppie.
[ouerViewBeheerder showLogInPage];
}
anders {
// Hanteer ander foute
[[[[UIAlertView alloc] initWithTitle:@”” boodskap: [NSString
stringWithFormat: @ ”Fout het voorgekom met die boodskap:% @”,
errorResponse.error.message] afgevaardigde: nul
cancelButtonTitle: @ ”OK” otherButtonTitles: nul] outorelease] show];
}
} - Implementeer requestDidFail: vir jou AMZNAuthorizeUserDelegate.
- (nietig) requestDidFail: (APIError *) errorResponse {
NSString * boodskap = errorResponse.error.message;
// Jou kode wanneer die magtiging misluk. [[[[UIAlertView alloc] initWithTitle:@”” boodskap: [NSString
stringWithFormat: @ ”Gebruikermagtiging misluk met die boodskap:% @”, errorResponse.error.message] afgevaardigde: nul
cancelButtonTitle: @ ”OK” otherButtonTitles: nul] outorelease] show];
}10. Implementeer aansoek: oopURL: bron Toepassing: aantekening: in die klas in u projek wat die UIAlicationDelegate protokol (dit is standaard die AppDelegateklas in u projek). Wanneer die app die Amazon-aanmeldingsblad aanbied en die gebruiker die aanmelding voltooi, sal dit na die app herlei met behulp van die URL Skema die app wat vroeër geregistreer is. Daardie aanstuur word oorgedra na aansoek: oopURL: source Toepassing: aantekening :, wat terugkeer JA as die URL suksesvol hanteer is. handvatsel Maak oopURL: bron Toepassing: is 'n SDK-biblioteekfunksie wat Login met Amazon-aanstuur sal hanteer URLs vir jou. As handvatsel Maak oopURL: source Toepassing: gee JA terug, dan die URL hanteer is.
- (BOOL) aansoek: (UIApplication *) aansoek
oopmaakURL: (NSURL *)url
sourceApplication: (NSString *) sourceApplication
aantekening: (id) aantekening
{
// Gee die url na die SDK om die magtigingskode te ontleed // van die url.
BOOL is ValidRedirectSignInURL =
[AIMobileLib-handvatsel OpenURL:url
sourceApplication: sour ceApplication on);
as (! isValidRedirect Si gnlnURL)
terugkeer NEE;
// Die app wil dalk ook die gebruik daarvan hanteer url keer JA terug;
}LET WEL: Hierdie metode word in iOS 9 verouderd, maar moet by u projek ingesluit word om ondersteuning vir gebruikers op ouer platforms te behou. Vir meer inligting oor aansoek: oopURL: source Toepassing: aantekening :, sien UIA -toepassing Delegate protokolverwysing op developer.apple.com.
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. Hierdie afdeling verduidelik hoe om dit te gebruik
getAccessTokenForScopes: withOverrideParams: afgevaardigde: om te sien of die app nog steeds gemagtig is.
- Skep 'n AMZNGetAccessTokenDelegate klas. AMZNGetAccessTokenDelegate implemente die AIA-verifikasie Delegeer protokol, en sal die resultaat van die
getAccessTokenForScopes: withOverrideParams: afgevaardigde: bel. AIA-verifikasie Delegeer bevat twee metodes, versoekHet geslaagd: en requestDidFail :. requestDidSucceed: ontvang 'n APIResultaat beswaar met token data, terwyl requestDidFail: ontvang 'n APIEfout beswaar met inligting oor die fout.#invoer @interface AMZNGetAccessTokenDelegate: NSObject
@einde
Voeg u kopstuk vir die implementering van die afgevaardigde by die klasoproep
getAccessTokenForScopes: withOverrideParams: afgevaardigde :. Forexample:#importeer "AMZNGetAccessTokenDelegate.h" - Bel met die aanvang van die program
getAccessTokenForScopes: withOverrideParams: afgevaardigde: om te sien of die aansoek steeds goedgekeur is. getAccessTokenForScopes: withOverrideParams: afgevaardigde: haal die rou toegangstoken op wat Login met Amazon gebruik om toegang tot 'n klantprofessie te verkryfile. As die metode slaag, is die app steeds gemagtig en 'n oproep na kryProfile: moet slaag. getAccessTokenForScopes: withOverrideParams: afgevaardigde: gebruik die AIA-verifikasie Delegeer protokol op dieselfde manier as authorizeUserForScopes: afgevaardigde :. Gee die voorwerp wat die protokol implementeer as die afgevaardigde parameter.- (nietig) checkIsUserSignedIn {
AMZNGetAccessTokenDelegate * delegate =
[[[AMZNGetAccessTokenDelegate alloc] initWithParentController:self] outovrystelling];
NSArray * requestScopes =
[NSArray arrayWithObjects:@”profile”, @” Poskode ”, nul]; [AIMobileLib getAccessTokenForScopes: requestScopes withOverrideParams: nul afgevaardigde: afgevaardigde];
} - Implementeer versoekHet geslaagd: op jou AMZNGetAccessTokenDelegate. versoekHet geslaagd: het een taak: om te bel kryProfile:. Hierdie example oproepe kryProfile: gebruik dieselfde luisteraar wat u in die vorige afdeling verklaar het (sien stappe 6-8).
#importeer "AMZNGetProfileAfgevaardigde.h ”
#invoer- (nietig) requestDidSucceed: (APIResult *) apiResult {
// U kode om toegangstoken te gebruik, gaan hierheen.// Aangesien die aansoek magtiging vir ons omvang het, kan ons
[AIMobileLib getProfile: afgevaardigde];
// kry die gebruiker profile.
AMZNGetProfileAfgevaardigde* afgevaardigde = [[[AMZNGetProfileAfgevaardigde alloc] initWithParentController: ouerViewBeheerder] outorelease];
} - Implementeer requestDidFail: op jou AMZNGetAccessTokenDelegate.
requestDidFail: sluit 'n APIEfout voorwerp met besonderhede oor die fout. As u 'n fout ontvang, kan u die hoof herstel view kontroleerder om die aanmelding met Amazon -knoppie te wys.- (nietig) requestDidFail: (APIError *) errorResponse {
// U kode om mislukte herwinning van toegangstoken te hanteer.
// As foutkode = kAIApplicationNotAuthorized, laat gebruiker toe
// om weer aan te meld.
as (errorResponse.error.code == kAIApplicationNotAuthorized) {
// Wys aanmelding met Amazon-knoppie.
}
anders {
// Hanteer ander foute
[[[[UIAlertView alloc] initWithTitle:@”” boodskap: [NSString
stringWithFormat: @ ”Fout het voorgekom met die boodskap:% @”, errorResponse.error.message] afgevaardigde: nul
cancelButtonTitle:@”OK” otherButtonTitles:nil] outorrelease] show];
}
}
Die clearAuthorizationState: Metode sal die gebruiker se magtigingsdata van die AIMObileLib plaaslike data stoor. '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.
- Verklaar 'n AMZNLogoutDelegate. Dit is 'n klas wat die
AIA-verifikasie Delegeer protokol. Vir ons doeleindes kan ons die klas erf NSOobject:
#invoer @interface AMZNLogoutDelegate NSObject
@einde
Voeg u kopstuk vir die implementering van die afgevaardigde by die klasoproep clearAuthorizationState :. Byvoorbeeldample:
#importeer "AMZNLogoutDelegate.h" - Bel clearAuthorizationState :.
As 'n gebruiker suksesvol aangemeld het, kan u 'n afmeldmeganisme verskaf sodat hulle hul magtigingsdata kan uitvee. U meganisme kan 'n hiperskakel of 'n spyskaartitem wees, maar vir hierdie scenario is die example sal 'n afmeldButtonClickedmethode vir 'n afmeldknoppie.- (IBAction) afmeldButtonClicked: (id) sender {
AMZNLogoutDelegate* delegate = [[[AMZNLogoutDelegate alloc] initWithParentController:self] outovrystelling]; [AIMobileLib clearAuthorizationState:delegate];
}Die enigste parameter vir clearAuthorizationState is 'n AIA-verifikasie Delegeer wat implementeer versoekHet geslaagd: en requestDidFail :.
- Implementeer requestDidSucceed :. Hierdie metode word genoem wanneer die gebruiker se inligting skoongemaak word. U moet dit dan as afgeteken wys.
- (nietig) requestDidSucceed: (APIResult *) apiResult {
// U addisionele logika na die magtiging van die gebruiker
// staat is skoongemaak.
[[[UIAlertView alloc] initWithTitle:@”” boodskap:@”Gebruiker afgemeld.”
delegate:nil cancelButtonTitle:@”OK” otherButtonTitles:nil] wys];
} - Implementeer requestDidFail :. Hierdie metode word aangeskakel as die gebruiker se inligting om die een of ander rede nie uit die kas verwyder kan word nie. In daardie geval moet u dit nie as afgeteken wys nie.
- (nietig) requestDidFail: (APIError *) errorResponse {
// U bykomende logika nadat die SDK nie gewis is nie
// die magtiging staat. [[[[UIAlertView alloc] initWithTitle:@”” boodskap: [NSString
stringWithFormat: @ ”Gebruikersafmelding het misluk met die boodskap:% @”,
errorResponse.error.message] afgevaardigde: nul
cancelButtonTitle:@”OK” otherButtonTitles:nil] outorrelease] show];
}
Toets u integrasie
Begin u app op 'n iOS-toestel of simulator en bevestig dat u met u Amazon.com-inskrywings kan aanmeld.
Let wel: Wanneer u op iOS10-simulators toets, kan die foutboodskap APIKey vir die toepassing ongeldig wees vir 'n authorizeUserForScopes-versoek of 'n onbekende foutkode vir 'n duidelike AutorizationState-versoek. Hierdie is 'n bekende fout met Apple wat plaasvind wanneer die SDK probeer om toegang tot die sleutelhanger te kry. Totdat Apple die fout oplos, kan u dit regkry deur Sleutelhanger-deling vir u app in te skakel onder die tabblad Vermoontlikhede van u app se teiken. Hierdie fout het slegs simulators. U kan op werklike iOS10-toestelle toets sonder om enige oplossing te gebruik.
Teken aan by Amazon Aan die slag Handleiding vir iOS Weergawe 2.1.2 - Aflaai [geoptimaliseer]
Teken aan by Amazon Aan die slag Handleiding vir iOS Weergawe 2.1.2 - Laai af