Přihlaste se pomocí průvodce Amazon Začínáme pro iOS
Přihlaste se pomocí Amazonu: Průvodce Začínáme pro iOS
Copyright © 2016 Amazon.com, Inc. nebo její přidružené subjekty. Všechna práva vyhrazena.
Amazon a logo Amazon jsou ochranné známky společnosti Amazon.com, Inc. nebo jejích přidružených společností. Všechny ostatní ochranné známky, které nejsou ve vlastnictví společnosti Amazon, jsou majetkem příslušných vlastníků.
Začínáme pro iOS
V této příručce vám ukážeme, jak přidat přihlášení pomocí Amazonu do vaší aplikace pro iOS. Po dokončení této příručky byste měli mít ve své aplikaci funkční tlačítko Přihlásit se pomocí Amazonu, které umožní uživatelům přihlásit se pomocí svých přihlašovacích údajů pro Amazon
Instalace Xcode
Přihlášení pomocí Amazon SDK pro iOS poskytuje Amazon, aby vám pomohl přidat přihlášení pomocí Amazonu do vaší aplikace pro iOS. Sada SDK je určena pro použití s vývojovým prostředím Xcode. SDK podporuje aplikace běžící na iOS 7.0 a novějších pomocí ARMv7, ARMv7s, ARM64, i386 a x86_64.
Xcode můžete nainstalovat z Mac App Store. Další informace viz Xcode: Co je nového na webu developer.apple.com.
Po instalaci Xcode můžete Nainstalujte si přihlášení pomocí Amazon SDK pro iOS a Spusťte Sample App, jak je popsáno níže.
Nainstalujte si přihlášení pomocí Amazon SDK pro iOS
Přihlášení pomocí sady Amazon SDK pro iOS je dodáváno ve dvou balíčcích. První obsahuje knihovnu iOS a podpůrnou dokumentaci. Druhý obsahuje jakoampaplikace, která umožňuje uživateli přihlášení a view jejich profíkfile data.
Pokud jste ještě nenainstalovali Xcode, podívejte se na pokyny v Nainstalujte Xcode sekce výše.
- Stáhnout PřihlášeníWithAmazonSDKForiOS.zip a extrahujte files do adresáře na vašem pevném disku.
Měli byste vidět a PřihlášeníWithAmazon.framework adresář. Obsahuje knihovnu Přihlášení pomocí Amazonu.
V horní úrovni zipu je a PřihlášeníWithAmazon.doc nastavit adresář. Toto obsahuje dokumentaci API. - Vidět Nainstalujte si přihlášení pomocí knihovny Amazon pokyny, jak přidat knihovnu do projektu iOS.
Když je nainstalováno přihlášení pomocí Amazon SDK pro iOS, můžete Vytvořte nové přihlášení pomocí projektu Amazon po Registrace pomocí přihlášení pomocí Amazonu.
Spusťte Sample App
Chcete -li spustit sampOtevřete aplikaci sample v Xcode.
- Stáhnout SampleLoginWithAmazonAppForiOS.zip a zkopírujte
SampleLoginWithAmazonAppForiOS do složky Dokumenty. - Spusťte Xcode. Pokud se zobrazí dialogové okno Welcome to Xcode, klikněte na Open Other. V opačném případě v hlavní nabídce klikněte na File a zvolte Otevřít.
- Vyberte složku Dokumenty a vyberte
SampleLoginWithAmazonAppForiOS/LoginWithAmazonSample/ LoginWithAmazonSample.xcodeproj. Klikněte OTEVŘENO. - SampNyní by se měl načíst projekt. Když je hotovo, vyberte Produkt z hlavní nabídky a vyberte Běh
Registrace pomocí přihlášení pomocí Amazonu
Než budete moci použít přihlášení s Amazonem na a webna webu nebo v mobilní aplikaci, musíte aplikaci zaregistrovat pomocí Přihlášení u Amazonu. Vaše aplikace Login with Amazon je registrace, která obsahuje základní informace o vaší firmě a informace o každé z nich webweb nebo mobilní aplikaci, kterou vytvoříte a která podporuje přihlášení přes Amazon. Tyto obchodní informace se uživatelům zobrazí pokaždé, když na vašem účtu použijí přihlášení přes Amazon webwebu nebo mobilní aplikace. Uživatelé uvidí název vaší aplikace, vaše logo a odkaz na vaše zásady ochrany osobních údajů. Tyto kroky ukazují, jak zaregistrovat přihlášení s aplikací Amazon a přidat aplikaci pro iOS k tomuto účtu.
Viz následující témata
- Zaregistrujte si své přihlášení pomocí aplikace Amazon
- Přidejte aplikaci pro iOS do Security Profile
- ID balíčku iOS a klíče API
o Určete identifikátor balíčku pro aplikaci pro iOS
o Načíst klíč iOS API
Zaregistrujte si své přihlášení pomocí aplikace Amazon
- Přejít na https://login.amazon.com.
- Pokud jste se již dříve přihlásili k přihlášení pomocí Amazonu, klikněte na Konzole aplikace. Jinak klikněte na tlačítko Zaregistrujte se.
Budete přesměrováni na Seller Central, který zpracovává registraci aplikací pro přihlášení pomocí Amazonu. Pokud používáte Seller Central poprvé, budete požádáni o založení účtu Seller Central. - Klikněte Zaregistrujte novou aplikaci. The Zaregistrujte svou aplikaci objeví se formulář:
a. Ve formuláři Zaregistrujte svou přihlášku zadejte jméno a Popis pro vaši aplikaci.
The Jméno je jméno zobrazené na obrazovce souhlasu, když uživatelé souhlasí se sdílením informací s vaší aplikací. Tento název platí pro Android, iOS a webverze stránek vaší aplikace.
b. Zadejte oznámení o ochraně osobních údajů URL pro vaši aplikaci.
Oznámení o ochraně osobních údajů URL je umístění zásad ochrany osobních údajů vaší společnosti nebo aplikace (napřample, http: //www.example.com/privacy.html). Tento odkaz se uživatelům zobrazuje na obrazovce souhlasu.
c. Pokud chcete přidat a Obrázek loga pro vaši aplikaci klikněte na Prohlížet a vyhledejte příslušný obrázek.
Toto logo se zobrazuje na přihlašovací a souhlasné obrazovce, aby reprezentovalo vaši firmu nebo webstránky. Logo bude zmenšeno na 50 pixelů na výšku, pokud je vyšší než 50 pixelů; na šířku loga není žádné omezení. - Klikněte Uložit. Vaše sampregistrace by měla vypadat takto:
Po uložení základních nastavení aplikace můžete přidat konkrétní nastavení webweby a mobilní aplikace, které budou používat toto přihlášení pomocí účtu Amazon.
Pokud různé verze vaší aplikace mají různá ID svazku, například pro jednu nebo více testovacích verzí a produkční verzi, vyžaduje každá verze svůj vlastní klíč API. Z Nastavení iOS své aplikace, klikněte na Přidat klíč API tlačítko pro vytvoření dalších klíčů pro vaši aplikaci (jeden pro každou verzi).
Přidejte aplikaci pro iOS do Security Profile
Po uložení základních nastavení aplikace můžete přidat konkrétní nastavení webweby a mobilní aplikace, které budou používat toto přihlášení pomocí účtu Amazon.
Chcete-li zaregistrovat aplikaci pro iOS, musíte zadat identifikátor balíčku pro projekt aplikace. Přihlášení přes Amazon použije ID svazku ke generování klíče API. Klíč API udělí vaší aplikaci přístup k autorizační službě Přihlášení pomocí Amazonu. Chcete-li do svého účtu přidat aplikaci pro iOS, postupujte takto:
- Na obrazovce Aplikace klikněte na Nastavení iOS. Pokud již máte zaregistrovanou aplikaci pro iOS, podívejte se na Přidat klíč API tlačítko v Nastavení iOS sekce.
The Aplikace pro iOS Zobrazí se formulář s podrobnostmi:
- Zadejte Označení vaší aplikace pro iOS. Nemusí to být oficiální název vaší aplikace. Jednoduše identifikuje tuto konkrétní aplikaci pro iOS mezi aplikacemi a webstránky registrované k vašemu přihlášení pomocí aplikace Amazon.
- Zadejte svůj ID balíčku. To se musí shodovat s identifikátorem balíčku vašeho projektu iOS. Chcete-li zjistit identifikátor balíčku, otevřete projekt v Xcode. Otevřete seznam vlastností projektu ( -Info.plist) v Navigátor projektu. Identifikátor balíčku je jednou z vlastností v seznamu.
- Klikněte Uložit.
ID balíčku iOS a klíče API
Identifikátor balíčku je jedinečný pro každou aplikaci pro iOS. Přihlášení pomocí Amazonu používá ID svazku k vytvoření vašeho klíče API. Klíč API umožňuje rozpoznat vaši aplikaci přihlašovací službou Amazon.
Určete identifikátor balíčku pro aplikaci pro iOS
- Otevřete svůj projekt aplikace v Xcode.
- Otevřete Seznam informačních vlastností pro projekt ( -Info.plist) v Navigátor projektu.
- Nalézt Identifikátor svazku v seznamu vlastností.
Načíst klíč iOS API
Poté, co jste zaregistrovali verzi pro iOS a zadali ID balíčku, můžete načíst klíč API z registrační stránky pro přihlášení pomocí aplikace Amazon. Tento klíč API budete muset umístit do seznamu vlastností vašeho projektu. Dokud tak neučiníte, aplikace nebude oprávněna komunikovat s autorizační službou Přihlášení pomocí Amazonu.
1. Přejděte na https://login.amazon.com.
2. Klikněte Konzole aplikace.
3. V Aplikace klikněte na svou aplikaci.
4. Najděte svou aplikaci pro iOS pod Nastavení iOS sekce. Pokud ještě nemáte zaregistrovanou aplikaci pro iOS, přečtěte si Přidejte aplikaci pro iOS do Security Profile.
5. Klikněte Generovat klíčovou hodnotu API. Vyskakovací okno zobrazí váš klíč API. Chcete-li klíč zkopírovat, klikněte na Vyberte Vše vyberte celý klíč.
Poznámka: Hodnota klíče API je částečně založena na době, kdy je vygenerována. Následné generované klíčové hodnoty API se tedy mohou lišit od originálu. Ve své aplikaci můžete použít kteroukoli z těchto klíčových hodnot API, protože jsou všechny platné.
6. Viz Přidejte svůj klíč API do svého seznamu vlastností aplikace pokyny k přidání klíče API do vaší aplikace pro iOS
Vytvoření přihlášení pomocí projektu Amazon
V této části se naučíte, jak vytvořit nový projekt Xcode pro přihlášení pomocí Amazonu a nakonfigurovat projekt.
Viz následující témata:
- Vytvořte nové přihlášení pomocí projektu Amazon
- Nainstalujte si přihlášení pomocí knihovny Amazon
- Přidejte svůj klíč API do svého seznamu vlastností aplikace
- Přidat a URL Schéma do seznamu vlastností vaší aplikace
- Přidejte do své aplikace výjimku zabezpečení přenosu aplikace pro Amazon Seznam vlastností
POZNÁMKA: Tento nový krok je aktuálně vyžadován při vývoji na iOS 9 SDK - Přidejte si do aplikace přihlášení pomocí tlačítka Amazon
Vytvořte nové přihlášení pomocí projektu Amazon
Pokud ještě nemáte projekt aplikace pro použití přihlášení pomocí Amazonu, vytvořte jej podle níže uvedených pokynů. Pokud máte existující aplikaci, přeskočte níže na sekci Instalace přihlášení pomocí knihovny Amazon.
- Zahájit Xcode.
- Pokud se vám zobrazí Vítejte v Xcode dialog, vyberte Vytvořte nový projekt Xcode.
Jinak z File menu, vyberte Nový a Projekt. - Vyberte typ projektu, který chcete vytvořit, a klikněte na Další.
- Zadejte a Název produktu a a Identifikátor společnosti. Všimněte si svého Identifikátor svazkua klikněte Další.
- Vyberte umístění, do kterého chcete projekt uložit, a klikněte na Vytvořit.
Nyní budete mít nový projekt, který můžete použít k volání přihlášení pomocí Amazonu.
Nainstalujte si přihlášení pomocí knihovny Amazon
Pokud jste si ještě nestáhli přihlášení pomocí Amazon SDK pro iOS, přečtěte si Nainstalujte si přihlášení pomocí Amazon SDK pro iOS.
Přihlášení pomocí projektu Amazon musí propojovat PřihlášeníWithAmazon.framework a Zabezpečení. Rámce knihovny. Budete také muset nakonfigurovat cestu pro vyhledání rámce, abyste našli přihlášení pomocí hlaviček Amazonu
- Když je váš projekt otevřený v Xcode, vyberte Rámce složku, klikněte na File z hlavní nabídky a poté vyberte Přidat Files na "projekt".
- V dialogovém okně vyberte PřihlášeníWithAmazon.framework a klikněte na Přidat.
Pokud jste použili knihovnu Login with Amazon 1.0, odstraňte adresář login-with-amazon sdk a login-with-amazon-sdk.a ze složky Frameworks. Klepněte na Upravit z hlavní nabídky a vyberte Vymazat. - Vyberte název svého projektu v Navigátor projektu.
The Editor projektu se zobrazí v oblasti editoru pracovního prostoru Xcode. - Klikněte na název vašeho projektu pod cíle, a vyberte Vytvářejte fáze. Rozbalte odkaz Binární s knihovnami a kliknutím na znaménko plus přidejte knihovnu.
- Do vyhledávacího pole zadejte Zabezpečení. Rámce. Vybrat Zabezpečení. Rám a klikněte Přidat.
- Do vyhledávacího pole zadejte SafariServices.framework. Vybrat SafariServices.framework a klikněte Přidat.
- Do vyhledávacího pole zadejte CoreGraphics.framework. Vybrat CoreGraphics.framework a klikněte Přidat
- Vybrat Nastavení sestavení. Klepněte na Vše view všechna nastavení.
- Pod Hledat cesty, ujistěte se, že PřihlášeníWithAmazon.framework adresář je v Cesty rámcového vyhledávání.
Napřampten:
Pokud jste použili knihovnu Login with Amazon 1.0, můžete odstranit všechny odkazy na cestu ke knihovně 1.0 v Cesty hledání záhlaví or Cesty pro vyhledávání v knihovně. - V hlavní nabídce klikněte na Produkt a vyberte Vytvořit. Sestavení by mělo být úspěšně dokončeno.
Pokud jste před vytvořením projektu použili knihovnu Login with Amazon 1.0, nahraďte ji #import „AIMobileLib.h“, #import „AIAuthenticationDelegate.h“, or #importovat „AIError.h“ ve vašem zdroji files #importovat
.
PřihlášeníWithAmazon.h zahrnuje všechna přihlášení s hlavičkami Amazon najednou.
Přidejte svůj klíč API do svého seznamu vlastností aplikace
Když zaregistrujete svou aplikaci pro iOS pomocí Přihlášení na Amazonu, bude vám přidělen klíč API. Jedná se o identifikátor, který mobilní knihovna Amazon použije k identifikaci vaší aplikace v rámci autorizační služby Přihlášení pomocí Amazonu. Amazonská mobilní knihovna načte tuto hodnotu za běhu z hodnoty vlastnosti klíče API v seznamu informačních vlastností vaší aplikace.
- S otevřeným projektem vyberte Vedlejší Files složku a poté vyberte -Info.plist file (kde je název vašeho projektu). Tím by se měl otevřít seznam vlastností pro úpravy:
- Ujistěte se, že není vybrána žádná z položek. Poté v hlavní nabídce klikněte na Editor, a Přidat položku. Vstupte APIKey a stiskněte Vstupte.
- Poklepejte pod ikonu Hodnota sloupec pro přidání hodnoty. Vložte svůj klíč API jako hodnotu.
Přidat a URL Schéma do seznamu vlastností vaší aplikace
Když se uživatel přihlásí, zobrazí se mu přihlašovací stránka Amazonu. Aby vaše aplikace mohla obdržet potvrzení o svém přihlášení, musíte přidat a URL schéma tak, aby web stránku lze přesměrovat zpět do vaší aplikace. The URL režim musí být deklarován jako amzn- (napřample, amzncom.example.app). Další informace viz Použití URL Schémata pro komunikaci s aplikacemi na webu developer.apple.com.
- S otevřeným projektem vyberte Vedlejší Files složku a poté vyberte -Info.plist file (kde je název vašeho projektu). Tím by se měl otevřít seznam vlastností pro úpravy:
- Ujistěte se, že není vybrána žádná z položek. Poté v hlavní nabídce klikněte na Editor, a Přidat položku. Zadejte nebo vyberte URL typy a stiskněte Vstupte.
- Rozšířit URL typy odhalit Položka 0. Vybrat Položka 0 a v hlavní nabídce klikněte na Editor a Přidat položku. Zadejte nebo vyberte URL Identifikátor a stiskněte Vstupte.
- Vybrat Položka 0 pod URL Identifikátor a dvojitým kliknutím ve sloupci Hodnota přidejte hodnotu. Hodnota je vaše ID balíčku. ID vašeho balíčku najdete jako identifikátor balíčku v seznamu vlastností.
- Vybrat Položka 0 pod URL typy a v hlavní nabídce klikněte na Editor a Přidat položku. Zadejte nebo vyberte URL Schémata a stiskněte klávesu Enter.
- Vybrat Položka 0 pod URL Schémata a poklepejte pod ikonu Hodnota sloupec pro přidání a hodnota. Hodnota je vaše ID balíčku s amzn- připraveno (napřample, amzn com.example.app). ID vašeho balíčku najdete jako Identifikátor svazku v seznamu vlastností.
Přidejte do své aplikace výjimku zabezpečení přenosu aplikace pro Amazon
Seznam vlastností
Počínaje iOS 9 Apple vynucuje zabezpečení přenosu aplikací (ATS) pro zabezpečené připojení mezi aplikací a web služby. Koncový bod (api.amazon.com), se kterým přihlášení pomocí Amazon SDK komunikuje za účelem výměny informací, zatím neodpovídá ATS. Přidejte výjimku pro api.amazon.com, abyste umožnili bezproblémovou komunikaci mezi sadou SDK a serverem Amazon.
- S otevřeným projektem vyberte Vedlejší Files složku a poté vyberte -Info.plist file (kde je název vašeho projektu). Tím by se měl otevřít seznam vlastností pro úpravy:
- Ujistěte se, že žádná z položek není. Potom v hlavní nabídce klikněte na Editora Přidat položku. Zadejte nebo vyberte Zabezpečení NSAppTransport a stiskněte Vstupte.
- Rozšířit Zabezpečení NSAppTransport a v hlavní nabídce klikněte na Editor a Přidat položku. Zadejte nebo vyberte Domény NSException a stiskněte Vstupte.
- Rozšířit Domény NSException a v hlavní nabídce klikněte na Editor a Přidat položku. Zadejte amazon.com a stiskněte Vstupte.
- Rozšířit amazon.com a v hlavní nabídce klikněte na Editor a Přidat položkuZadejte NSExceptionRequiresForwardSecrecy a stiskněte Vstupte.
- Vybrat NSExceptionRequiresForwardSecrecy a poklepejte pod ikonu Hodnota sloupec pro přidání Select a Typ of Boolean a a Hodnota of ŽÁDNÝ.
Přihlášení pomocí Amazonu poskytuje několik standardních tlačítek, pomocí kterých můžete uživatele vyzvat k přihlášení z vaší aplikace. V této části jsou uvedeny kroky pro stažení oficiálního přihlašovacího obrázku Amazon a jeho spárování s iOS UIButton.
- Přidejte do své aplikace standardní UIButton.
Výukové programy a informace o tom, jak přidat tlačítko do aplikace, najdete v části Vytváření a konfigurace View Objekty a Začněte vyvíjet aplikace pro iOS ještě dnes na webu developer.apple.com. - Přidejte Dotkněte se uvnitř událost pro tlačítko na metodu s názvem onLoginButtonClicked. Implementaci zatím nechejte prázdnou. The Vytváření a Konfigurace View Objekty a Začněte vyvíjet aplikace pro iOS ještě dnes dokumenty na apple.com obsahují kroky pro přidání události tlačítka.
- Vyberte obrázek tlačítka.
Konzultujte naše Přihlášení přes Amazon Pokyny pro styl pro seznam tlačítek, která můžete použít ve své aplikaci. Stáhněte si kopii souboru LWA_for_iOS.zip file. Najděte požadované tlačítko v adresáři 1x i 2x a rozbalte je ze zipu. Pokud chcete tlačítko zobrazit ve vybraném stavu, extrahujte verzi _Pressed vašeho tlačítka. - Přidejte obrázky do svého projektu.
a. V Xcode s načteným projektem klikněte na File z hlavní nabídky a vyberte Přidat Files na „projekt“.
b. V dialogu vyberte obrázek tlačítka file(s), které jste si stáhli a klikněte na ně Přidat.
c. Tlačítka by nyní měla být v projektu ve vašem adresáři projektu. Přesuňte je do podpůrných Filesfolder. - Přidejte obrázek na své tlačítko.
Chcete-li povolit obrázek tlačítka, můžete upravit atribut tlačítka nebo použít setImage: forState metoda na Tlačítko UIB objekt. Chcete-li upravit atribut obrázku pro vaše tlačítko, postupujte takto:
a. Otevřete scénář své aplikace.
b. Vyberte tlačítko ve svém scénáři kliknutím na něj nebo jeho výběrem z View Ovladač Strom scény.
c. V Utility otevřete okno Atributy inspektor.
d. V horní části Inspektoru atributů nastavte Typ tlačítka na Systém.
e. Ve druhé skupině nastavení vyberte možnost Výchozí pro konfiguraci stavu.
f. Ve druhé skupině nastavení rozbalte nastavení obrázku.
g. Vyberte grafiku Přihlášení pomocí Amazonu, kterou jste přidali do projektu. Nevybírejte verzi 2x: načte se automaticky na zařízeních s vysokou hustotou zobrazení (Retina).
h. Nastavte stejný obrázek pro nastavení Pozadí.
i. Pokud chcete určit stisknutou verzi tlačítka, vyberte možnost Vybráno pro stavovou konfiguraci a nastavte obrázek na _Pressovanou verzi vašeho tlačítka.
j. V případě potřeby upravte na scénáři velikost tlačítka tak, aby odpovídala obrázku.
Používání SDK pro iOS API
V této části přidáte do projektu kód pro přihlášení uživatele pomocí Přihlášení pomocí Amazonu.
Viz následující témata:
- Ovládejte přihlašovací tlačítko a získejte Profile Data
- Při přihlášení zkontrolujte přihlášení uživatele
- Vymažte stav autorizace a odhlaste uživatele
Tato část vysvětluje, jak volat na authorizeUserForScopes: delegát: a getProfile:API přihlásit uživatele a získat jeho profesionálafile data. To zahrnuje vytvoření onLoginButtonClicked: posluchač pro přihlášení pomocí tlačítka Amazon.
- Přidejte si do projektu iOS přihlášení pomocí Amazonu. Viz Instalace přihlášení pomocí knihovny Amazon.
- Importujte přihlášení pomocí rozhraní Amazon API do svého zdroje file.
Chcete-li importovat přihlášení pomocí rozhraní Amazon API, přidejte následující #importstements ke svému zdroji file:#import - Vytvořte AMZNAuthorizeUserDelegateclass realizovat
AIAuthenticationDelegate.
Když authorizeUserForScopes: delegát: dokončí, zavolá requestDidSucceed: or requestDidFail: metoda na objektu, který implementuje AIAuthenticationDelegate protokol.@interface AMZNAuthorizeUserDelegate: NSObject @konec Více informací viz Práce s protokoly na webu developer.apple.com.
- Volání authorizeUserForScopes: delegát: in onLoginButtonClicked.
Pokud jste postupovali podle pokynů v Přidejte si do aplikace přihlášení pomocí tlačítka Amazon, měli byste mít onLoginButtonClicked: metoda propojeno s tlačítkem Přihlásit se Amazonem. V této metodě zavolejte authorizeUserForScopes: delegate: to vyzvat uživatele k přihlášení a autorizaci vaší aplikace.
Tato metoda umožní uživateli přihlásit se a udělit souhlas s požadovanými informacemi jedním z následujících způsobů:
1.) Přepne na web view v zabezpečeném kontextu (pokud je v zařízení nainstalována aplikace Amazon Shopping)
2.) Přepíná na Safari View Ovladač (na iOS 9 a novějších)
3.) Přepne do systémového prohlížeče (v systému iOS 8 a starším)
Zabezpečený kontext pro první možnost je k dispozici, když je do zařízení nainstalována aplikace Amazon Shopping. Pokud je uživatel již přihlášen k aplikaci Amazon Shopping, přihlašovací stránka se přeskočí, což vede k a Jednotné přihlášení (SSO) zažít.Když je vaše aplikace autorizovaná, je autorizována pro jednu nebo více datových sad známých jako obory. První parametr je pole oborů, které zahrnují uživatelská data, která požadujete od přihlášení pomocí Amazonu. Při prvním přihlášení uživatele k vaší aplikaci se mu zobrazí seznam údajů, které požadujete a žádáte o schválení. Přihlášení pomocí Amazonu aktuálně podporuje tři obory: profile, který obsahuje jméno uživatele, e-mailovou adresu a ID účtu Amazon; profile:uživatelské ID, který obsahuje pouze ID účtu Amazon; a poštovní směrovací číslo, který obsahuje poštovní směrovací číslo uživatele.
Druhý parametr do authorizeUserForScopes: delegát: je objekt, který implementuje AIAuthenticationdelegateprotocol, v tomto případě instance AMZNAuthorizeUserDelegate třída.- (IBAction) onLogInButtonClicked: (id) sender {
// Proveďte autorizační volání SDK a získejte token zabezpečeného přístupu
// pro uživatele.
// Při prvním volání můžete určit minimální základní
// potřebné obory.// Požadování obou oborů pro aktuálního uživatele.
NSArray * requestScopes =
[NSArray arrayWithObjects:@”profile”, @”postal_code”, nula];AMZNAuthorizeUserDelegate * delegate =
[AIMobileLib authorizeUserForScopes: requestScopes delegát: delegát];
[[AMZNAuthorizeUserDelegate alloc] initWithParentController: self];Přidejte záhlaví implementace delegáta do volání třídy
authorizeUserForScopes :. Napřampten:#import „AMZNAuthorizeUserDelegate.h“ - Vytvořit AMZNGetProfileDelegát.
AMZNGetProfileDelegáti naše jméno pro třídu, která implementuje
AIAuthenticationdelegateprotocol, a zpracuje výsledek getProfile: volání. Jako autorizovatUserForScopes:delegate:, getProfile: podporuje requestDidSucceed: a requestDidFail: metody protokolu. requestDidSucceed: dostává VÝSLEDEK objekt s profile data ve vlastnosti result. requestDidFail: dostává AIError objekt s informací o chybě ve vlastnosti error.
Chcete-li vytvořit třídu delegáta z deklarace normální třídy, importujte
AIAuthenticationDelegate.hand přidejte protokol do prohlášení v záhlaví vaší třídy file:#import @interface AMZNGetProfileDelegát: NSObject @end - Nářadí requestDidSucceed: pro vaše AMZNAuthorizeUserDelegate. In requestDidSucceed :, volání getProfile: získat zákazníka profile. getProfile:, jako authorizeUserForScopes: delegate :, používá protokol AIAuthenticationDelegate.
- (void) requestDidSucceed: (APIResult *) apiResult {
// Váš kód poté, co uživatel autorizuje aplikaci pro
// požadované obory.// Načíst nový view ovladač s informacemi identifikujícími uživatele
// protože uživatel je nyní úspěšně přihlášen.AMZNGetProfileDelegát* delegát =
[[[AMZNGetProfileDelegát alloc] initWithParentController:parentViewController] autorease];
[AIMobileLib getProfile:delegát];
}Přidejte záhlaví implementace delegáta do volání třídy getProfile:. Forexampten:
#import „AMZNGetProfileDelegát.h” - Nářadí requestDidSucceed: pro vaše AMZNGetProfileDelegát.
requestDidSucceed: má dva hlavní úkoly: získat profesionálafile údaje z VÝSLEDEK a předat data do uživatelského rozhraní.
Chcete -li získat profesionálafile údaje z VÝSLEDEK přístup k vlastnosti výsledku. Pro getProfile:Odezva, tato vlastnost bude obsahovat slovník hodnot vlastností pro uživatele profile vlastnosti. Profesionálfile vlastnosti jsou jméno, e-mail, a user_id pro profesionálafile rozsah a
PSČ pro PSČ rozsah.- (void) requestDidSucceed: (APIResult *) apiResult {
// Získejte profile žádost byla úspěšná. Rozbalte profíkafile informace
// a předejte ho nadřazenému view ovladačNSString * name = [(NSDictionary *) apiResult.result
objectForKey: @ ”name”];
NSString * email = [(NSDictionary *) apiResult.result
objectForKey: @ ”email”];
NSString * user_id = [(NSDictionary *) apiResult.result
objectForKey: @ ”user_id”];
NSString * postal_code = [(NSDictionary *) apiResult.result
objectForKey: @ ”postal_code”];// Předat data do view ovladač
} - Nářadí requestDidFail: pro vaše AMZNGetProfileDelegát.
requestDidFail: zahrnuje APIError objekt obsahující podrobnosti o chybě. showLogInPageis hypotetická metoda, která by resetovala hlavní view ovladač, aby se zobrazilo tlačítko Přihlásit se pomocí Amazonu.- (void) requestDidFail: (APIError *) errorResponse {
// Získejte Profile požadavek se nezdařil pro profile rozsah.
// Pokud je chybový kód = kAIApplicationNotAuthorized,
// umožnit uživateli znovu se přihlásit.
if (errorResponse.error.code == kAIApplicationNotAuthorized) {
// Zobrazit tlačítko autorizovat uživatele.
[rodičViewŘadič showLogInPage];
}
jinak {
// Zpracování dalších chyb
[[[[UIAlertView alloc] initWithTitle:@”” zpráva:[NSString
stringWithFormat: @ ”Došlo k chybě se zprávou:% @”,
errorResponse.error.message] delegát: žádný
cancelButtonTitle: @ „OK“ otherButtonTitles: žádné] autorelease] zobrazit];
}
} - Nářadí requestDidFail: pro vaše AMZNAuthorizeUserDelegate.
- (void) requestDidFail: (APIError *) errorResponse {
NSString * message = errorResponse.error.message;
// Váš kód, když se autorizace nezdaří. [[[[UIAlertView alloc] initWithTitle:@”” zpráva:[NSString
stringWithFormat: @ „Autorizace uživatele se nezdařila se zprávou:% @“, errorResponse.error.message] delegát: žádný
cancelButtonTitle: @ „OK“ otherButtonTitles: žádné] autorelease] zobrazit];
}10. Proveďte aplikace: otevřenáURL: sourceApplication: anotace: ve třídě ve vašem projektu, který zpracovává UIApplicationDelegát protokol (ve výchozím nastavení to bude Třída AppDelegate ve vašem projektu). Když aplikace zobrazí přihlašovací stránku Amazonu a uživatel dokončí přihlášení, přesměruje se do aplikace pomocí URL Schéma aplikace zaregistrované dříve. Toto přesměrování je předáno aplikace: otevřenáURL: sourceApplication: annotation :, který se vrací ANO pokud URL byl úspěšně zpracován. rukojeť OtevřítURL: sourceApplication: je funkce knihovny SDK, která zvládne přihlášení s přesměrováním Amazon URLje pro vás. Li rukojeť OtevřítURL: sourceApplication: vrací ANO, pak URL byl zpracován.
- (BOOL) application: (UIApplication *) application
OTEVŘENOURL: (NSURL *)url
sourceApplication: (NSString *) sourceApplication
annotation: (id) annotation
{
// Předejte url do sady SDK k analýze autorizačního kódu // z url.
BOOL isValidRedirectSignInURL =
[AIMobileLib handleOpenURL:url
sourceAppli cation: sour ceApplicati on);
if (! isValidRedirect Si gnlnURL)
návrat NE;
// Aplikace může také chtít pracovat url návrat ANO;
}POZNÁMKA: Tato metoda je v iOS 9 zastaralá, ale měla by být zahrnuta do vašeho projektu, aby byla zachována podpora pro uživatele na starších platformách. Pro více informací o aplikace: otevřenáURL: sourceApplication: annotation :, vidět Odkaz na protokol UIApplicationDelegate na webu developer.apple.com.
Při přihlášení zkontrolujte přihlášení uživatele
Pokud se uživatel přihlásí do vaší aplikace, zavře ji a později ji restartuje, aplikace má stále oprávnění k načtení dat. Uživatel není automaticky odhlášen. Při spuštění můžete uživateli zobrazit přihlášeného, pokud je vaše aplikace stále autorizovaná. Tato část vysvětluje, jak se používá
getAccessTokenForScopes: withOverrideParams: delegát: zjistit, zda je aplikace stále autorizovaná.
- Vytvořit AMZNGetAccessTokenDelegate třída. AMZNGetAccessTokenDelegateimplement a AIAuthenticationDelegate protokolu a zpracuje výsledek protokolu
getAccessTokenForScopes: withOverrideParams: delegát: volání. AIAuthenticationDelegate obsahuje dvě metody, requestDidSucceed: a requestDidFail :. requestDidSucceed: dostává VÝSLEDEK objekt s daty tokenu, zatímco requestDidFail: dostává APIError objekt s informací o chybě.#import @interface AMZNGetAccessTokenDelegate: NSObject
@konec
Přidejte záhlaví implementace delegáta do volání třídy
getAccessTokenForScopes: withOverrideParams: delegát :. Forexampten:#import „AMZNGetAccessTokenDelegate.h“ - Při spuštění aplikace volejte
getAccessTokenForScopes: withOverrideParams: delegát: zjistit, zda je aplikace stále autorizovaná. getAccessTokenForScopes: withOverrideParams: delegát: načte nezpracovaný přístupový token, který Login with Amazon používá pro přístup k profesionálnímu zákazníkovifile. Pokud metoda uspěje, aplikace je stále autorizována a volá se getProfile: by měl uspět. getAccessTokenForScopes: withOverrideParams: delegát: používá AIAuthenticationDelegate protokolem stejným způsobem jako authorizeUserForScopes: delegate :. Předejte objekt implementující protokol jako parametr delegáta.- (void) checkIsUserSignedIn {
AMZNGetAccessTokenDelegate * delegate =
[[[AMZNGetAccessTokenDelegate alloc] initWithParentController:self] autorelease];
NSArray * requestScopes =
[NSArray arrayWithObjects:@”profile”, @”postal_code”, nula]; [AIMobileLib getAccessTokenForScopes:requestScopes withOverrideParams:žádný delegát:delegát];
} - Nářadí requestDidSucceed: na vašem AMZNGetAccessTokenDelegate. requestDidSucceed: má jeden úkol: zavolat getProfile:. Tento exampvolá getProfile: pomocí stejného posluchače, který jste deklarovali v předchozí části (viz kroky 6-8).
#import „AMZNGetProfileDelegát.h”
#import- (void) requestDidSucceed: (APIResult *) apiResult {
// Váš kód pro použití přístupového tokenu jde sem.// Protože aplikace má oprávnění pro naše obory, můžeme
[AIMobileLib getProfile:delegát];
// získat uživatele profile.
AMZNGetProfileDelegát* delegát = [[[AMZNGetProfileDelegát alloc] initWithParentController:parentViewController] autorease];
} - Nářadí requestDidFail: na vašem AMZNGetAccessTokenDelegate.
requestDidFail: zahrnuje APIError objekt obsahující podrobnosti o chybě. Pokud se zobrazí chyba, můžete resetovat hlavní view ovladač, aby se zobrazilo tlačítko Přihlásit se pomocí Amazonu.- (void) requestDidFail: (APIError *) errorResponse {
// Váš kód pro zpracování neúspěšného načtení přístupového tokenu.
// Pokud je chybový kód = kAIApplicationNotAuthorized, povolte uživatele
// pro opětovné přihlášení.
if (errorResponse.error.code == kAIApplicationNotAuthorized) {
// Zobrazit přihlášení pomocí tlačítka Amazon.
}
jinak {
// Zpracování dalších chyb
[[[[UIAlertView alloc] initWithTitle:@”” zpráva:[NSString
stringWithFormat: @ ”Došlo k chybě se zprávou:% @”, errorResponse.error.message] delegát: žádný
cancelButtonTitle:@”OK” otherButtonTitles:nikoliv] autorelease] show];
}
}
The clearAuthorizationState: metoda vymaže autorizační data uživatele z AIMobileLib místní úložiště dat. Aby aplikace mohla načíst profesionála, bude se muset znovu přihlásitfile data. Tuto metodu použijte k odhlášení uživatele nebo k řešení problémů s přihlášením v aplikaci.
- Prohlásit AMZNLogoutDelegát. Toto je třída, která implementuje
AIAuthenticationDelegateprotocol. Pro naše účely můžeme zdědit třídu od NSObject:
#import @interface AMZNLogoutDelegate NSObject
@konec
Přidejte záhlaví implementace delegáta do volání třídy clearAuthorizationState :. Napřampten:
#import „AMZNLogoutDelegate.h“ - Volání clearAuthorizationState :.
Když se uživatel úspěšně přihlásí, můžete poskytnout mechanismus odhlášení, aby mohl vymazat svá autorizační data. Váš mechanismus může být hypertextový odkaz nebo položka nabídky, ale pro tento scénář je example vytvoří a metoda odhlášeníButtonClicked tlačítko pro odhlášení.- (IBAction) logoutButtonClicked: (id) sender {
AMZNLogoutDelegate* delegát = [[[AMZNLogoutDelegate alloc] initWithParentController:self] autorelease]; [AIMobileLib clearAuthorizationState:delegate];
}Jediný parametr clearAuthorizationState je AIAuthenticationDelegate která implementuje requestDidSucceed: a requestDidFail :.
- Nářadí requestDidSucceed :. Tato metoda bude volána, když budou vymazány informace o uživateli. Poté byste je měli ukázat jako odhlášené.
- (void) requestDidSucceed: (APIResult *) apiResult {
// Vaše další logika po autorizaci uživatele
// stav je vymazán.
[[[UIAlertView alloc] initWithTitle:@”” zpráva:@”Uživatel odhlášen.”
delegát:nil cancelButtonTitle:@”OK” otherButtonTitles:nil] show];
} - Nářadí requestDidFail :. Tato metoda bude volána, pokud z nějakého důvodu nelze vymazat informace uživatele z mezipaměti. V takovém případě byste je neměli zobrazovat jako odhlášené.
- (void) requestDidFail: (APIError *) errorResponse {
// Vaše další logika poté, co se SDK nepodařilo vymazat
// stav oprávnění. [[[[UIAlertView alloc] initWithTitle:@”” zpráva:[NSString
stringWithFormat: @ ”Odhlášení uživatele se nezdařilo se zprávou:% @”,
errorResponse.error.message] delegát: žádný
cancelButtonTitle:@”OK” otherButtonTitles:nikoliv] autorelease] show];
}
Vyzkoušejte svou integraci
Spusťte aplikaci v zařízení nebo simulátoru iOS a potvrďte, že se můžete přihlásit pomocí svých přihlašovacích údajů na Amazon.com.
Poznámka: Při testování na simulátorech iOS10 se může zobrazit chybová zpráva APIKey pro aplikaci je neplatná pro požadavek authorizeUserForScopes nebo Neznámý kód chyby pro požadavek clearAuthorizationState. Tohle je známá chyba s Apple ke kterému dochází, když se SDK pokusí o přístup ke klíčence. Dokud Apple chybu nevyřeší, můžete ji obejít povolením sdílení klíčenky pro vaši aplikaci na kartě Možnosti cíle vaší aplikace. Tato chyba má dopad pouze na simulátory. Můžete otestovat na skutečných zařízeních iOS10 bez použití jakéhokoli řešení.
Přihlaste se pomocí průvodce Amazon Začínáme pro iOS verze 2.1.2 - Stáhnout [optimalizováno]
Přihlaste se pomocí průvodce Amazon Začínáme pro iOS verze 2.1.2 - Stáhnout