Prijavite se putem Amazonovog vodiča za početak rada za iOS
Prijava sa Amazonom: Vodič za početak rada za iOS
Autorska prava © 2016 Amazon.com, Inc. ili njene podružnice. Sva prava zadržana.
Amazon i Amazon logotip zaštitni su znakovi kompanije Amazon.com, Inc. ili njenih povezanih kompanija. Svi ostali zaštitni znakovi koji nisu u vlasništvu Amazona vlasništvo su njihovih vlasnika.
Početak rada za iOS
U ovom vodiču ćemo vam pokazati kako dodati prijavu sa Amazonom u svoju iOS aplikaciju. Nakon što završite ovaj vodič, u aplikaciji biste trebali imati funkcionalno dugme Prijavi se sa Amazonom kako biste korisnicima omogućili prijavu sa svojim Amazon vjerodajnicama
Instaliranje Xcode-a
Login with Amazon SDK za iOS pruža Amazon da bi vam pomogao da dodate aplikaciju sa Amazonom u svoju iOS aplikaciju. SDK je namijenjen za upotrebu s razvojnim okruženjem Xcode. SDK podržava aplikacije pokrenute na iOS 7.0 i novijim verzijama koristeći ARMv7, ARMv7s, ARM64, i386 i x86_64.
Xcode možete instalirati iz Mac App Store-a. Za više informacija pogledajte Xcode: Što je novo na developer.apple.com.
Nakon što je Xcode instaliran, možete Instalirajte Login with Amazon SDK za iOS i Pokrenite Sample App, kako je opisano u nastavku.
Instalirajte Login with Amazon SDK za iOS
Prijava s Amazon SDK -om za iOS dolazi u dva paketa. Prvi sadrži iOS biblioteku i prateću dokumentaciju. Drugi sadrži kaoampaplikacija koja omogućava korisniku da se prijavi i view njihov profesionalacfile podaci.
Ako još niste instalirali Xcode, pogledajte upute u Instalirajte Xcode odjeljak iznad.
- Preuzmi LoginWithAmazonSDKForiOS.zip i izdvojiti files u direktorij na vašem tvrdom disku.
Trebali biste vidjeti a LoginWithAmazon.framework direktorij. Sadrži biblioteku Login with Amazon.
Na gornjem nivou patentnog zatvarača nalazi se LoginWithAmazon.doc postavite direktorij. Sadrži API dokumentaciju. - Vidi Instalirajte Login with Amazon Library za upute o tome kako dodati biblioteku u iOS projekt.
Kada se instalira Prijava sa Amazon SDK za iOS, možete Kreirajte novu prijavu sa Amazon Projectom poslije Registrovanje za prijavu na Amazon.
Pokrenite Sample App
Da biste pokrenuli sampaplikaciju, otvorite sample u Xcode -u.
- Preuzmi SampleLoginWithAmazonAppForiOS.zip i kopirajte
SampleLoginWithAmazonAppForiOS direktorij u vašu mapu Dokumenti. - Pokrenite Xcode. Ako se pojavi dijalog Welcome to Xcode, kliknite Open Other. U suprotnom, u glavnom meniju kliknite File i izaberite Otvori.
- Odaberite mapu Dokumenti i odaberite
SampleLoginWithAmazonAppForiOS/LoginWithAmazonSample/ LoginWithAmazonSample.xcodeproj. Kliknite Otvori. - The sampsada bi se projekt trebao učitati. Kada završi, odaberite Proizvod iz glavnog menija i odaberite Trči
Registrovanje za prijavu na Amazon
Prije nego što možete koristiti Login with Amazon na a webweb-mjestu ili u mobilnoj aplikaciji, morate registrirati aplikaciju s Login with Amazon. Vaša prijava putem Amazona je registracija koja sadrži osnovne informacije o vašem poslovanju i informacije o svakom od njih webweb-lokaciju ili mobilnu aplikaciju koju kreirate koja podržava prijavu putem Amazona. Ove poslovne informacije se prikazuju korisnicima svaki put kada koriste Login with Amazon na vašem websajt ili mobilnu aplikaciju. Korisnici će vidjeti naziv vaše aplikacije, vaš logo i link do vaše politike privatnosti. Ovi koraci pokazuju kako registrirati prijavu na Amazon aplikaciju i dodati iOS aplikaciju tom računu.
Pogledajte sljedeće teme
- Registrirajte svoju prijavu sa Amazon aplikacijom
- Dodajte iOS aplikaciju u Security Profile
- iOS paketi ID i API ključevi
o Odredite skupni identifikator za iOS aplikaciju
o Dohvatite iOS API ključ
Registrirajte svoju prijavu sa Amazon aplikacijom
- Idi na https://login.amazon.com.
- Ako ste se već ranije prijavili za prijavu sa Amazonom, kliknite Konzola aplikacija. Inače, kliknite Prijavite se.
Bit ćete preusmjereni na Seller Central, koji se bavi registracijom aplikacija za prijavu s Amazonom. Ako prvi put koristite Seller Central, od vas će se tražiti da postavite račun Seller Central-a. - Kliknite Registrujte novu aplikaciju. The Registrujte svoju aplikaciju pojavit će se obrazac:
a. U obrazac za registraciju prijave unesite Ime i a Opis za vašu aplikaciju.
The Ime je ime prikazano na ekranu za pristanak kada korisnici pristanu da dijele informacije s vašom aplikacijom. Ovaj naziv se odnosi na Android, iOS i webverzije web lokacije vaše aplikacije.
b. Unesite Obavijest o privatnosti URL za vašu aplikaciju.
Obavijest o privatnosti URL je lokacija politike privatnosti vaše kompanije ili aplikacije (nprample, http: //www.example.com/privacy.html). Ova se veza prikazuje korisnicima na ekranu za pristanak.
c. Ako želite da dodate a Logo Image za vašu aplikaciju, kliknite Pregledaj i locirajte odgovarajuću sliku.
Ovaj logotip se prikazuje na ekranu za prijavu i pristanak da predstavlja vaše preduzeće ili website. Logo će biti smanjen na 50 piksela po visini ako je viši od 50 piksela; nema ograničenja u širini logotipa. - Kliknite Sačuvaj. Vaš sampregistracija bi trebala izgledati slično ovome:
Nakon što su vaše osnovne postavke aplikacije sačuvane, možete dodati postavke za određene webweb stranice i mobilne aplikacije koje će koristiti ovu prijavu s Amazon računom.
Ako različite verzije vaše aplikacije imaju različite ID-ove paketa, na primjer za jednu ili više verzija za testiranje i produkcijsku verziju, svaka verzija zahtijeva svoj API ključ. Iz iOS postavke u svojoj aplikaciji kliknite Dodajte API ključ dugme za stvaranje dodatnih ključeva za vašu aplikaciju (po jedan po verziji).
Dodajte iOS aplikaciju u Security Profile
Nakon što su vaše osnovne postavke aplikacije sačuvane, možete dodati postavke za određene webweb stranice i mobilne aplikacije koje će koristiti ovu prijavu s Amazon računom.
Da biste registrirali iOS aplikaciju, morate navesti identifikator paketa za projekt aplikacije. Prijava s Amazonom koristit će ID snopa za generiranje API ključa. API ključ odobrit će vašoj aplikaciji pristup usluzi autorizacije usluge Amazon s Amazonom. Slijedite ove korake za dodavanje iOS aplikacije na svoj račun:
- Na ekranu aplikacije kliknite iOS postavke. Ako već imate registriranu iOS aplikaciju, potražite Dodajte API ključ dugme u iOS postavke odjeljak.
The iOS aplikacija Pojavit će se obrazac za detalje:
- Unesite Label vaše iOS aplikacije. Ovo ne mora biti službeni naziv vaše aplikacije. Jednostavno identificira ovu određenu iOS aplikaciju među aplikacijama i webweb lokacije registrirane na vašu aplikaciju Prijava s Amazon.
- Unesite svoj Bundle ID. Ovo mora odgovarati identifikatoru paketa vašeg iOS projekta. Da biste odredili svoj identifikator snopa, otvorite projekt u Xcodeu. Otvorite listu svojstava za projekat ( -Info.plist) u Navigator projekta. Identifikator snopa jedno je od svojstava na listi.
- Kliknite Sačuvaj.
iOS paketi ID i API ključevi
Identifikator paketa jedinstven je za svaku iOS aplikaciju. Prijava sa Amazonom koristi ID paketa za izradu vašeg API ključa. API ključ omogućuje prijavu putem usluge autorizacije usluge Amazon da prepozna vašu aplikaciju.
Odredite identifikator paketa za iOS aplikaciju
- Otvorite svoj projekt aplikacije u Xcodeu.
- Otvorite Informacije Lista svojstava za projekat ( -Info.plist) u Navigator projekta.
- Nađi Identifikator snopa na listi svojstava.
Dohvatite iOS API ključ
Nakon što registrirate verziju iOS-a i dostavite ID paketa, API ključ možete dohvatiti sa stranice za registraciju aplikacije Prijava s Amazonom. Morat ćete taj API ključ smjestiti na listu svojstava vašeg projekta. Dok to ne učinite, aplikacija neće biti ovlaštena komunicirati s uslugom za prijavu s uslugom autorizacije Amazon.
1. Idi na https://login.amazon.com.
2. Kliknite Konzola aplikacija.
3. U Apps kliknite svoju aplikaciju.
4. Pronađite svoju iOS aplikaciju ispod iOS postavke odjeljak. Ako već niste registrirali iOS aplikaciju, pogledajte Dodajte iOS aplikaciju u Security Profile.
5. Kliknite Generiraj API vrijednost ključa. Skočni prozor će prikazati vaš API ključ. Da biste kopirali ključ, kliknite Odaberite Sve za odabir cijelog ključa.
Napomena: Vrijednost API ključa dijelom se temelji na vremenu generiranja. Stoga se naknadne vrijednosti ključeva API-ja koje generirate mogu razlikovati od izvornih. Možete koristiti bilo koju od ovih API ključnih vrijednosti u svojoj aplikaciji jer su sve važeće.
6. Vidi Dodajte svoj API ključ na popis svojstava aplikacije za upute o dodavanju API ključa u vašu iOS aplikaciju
Kreiranje prijave pomoću Amazon Project-a
U ovom ćete odjeljku naučiti kako stvoriti novi Xcode projekt za prijavu s Amazonom i konfigurirati projekt.
Pogledajte sljedeće teme:
- Kreirajte novu prijavu sa Amazon Projectom
- Instalirajte Login with Amazon Library
- Dodajte svoj API ključ na popis svojstava aplikacije
- Dodajte a URL Shema na vašoj listi svojstava aplikacije
- Dodajte aplikaciji izuzetak sigurnosti transporta aplikacija za Amazon Lista nekretnina
NAPOMENA: Ovaj novi korak je trenutno potreban za razvoj na iOS 9 SDK - Dodajte prijavu sa Amazon Button u svoju aplikaciju
Kreirajte novu prijavu sa Amazon Projectom
Ako još nemate projekt aplikacije za korištenje usluge Login s Amazonom, slijedite donje upute da biste ga stvorili. Ako imate postojeću aplikaciju, preskočite donji odjeljak Instaliranje prijave sa Amazon knjižnicom.
- Pokreni Xcode.
- Ako vam se prikaže a Dobrodošli u Xcode dijalog, izaberite Kreirajte novi Xcode projekt.
Inače, iz File meni, izaberite Novo i Projekt. - Odaberite vrstu projekta koji želite stvoriti i kliknite Sledeći.
- Unesite a Naziv proizvoda i a Identifikator kompanije. Napomena Bundle Identifieri kliknite Sledeći.
- Odaberite mjesto na kojem ćete pohraniti svoj projekt i kliknite Kreiraj.
Sad ćete imati novi projekt pomoću kojeg možete nazvati Login with Amazon.
Instalirajte Login with Amazon Library
Ako još niste preuzeli prijavu sa Amazon SDK za iOS, pogledajte Instalirajte Login with Amazon SDK za iOS.
Prijava sa Amazon projektom mora povezati LoginWithAmazon.framework i Security.framework biblioteke. Također ćete trebati konfigurirati putanju pretraživanja okvira da biste pronašli prijavu sa Amazon zaglavljima
- Otvorite svoj projekt u Xcodeu, odaberite Okviri mapu, kliknite File iz glavnog izbornika, a zatim odaberite Dodaj Files to „Projekat“.
- U dijaloškom okviru odaberite LoginWithAmazon.framework i klikniteDodaj.
Ako ste koristili biblioteku Login with Amazon 1.0, izbrišite direktorij login-with-amazon sdk i login-with-amazon-sdk.a iz mape Frameworks. Kliknite Uredi iz glavnog menija i odaberite Izbriši. - Odaberite naziv svog projekta u Navigator projekta.
The Urednik projekta pojavit će se u području uređivanja radnog prostora Xcode. - Kliknite naziv projekta ispod mete, i odaberite Faze izgradnje. Proširite Link Binary with Libraries i kliknite znak plus da dodate biblioteku.
- U okvir za pretraživanje unesite Security.framework. Odaberite Security.framework i kliknite Dodaj.
- U okvir za pretraživanje unesite SafariServices.framework. Odaberite SafariServices.framework i kliknite Dodaj.
- U okvir za pretraživanje unesite CoreGraphics.framework. Odaberite CoreGraphics.framework i kliknite Dodaj
- Odaberite Postavke izgradnje. Kliknite na Sve za view sve postavke.
- Ispod Pretražite staze, osigurati da LoginWithAmazon.framework direktorij je u Putovi okvirnog pretraživanja.
Za nprample:
Ako ste koristili prijavu sa bibliotekom Amazon 1.0, možete ukloniti sve reference na putanju knjižnice 1.0 u Staze pretraživanja zaglavlja or Staze pretraživanja biblioteke. - U glavnom meniju kliknite Proizvod i odaberite Build. Izgradnja bi se trebala uspješno dovršiti.
Prije izrade vašeg projekta, ako ste koristili prijavu s Amazon 1.0 bibliotekom, zamijenite #import “AIMobileLib.h”, #import “AIAuthenticationDelegate.h”, or #import “AIError.h” u vašem izvoru files with #import
.
LoginWithAmazon.h uključuje sve prijave sa Amazon zaglavljima odjednom.
Dodajte svoj API ključ na popis svojstava aplikacije
Kada registrirate svoju iOS aplikaciju sa Login na Amazonu, dodjeljuje vam se API ključ. Ovo je identifikator koji će Amazon Mobile Library koristiti za identifikaciju vaše aplikacije na usluzi autorizacije usluge Login sa Amazonom. Amazon Mobile Library učitava ovu vrijednost tokom izvođenja iz vrijednosti svojstva API Key na popisu svojstava informacija vaše aplikacije.
- Kada je vaš projekt otvoren, odaberite Podrška Files mapu, a zatim odaberite -Info.plist file (gde je naziv vašeg projekta). Ovo bi trebalo otvoriti listu svojstava za uređivanje:
- Obavezno odaberite nijedan unos. Zatim iz glavnog izbornika kliknite Urednik, i Dodaj stavku. Enter APIKey i pritisnite Enter.
- Dvaput kliknite ispod Vrijednost stupac za dodavanje vrijednosti. Zalijepite svoj API ključ kao vrijednost.
Dodajte a URL Shema na vašoj listi svojstava aplikacije
Kada se korisnik prijavi, prikazat će mu se Amazon stranica za prijavu. Da bi vaša aplikacija dobila potvrdu prijave, morate dodati a URL shemu tako da web stranica može preusmjeriti natrag u vašu aplikaciju. The URL šema mora biti deklarisana kao amzn- (nprample, amzncom.example.app). Za više informacija pogledajte Koristeći URL Šeme za komunikaciju s aplikacijama na developer.apple.com.
- Kada je vaš projekt otvoren, odaberite Podrška Files mapu, a zatim odaberite -Info.plist file (gde je naziv vašeg projekta). Ovo bi trebalo otvoriti listu svojstava za uređivanje:
- Obavezno odaberite nijedan unos. Zatim iz glavnog izbornika kliknite Urednik, i Dodaj stavku. Unesite ili odaberite URL vrste i pritisnite Enter.
- Proširi URL vrste otkriti Stavka 0. Odaberite Stavka 0 i na glavnom izborniku kliknite Uređivač i Dodaj stavku. Unesite ili odaberite URL Identifikator i pritisnite Enter.
- Odaberite Artikal 0 ispod URL Identifikator i dvaput kliknite ispod stupca Vrijednost da dodate vrijednost. Vrijednost je vaš ID snopa. Možete pronaći svoj ID snopa naveden kao identifikator snopa na popisu svojstava.
- Odaberite Artikal 0 ispod URL vrste i, iz glavnog izbornika, kliknite Urednik i Dodaj stavku. Unesite ili odaberite URL Sheme i pritisnite Enter.
- Odaberite Artikal 0 ispod URL Sheme i dvaput pritisnite ispod Vrijednost stupac za dodavanje a vrijednost. Vrijednost je vaš ID snopa sa amzn- unaprijed (nprample, amzn com.example.app). Možete pronaći svoj ID snopa naveden kao Identifikator snopa na popisu nekretnina.
Dodajte aplikaciji izuzetak sigurnosti transporta aplikacija za Amazon
Lista nekretnina
Počevši od iOS-a 9, Apple provodi sigurnost prijenosa aplikacija (ATS) za sigurne veze između aplikacije i web usluge. Krajnja tačka (api.amazon.com) sa kojom Login sa Amazon SDK stupa u interakciju radi razmjene informacija još nije u skladu s ATS-om. Dodajte izuzetak za api.amazon.com da biste omogućili besprekornu komunikaciju između SDK-a i Amazon servera.
- Kada je vaš projekt otvoren, odaberite Podrška Files mapu, a zatim odaberite -Info.plist file (gde je naziv vašeg projekta). Ovo bi trebalo otvoriti forediting liste svojstava:
- Uvjerite se da nijedan unos nije. Zatim na glavnom izborniku kliknite Urednik, i Dodaj stavku. Unesite ili odaberite NSAppTransportSecurity i pritisnite Enter.
- Proširi NSAppTransportSecurity i, iz glavnog izbornika, kliknite Urednik i Dodaj stavku. Unesite ili odaberite NSExceptionDomains i pritisnite Enter.
- Proširi NSExceptionDomains i, iz glavnog izbornika, kliknite Urednik i Dodaj stavku. Unesite amazon.com i pritisnite Enter.
- Proširi amazon.com i, iz glavnog izbornika, kliknite Urednik i Dodaj stavku.Uđi NSExceptionRequiresForwardSecrecy i pritisnite Enter.
- Odaberite NSExceptionRequiresForwardSecrecy i dvaput pritisnite ispod Vrijednost stupac za dodavanje Select a Tip of Boolean i a Vrijednost of NO.
Prijava putem Amazona nudi nekoliko standardnih dugmadi koje možete koristiti da podstaknete korisnike da se prijave iz vaše aplikacije. Ovaj odjeljak daje korake za preuzimanje službene slike za prijavu sa Amazonom i uparivanje s iOS UIB gumbom.
- Dodajte standardni UIB gumb u svoju aplikaciju.
Za vodiče i informacije o tome kako dodati gumb u aplikaciju, pogledajte Kreiranje i konfigurisanje View Objekti i Počnite razvijati iOS aplikacije već danas na developer.apple.com. - Dodajte Dodirnite Unutra događaj za gumb za metodu imenovanu onLoginButtonClicked. Ostavite implementaciju za sada praznu. The Stvaranje i Konfigurisanje View Objekti i Počnite razvijati iOS aplikacije već danas dokumenti na apple.com uključuju korake za dodavanje događaja dugmeta.
- Odaberite sliku dugmeta.
Pogledajte našu prijavu sa Amazonom Smernice za stil za popis gumba koje možete koristiti u svojoj aplikaciji. Preuzmite kopiju LWA_for_iOS.zip file. Pronađite željeno dugme i u 1x i u 2xdirektorijumima i izvucite ih iz zip -a. Izdvojite _Pressed verziju vašeg gumba ako želite prikazati dugme u odabranom stanju. - Dodajte slike u svoj projekat.
a. U Xcodeu, s učitanim projektom, kliknite File iz glavnog menija i odaberite Dodaj Files na "projekat".
b. U dijalogu odaberite sliku dugmeta file(s) koje ste preuzeli i kliknite Dodaj.
c. Gumbi bi sada trebali biti u projektu u direktoriju vašeg projekta. Premjestite ih na Nosač Filefolder. - Dodajte sliku na svoje dugme.
Da biste omogućili sliku za svoj gumb, možete izmijeniti atribut dugmeta ili koristiti setImage: forState metoda na UIButton objekt. Slijedite ove korake za izmjenu atributa slike za svoj gumb:
a. Otvorite ploču scenarija za svoju aplikaciju.
b. Odaberite gumb na vašoj storibordu klikom na njega ili odabirom iz View Kontroler Stablo scene.
c. U Komunalne usluge otvorite prozor Inspektor svojstava.
d. Na vrhu Inspektora atributa postavite tipku tip na Sistem.
e. U drugoj grupi postavki odaberite Default za State Config.
f. U drugoj grupi postavki spustite postavku Slika.
g. Odaberite grafičku ikonu Prijava s Amazonom koju ste dodali u projekt. Nemojte odabrati verziju 2x: ona će se automatski učitati na uređaje za prikaz visoke gustine (Retina).
h. Postavite istu sliku za postavku Pozadina.
i. Ako želite odrediti pritisnutu verziju gumba, odaberite Selected for State Config i postavite Image na _Press verziju vašeg gumba.
j. Ako je potrebno, na ploči scenarija prilagodite veličinu svog gumba da prilagodi sliku.
Korištenje SDK-a za iOS API-je
U ovom ćete odjeljku svom projektu dodati kod za prijavu korisnika pomoću usluge Login with Amazon.
Pogledajte sljedeće teme:
- Rukujte gumbom za prijavu i nabavite Profile Podaci
- Provjerite prijavu korisnika prilikom pokretanja
- Obrišite stanje autorizacije i odjavite korisnika
Ovaj odjeljak objašnjava kako nazvati authiseUserForScopes: delegat: i getProfile:API za prijavu korisnika i preuzimanje njegovog profesionalcafile podaci. Ovo uključuje kreiranje onLoginButtonClicked: slušatelj za vašu prijavu sa Amazon dugmetom.
- Dodajte Login with Amazon u svoj iOS projekat. Pogledajte Instaliranje prijave pomoću Amazon Library.
- Uvezite Login sa Amazon API u svoj izvor file.
Da biste uvezli prijavu sa Amazon API-jem, dodajte sljedeće #importstatements do vašeg izvora file:#import - Kreirajte AMZNAuthorizeUserDelegateclass implementirati
AIAuthenticationDelegate.
Kada authiseUserForScopes: delegat: dovrši, pozvat će zahtjevDidSucceed: or requestDidFail: metoda na objektu koji implementira AIAuthenticationDelegate protokol.@interface AMZNAuthorizeUserDelegate: NSObject @end Za više informacija pogledajte Rad sa protokolima na developer.apple.com.
- Zovi authiseUserForScopes: delegat: in onLoginButtonClicked.
Ako ste slijedili korake u Dodajte prijavu sa Amazon Button u svoju aplikaciju, trebali biste imati onLoginButtonClicked: metoda povezan s gumbom Prijava s Amazonom. U toj metodi pozovite authiseUserForScopes: delegat: to zatražite od korisnika da se prijavi i odobri vašu aplikaciju.
Ova metoda omogućit će korisniku da se prijavi i pristane na tražene informacije na jedan od sljedećih načina:
1.) Prebacuje na web view u sigurnom kontekstu (ako je na uređaju instalirana aplikacija Amazon Shopping)
2.) Prebacuje se na Safari View Kontroler (na iOS 9 i novijim verzijama)
3.) Prebacuje se na sistemski pretraživač (na iOS 8 i starijim verzijama)
Sigurni kontekst za prvu opciju dostupan je kada se na uređaj instalira aplikacija Amazon Shopping. Ako je korisnik već prijavljen u aplikaciju Amazon Shopping, stranica za prijavu se preskače, što dovodi do a Jedinstvena prijava (SSO) iskustvo.Kada je vaša aplikacija autorizirana, ovlaštena je za jedan ili više skupova podataka poznatih kao opsezi. Prvi parametar je niz opsega koji obuhvaćaju korisničke podatke koje tražite od Login with Amazon. Kad se korisnik prvi put prijavi u vašu aplikaciju, prikazat će mu se popis podataka koje tražite i zatražiti odobrenje. Prijava sa Amazonom trenutno podržava tri opsega: profile, koja sadrži korisničko ime, adresu e-pošte i ID Amazon naloga; profile:Korisnički broj, koji sadrži samo ID Amazon računa; i poštanski broj, koji sadrži poštanski broj korisnika.
Drugi parametar za authiseUserForScopes: delegat: je objekt koji implementira AIAautentikacijaDelegate protokol, u ovom slučaju instanca AMZNAuthorizeUserDelegate klasa.- (IBAction) onLogInButtonClicked: (id) sender {
// Pozovite SDK za autorizaciju da biste dobili token sigurnog pristupa
// za korisnika.
// Tijekom prvog poziva možete odrediti minimalni osnovni
// potreban opseg.// Zahtjev za oba opsega za trenutnog korisnika.
NSArray * requestScopes =
[NSArray arrayWithObjects:@”profile“, @”postal_code”, nil];AMZNAuthorizeUserDelegate * delegat =
[AIMobileLib authiseUserForScopes: requestScopes delegat: delegat];
[[AMZNAuthorizeUserDelegate dodijeliti] initWithParentController: self];Dodajte zaglavlje implementacije delegata pozivu klase
authiseUserForScopes :. Za nprample:#import “AMZNAuthorizeUserDelegate.h” - Kreirajte an AMZNGetProfileDelegat.
AMZNGetProfileDelegateis naše ime za klasu koja implementira
AIAautentikacijaDelegate protokol, i obradit će rezultat getProfile: poziv. Sviđa mi se authorizeUserForScopes:delegate:, getProfile: podržava zahtjevDidSucceed: i requestDidFail: protokolarne metode. zahtjevDidSucceed: prima an APIResult objekat sa profile podatke u svojstvu rezultata. requestDidFail: prima an AIError objekt s informacijama o grešci u svojstvu pogreške.
Da biste kreirali klasu delegata iz normalne deklaracije klase, uvezite
AIAuthenticationDelegate.hand dodajte protokol u deklaraciju u zaglavlju vaše klase file:#import @interface AMZNGetProfileDelegat : NSObject @end - Implementirati requestDidSucceed: for tvoj AMZNAuthorizeUserDelegate. In requestDidSucceed :, poziv getProfile: za preuzimanje korisničkog profile. getProfile:, like authiseUserForScopes: delegate :, koristi protokol AIAuthenticationDelegate.
- (void) requestDidSucceed: (APIResult *) apiResult {
// Vaš kod nakon što korisnik odobri prijavu za
// traženi opsezi.// Učitaj novo view kontroler s podacima za identifikaciju korisnika
// jer je korisnik sada uspješno prijavljen.AMZNGetProfileDelegat* delegat =
[[[AMZNGetProfileDelegate alloc] initWithParentController:parentViewKontroler] automatsko otpuštanje];
[AIMobileLib getProfile:delegate];
}Dodajte zaglavlje implementacije delegata pozivu klase getProfile:. Forexample:
#import “AMZNGetProfileDelegat.h” - Implementirati zahtjevDidSucceed: za tvoje AMZNGetProfileDelegat.
requestDidSucceed: has dva glavna zadatka: dohvatiti profile podaci iz APIR rezultat, i za prosljeđivanje podataka u korisničko sučelje.
Da biste preuzeli profile podaci iz APIR rezultat, pristup svojstvu rezultata. Za getProfile:odgovor, to svojstvo će sadržavati rječnik vrijednosti svojstava za korisnika profile svojstva. Profile svojstva su ime, e-mail, i user_id za profesionalcefile obim i
poštanski_broj za poštanski_broj obim.- (void) requestDidSucceed: (APIResult *) apiResult {
// Get profile zahtjev je uspio. Raspakujte profesionalcafile informacije
// i proslijediti ga roditelju view kontrolerNSString * name = [(NSDictionary *) apiResult.result
objectForKey: @ ”ime”];
NSString * email = [(NSDictionary *) apiResult.result
objectForKey: @ ”email”];
NSString * user_id = [(NSDictionary *) apiResult.result
objectForKey: @ ”user_id”];
NSString * poštanski_kôd = [(NSDictionary *) apiResult.result
objectForKey: @ ”poštanski_broj”];// Proslijediti podatke u view kontroler
} - Implementirati requestDidFail: za tvoje AMZNGetProfileDelegat.
requestDidFail: uključuje an APIError objekt koji sadrži detalje o grešci. showLogInPageis hipotetička metoda koja bi resetovala glavnu view kontroler za prikaz dugmeta Login with Amazon.- (void) requestDidFail: (APIError *) errorResponse {
// Get Profile zahtjev nije uspio za profile obim.
// Ako je kôd greške = kAIApplicationNotAuthorized,
// dopustiti korisniku da se ponovo prijavi.
if (errorResponse.error.code == kAIApplicationNotAuthorized) {
// Prikaži dugme za autorizaciju korisnika.
[roditeljViewKontroler showLogInPage];
}
ostalo {
// Rukovanje ostalim greškama
[[[[UIAlertView alloc] initWithTitle:@”” poruka:[NSString
stringWithFormat: @ ”Došlo je do greške s porukom:% @”,
errorResponse.error.message] delegat: nil
cancelButtonTitle: @ ”OK” otherButtonTitles: nil] autorelease] show];
}
} - Implementirati requestDidFail: za tvoj AMZNAuthorizeUserDelegate.
- (void) requestDidFail: (APIError *) errorResponse {
NSString * message = errorResponse.error.message;
// Vaš kod kada autorizacija ne uspije. [[[[UIAlertView alloc] initWithTitle:@”” poruka:[NSString
stringWithFormat: @ ”Ovlaštenje korisnika nije uspjelo s porukom:% @”, errorResponse.error.message] delegat: nil
cancelButtonTitle: @ ”OK” otherButtonTitles: nil] autorelease] show];
}10. Implementirati aplikacija: otvorenaURL: sourceApplication: annotation: u razredu u vašem projektu koji obrađuje UIApplicationDelegate protokol (po defaultu ovo će biti AppDelegateclass u vašem projektu). Kada aplikacija predstavi Amazon stranicu za prijavu, a korisnik dovrši prijavu, preusmjerit će na aplikaciju pomoću URL Shema ranije registrirane aplikacije. To preusmjeravanje se prosljeđuje aplikacija: otvorenaURL: sourceApplication: annotation :, koji se vraća DA ako je URL je uspješno obrađen. handleOpenURL: sourceApplication: je funkcija knjižnice SDK koja će se baviti prijavom s Amazon preusmjeravanjem URLs za vas. Ako handleOpenURL: sourceApplication: vraća DA, zatim the URL je obrađeno.
- (BOOL) aplikacija: (UIApplication *) aplikacija
otvorenURL: (NSURL *)url
sourceApplication: (NSString *) sourceApplication
napomena: (id) napomena
{
// Prenesite na url na SDK za raščlanjivanje autorizacijskog koda // iz url.
BOOL jeValidRedirectSignInURL =
[AIMobileLib handleOpenURL:url
izvorAplikacija: kiselo ceAplikacija na);
if (! isValidRedirect Si gnlnURL)
povratak NE;
// Aplikacija možda želi rukovati url vratiti DA;
}NAPOMENA: Ova metoda je zastarjela u iOS-u 9, ali trebala bi biti uključena u vaš projekt da biste održali podršku za korisnike na starijim platformama. Za više informacija o aplikacija: otvorenaURL: sourceApplication: annotation :, vidi Referenca protokola UIApplicationDelegate na developer.apple.com.
Provjerite prijavu korisnika prilikom pokretanja
Ako se korisnik prijavi na vašu aplikaciju, zatvori je i kasnije je ponovo pokrene, aplikacija je i dalje ovlaštena za preuzimanje podataka. Korisnik nije automatski odjavljen. Prilikom pokretanja možete prikazati korisnika prijavljenog ako je vaša aplikacija i dalje autorizirana. Ovaj odjeljak objašnjava kako se koristi
getAccessTokenForScopes: withOverrideParams: delegat: da biste vidjeli je li aplikacija i dalje autorizirana.
- Kreirajte an AMZNGetAccessTokenDelegate klasa. AMZNGetAccessTokenDelegateimplements the AIAuthenticationDelegate protokola i obradit će rezultat
getAccessTokenForScopes: withOverrideParams: delegat: poziv. AIAuthenticationDelegate sadrži dvije metode, zahtjevDidSucceed: i requestDidFail :. requestDidSucceed: prima an APIResult objekt s podacima tokena, dok requestDidFail: prima an APIError objekt s informacijama o grešci.#import @interface AMZNGetAccessTokenDelegate: NSObject
@end
Dodajte zaglavlje implementacije delegata pozivu klase
getAccessTokenForScopes: withOverrideParams: delegat :. Forexample:#import “AMZNGetAccessTokenDelegate.h” - Pri pokretanju aplikacije nazovite
getAccessTokenForScopes: withOverrideParams: delegat: da biste vidjeli je li aplikacija i dalje odobrena. getAccessTokenForScopes: withOverrideParams: delegat: preuzima sirovi pristupni token koji Login s Amazonom koristi za pristup profesionalcu korisnikafile. Ako metoda uspije, aplikacija je i dalje autorizirana i poziv na getProfile: treba uspjeti. getAccessTokenForScopes: withOverrideParams: delegat: koristi AIAuthenticationDelegate protokol na isti način kao authiseUserForScopes: delegat :. Predaj objekt koji implementira protokol kao parametar delegata.- (void) checkIsUserSignedIn {
AMZNGetAccessTokenDelegate * delegat =
[[[AMZNGetAccessTokenDelegate alloc] initWithParentController:self] autorelease];
NSArray * requestScopes =
[NSArray arrayWithObjects:@”profile“, @”postal_code”, nil]; [AIMobileLib getAccessTokenForScopes:requestScopes withOverrideParams:nil delegate:delegate];
} - Implementirati zahtjevDidSucceed: na vašem AMZNGetAccessTokenDelegate. zahtjevDidSucceed: ima jedan zadatak: nazvati getProfile:. Ovaj example calls getProfile: koristeći isti slušalac koji ste prijavili u prethodnom odjeljku (pogledajte korake 6-8).
#import “AMZNGetProfileDelegat.h”
#import- (void) requestDidSucceed: (APIResult *) apiResult {
// Vaš kod za upotrebu pristupnog tokena ide ovdje.// Budući da aplikacija ima ovlaštenje za naše dosege, možemo
[AIMobileLib getProfile:delegate];
// dobiti korisnika profile.
AMZNGetProfileDelegat* delegat = [[[AMZNGetProfileDelegate alloc] initWithParentController:parentViewKontroler] automatsko otpuštanje];
} - Implementirati requestDidFail: na vašem AMZNGetAccessTokenDelegate.
requestDidFail: uključuje an APIError objekt koji sadrži detalje o grešci. Ako dobijete grešku, možete resetovati glavni view kontroler za prikaz dugmeta Login with Amazon.- (void) requestDidFail: (APIError *) errorResponse {
// Vaš kôd za obradu neuspjelog dohvata pristupnog tokena.
// Ako je kôd greške = kAIApplicationNotAuthorized, dopustite korisniku
// da se ponovo prijavim.
if (errorResponse.error.code == kAIApplicationNotAuthorized) {
// Prikaži prijavu s Amazon dugmetom.
}
ostalo {
// Rukovanje ostalim greškama
[[[[UIAlertView alloc] initWithTitle:@”” poruka:[NSString
stringWithFormat: @ ”Došlo je do greške s porukom:% @”, errorResponse.error.message] delegat: nil
cancelButtonTitle:@”OK” otherButtonTitles:nil] autorease] show];
}
}
The clearAuthorizationState: metoda će obrisati podatke o autorizaciji korisnika iz AIMobileLib lokalna pohrana podataka. Korisnik će se morati ponovo prijaviti kako bi aplikacija dohvatila profile podataka. Koristite ovu metodu za odjavu korisnika ili rješavanje problema s prijavom u aplikaciji.
- Proglasite AMZNLogoutDelegate. Ovo je klasa koja implementira
AIAuthenticationDelegateprotocol. Za naše svrhe možemo naslijediti klasu iz NSObjekat:
#import @interface AMZNLogoutDelegate NSObject
@end
Dodajte zaglavlje implementacije delegata pozivu klase clearAuthorizationState :. Za nprample:
#import “AMZNLogoutDelegate.h” - Zovi clearAuthorizationState :.
Kada se korisnik uspješno prijavi, možete osigurati mehanizam za odjavu kako bi mogao obrisati svoje autorizacijske podatke. Vaš mehanizam može biti hiperveza ili stavka menija, ali za ovaj scenario nprample će stvoriti a odjavaButtonClickedmethod za dugme za odjavu.- (IBAction) logoutButtonClicked: (id) sender {
AMZNLogoutDelegate* delegate = [[[AMZNLogoutDelegate alloc] initWithParentController:self] autorelease]; [AIMobileLib clearAuthorizationState:delegate];
}Jedini parametar za clearAuthorizationState je an AIAuthenticationDelegate koji implementira zahtjevDidSucceed: i requestDidFail :.
- Implementirati requestDidSucceed :. Ova metoda će se pozvati kada se obrišu informacije o korisniku. Tada biste ih trebali prikazati kao odjavljene.
- (void) requestDidSucceed: (APIResult *) apiResult {
// Vaša dodatna logika nakon autorizacije korisnika
// stanje je obrisano.
[[[UIAlertView alloc] initWithTitle:@”” poruka:@”Korisnik se odjavio.”
delegate:nil cancelButtonTitle:@”OK” otherButtonTitles:nil] prikaži];
} - Implementirati requestDidFail :. Ova metoda će se pozvati ako se iz nekog razloga podaci korisnika ne mogu izbrisati iz predmemorije. U tom slučaju, ne biste ih trebali prikazivati kao odjavljene.
- (void) requestDidFail: (APIError *) errorResponse {
// Vaša dodatna logika nakon što se SDK nije uspio očistiti
// stanje autorizacije. [[[[UIAlertView alloc] initWithTitle:@”” poruka:[NSString
stringWithFormat: @ ”Odjava korisnika nije uspjela s porukom:% @”,
errorResponse.error.message] delegat: nil
cancelButtonTitle:@”OK” otherButtonTitles:nil] autorease] show];
}
Testirajte svoju integraciju
Pokrenite svoju aplikaciju na iOS uređaju ili simulatoru i potvrdite da se možete prijaviti sa svojim vjerodajnicama za Amazon.com.
Napomena: Prilikom testiranja na iOS10 simulatorima, možda ćete vidjeti poruku o grešci APIKey za aplikaciju je nevažeća za odobrenjeUserForScopes zahtjev ili Nepoznati kôd pogreške za zahtjev clearAuthorizationState. Ovo je poznata greška sa Appleom što se događa kada SDK pokuša pristupiti lancu ključeva. Dok Apple ne otkloni bug, možete ga zaobići omogućavanjem dijeljenja privjeska za vašu aplikaciju na kartici Mogućnosti cilja vaše aplikacije. Ova greška utječe samo na simulatore. Možete testirati na stvarnim iOS10 uređajima bez ikakvog zaobilaženja.
Prijavite se putem Amazonovog vodiča za početak rada za iOS verzije 2.1.2 - Preuzmi [optimizirano]
Prijavite se putem Amazonovog vodiča za početak rada za iOS verzije 2.1.2 - Preuzmi