Melden Sie sich mit Amazon Getting Started Guide für iOS an
Mit Amazon anmelden: Erste Schritte für iOS
Copyright © 2016 Amazon.com, Inc. oder verbundene Unternehmen. Alle Rechte vorbehalten.
Amazon und das Amazon-Logo sind Marken von Amazon.com, Inc. oder seinen verbundenen Unternehmen. Alle anderen Marken, die nicht Amazon gehören, sind Eigentum ihrer jeweiligen Inhaber.
Erste Schritte für iOS
In diesem Handbuch zeigen wir Ihnen, wie Sie Ihrer iOS-App die Anmeldung mit Amazon hinzufügen. Nach dem Ausfüllen dieses Handbuchs sollte Ihre App über eine funktionierende Schaltfläche "Mit Amazon anmelden" verfügen, damit sich Benutzer mit ihren Amazon-Anmeldeinformationen anmelden können
Xcode installieren
Das Login mit Amazon SDK für iOS wird von Amazon bereitgestellt, damit Sie Ihrer iOS-Anwendung Login mit Amazon hinzufügen können. Das SDK ist für die Verwendung mit der Xcode-Entwicklungsumgebung vorgesehen. Das SDK unterstützt Apps, die unter iOS 7.0 und höher mit ARMv7, ARMv7s, ARM64, i386 und x86_64 ausgeführt werden.
Sie können Xcode aus dem Mac App Store installieren. Weitere Informationen finden Sie unter Xcode: Was ist neu? auf developer.apple.com.
Nachdem Xcode installiert wurde, können Sie Installieren Sie das Login mit Amazon SDK für iOS Und Führen Sie das S ausampdie App, wie unten beschrieben.
Installieren Sie das Login mit Amazon SDK für iOS
Die Anmeldung mit Amazon SDK für iOS wird in zwei Paketen geliefert. Die erste enthält die iOS-Bibliothek und die unterstützende Dokumentation. Die zweite enthält asample-Anwendung, die es einem Benutzer ermöglicht, sich anzumelden und view ihr profile Daten.
Wenn Sie Xcode noch nicht installiert haben, lesen Sie die Anweisungen in der Installieren Sie Xcode Abschnitt oben.
- Herunterladen LoginWithAmazonSDKForiOS.zip und extrahieren Sie die files in ein Verzeichnis auf Ihrer Festplatte.
Sie sollten eine sehen LoginWithAmazon.framework Verzeichnis. Dies enthält die Anmeldung mit Amazon-Bibliothek.
Auf der obersten Ebene des Reißverschlusses befindet sich a LoginWithAmazon.doc Verzeichnis einstellen. Dies enthält die API-Dokumentation. - Sehen Installieren Sie die Anmeldung mit Amazon Library Anweisungen zum Hinzufügen der Bibliothek zu einem iOS-Projekt finden Sie hier.
Wenn das Login mit Amazon SDK für iOS installiert ist, können Sie Erstellen Sie ein neues Login mit Amazon Project nach Registrierung bei Login bei Amazon.
Führen Sie das S ausampdie App
Um den s laufen zu lassenample-Anwendung, öffnen Sie die sampDatei in Xcode.
- Herunterladen SampleLoginWithAmazonAppForiOS.zip und kopieren Sie die
SampleLoginWithAmazonAppForiOS-Verzeichnis in Ihren Dokumentenordner. - Xcode starten. Wenn das Dialogfeld Willkommen bei Xcode angezeigt wird, klicken Sie auf Andere öffnen. Klicken Sie andernfalls im Hauptmenü auf File und wählen Sie Öffnen.
- Wählen Sie den Ordner "Dokumente" und wählen Sie
SampleLoginWithAmazonAppForiOS/LoginWithAmazonSample/ LoginWithAmazonSample.xcodeprojKlicken Sie auf Offen. - Die sampDas Projekt sollte jetzt geladen werden. Wenn es fertig ist, wählen Sie Produkt aus dem Hauptmenü und wählen Sie Laufen
Registrierung bei Login bei Amazon
Bevor Sie sich bei einem webWebsite oder in einer mobilen App müssen Sie eine Anwendung mit Login mit Amazon registrieren. Ihre Anwendung Login mit Amazon ist die Registrierung, die grundlegende Informationen über Ihr Unternehmen sowie Informationen über jeden enthält webWebsite oder mobile App, die Sie erstellen und die Anmeldung mit Amazon unterstützt. Diese Geschäftsinformationen werden den Benutzern jedes Mal angezeigt, wenn sie sich auf Ihrer Website mit Amazon anmelden. webWebsite oder mobile App. Die Benutzer sehen den Namen Ihrer Anwendung, Ihr Logo und einen Link zu Ihrer Datenschutzerklärung. Diese Schritte veranschaulichen, wie Sie eine Anmeldung bei der Amazon-Anwendung registrieren und diesem Konto eine iOS-App hinzufügen.
Siehe die folgenden Themen
- Registrieren Sie Ihr Login bei Amazon Application
- Hinzufügen einer iOS-App zu einem Sicherheitsprofifile
- iOS Bundle ID und API Keys
o Bestimmen Sie eine Bundle-ID für eine iOS-App
o Rufen Sie einen iOS-API-Schlüssel ab
Registrieren Sie Ihr Login bei Amazon Application
- Gehe zu https://login.amazon.com.
- Wenn Sie sich bereits bei Amazon angemeldet haben, klicken Sie auf App-Konsole. Andernfalls klicken Sie auf Melden Sie sich an.
Sie werden zu Seller Central weitergeleitet, das die Registrierung der Anwendung für die Anmeldung bei Amazon übernimmt. Wenn Sie Seller Central zum ersten Mal verwenden, werden Sie aufgefordert, ein Seller Central-Konto einzurichten. - Klicken Neue Anwendung registrieren. Der Registrieren Sie Ihre Anwendung Formular wird angezeigt:
a. Geben Sie im Formular Registrieren Sie Ihren Antrag einen Namen und ein Beschreibung für Ihre Bewerbung.
Der Name ist der Name, der auf dem Zustimmungsbildschirm angezeigt wird, wenn Benutzer zustimmen, Informationen mit Ihrer Anwendung zu teilen. Dieser Name gilt für Android, iOS und webSite-Versionen Ihrer Anwendung.
b. Geben Sie eine Datenschutzerklärung ein URL für Ihre Bewerbung.
Die Datenschutzerklärung URL ist der Ort der Datenschutzrichtlinie Ihres Unternehmens oder Ihrer Anwendung (zample, http://www.example.com/privacy.html). Dieser Link wird Benutzern auf dem Zustimmungsbildschirm angezeigt.
c. Wenn Sie ein Logobild für Ihre Anwendung, klicken Sie auf Durchsuchen und suchen Sie das entsprechende Bild.
Dieses Logo wird auf dem Anmelde- und Zustimmungsbildschirm angezeigt, um Ihr Unternehmen zu repräsentieren oder webSeite? ˅. Das Logo wird auf 50 Pixel Höhe verkleinert, wenn es höher als 50 Pixel ist; Die Breite des Logos ist nicht beschränkt. - Klicken Speichern. DeinampDie Registrierung sollte ungefähr so aussehen:
Nachdem Sie die grundlegenden Anwendungseinstellungen gespeichert haben, können Sie Einstellungen für bestimmte webWebsites und mobile Apps, die dieses Login mit Amazon-Konto verwenden.
Wenn verschiedene Versionen Ihrer App unterschiedliche Bundle-IDs haben, z. B. für eine oder mehrere Testversionen und eine Produktionsversion, benötigt jede Version einen eigenen API-Schlüssel. Von dem iOS-Einstellungen Klicken Sie in Ihrer App auf API-Schlüssel hinzufügen Klicken Sie auf die Schaltfläche, um zusätzliche Schlüssel für Ihre App zu erstellen (einen pro Version).
Hinzufügen einer iOS-App zu einem Sicherheitsprofifile
Nachdem Sie die grundlegenden Anwendungseinstellungen gespeichert haben, können Sie Einstellungen für bestimmte webWebsites und mobile Apps, die dieses Login mit Amazon-Konto verwenden.
Um eine iOS-App zu registrieren, müssen Sie die Bundle-ID für das App-Projekt angeben. Bei der Anmeldung bei Amazon wird die Bundle-ID verwendet, um einen API-Schlüssel zu generieren. Der API-Schlüssel gewährt Ihrer App Zugriff auf die Anmeldung mit dem Amazon-Autorisierungsdienst. Führen Sie die folgenden Schritte aus, um Ihrem Konto eine iOS-App hinzuzufügen:
- Klicken Sie im Anwendungsbildschirm auf iOS-Einstellungen. Wenn Sie bereits eine iOS-App registriert haben, suchen Sie nach der API-Schlüssel hinzufügen Schaltfläche im iOS-Einstellungen Abschnitt.
Der iOS-Anwendung Das Detailformular wird angezeigt:
- Geben Sie den Etikett Ihrer iOS-App. Dies muss nicht der offizielle Name Ihrer App sein. Es identifiziert einfach diese spezielle iOS-App unter den Apps und webWebsites, die für Ihre Anmeldung mit Amazon-Anwendung registriert sind.
- Geben Sie Ihren Bundle-ID Dies muss mit der Bundle-ID Ihres iOS-Projekts übereinstimmen. Öffnen Sie das Projekt in Xcode, um Ihre Bundle-ID zu ermitteln. Öffnen Sie die Eigenschaftenliste für das Projekt ( -Info.plist) in der Projektnavigator. Die Bundle-ID ist eine der Eigenschaften in der Liste.
- Klicken Speichern.
iOS Bundle ID und API Keys
Die Bundle-ID ist für jede iOS-App eindeutig. Bei der Anmeldung bei Amazon wird die Bundle-ID zum Erstellen Ihres API-Schlüssels verwendet. Mit dem API-Schlüssel kann der Anmeldedienst mit Amazon Ihre App erkennen.
Bestimmen Sie eine Bundle-ID für eine iOS-App
- Öffnen Sie Ihr App-Projekt in Xcode.
- Öffnen Sie die Informationseigenschaftsliste für das Projekt (( -Info.plist) im Projektnavigator.
- Finden Bundle-ID in der Liste der Eigenschaften.
Rufen Sie einen iOS-API-Schlüssel ab
Nachdem Sie eine iOS-Version registriert und eine Bundle-ID angegeben haben, können Sie den API-Schlüssel von der Registrierungsseite für Ihre Anmeldung bei Amazon abrufen. Sie müssen diesen API-Schlüssel in die Eigenschaftsliste Ihres Projekts einfügen. Bis dahin ist die App nicht berechtigt, mit dem Amazon-Autorisierungsdienst "Anmelden" zu kommunizieren.
1. Gehen Sie zu https://login.amazon.com.
2. Klick App-Konsole.
3. Im Apps Klicken Sie im Feld auf Ihre Anwendung.
4. Finden Sie Ihre iOS-App unter iOS-Einstellungen Sektion. Wenn Sie noch keine iOS-App registriert haben, lesen Sie Hinzufügen einer iOS-App zu einem Sicherheitsprofifile.
5. Klick Generieren Sie einen API-Schlüsselwert. In einem Popup-Fenster wird Ihr API-Schlüssel angezeigt. Klicken Sie auf, um den Schlüssel zu kopieren Alles auswählen um den gesamten Schlüssel auszuwählen.
Notiz: Der API-Schlüsselwert basiert teilweise auf der Zeit, zu der er generiert wird. Daher können nachfolgende API-Schlüsselwerte, die Sie generieren, vom Original abweichen. Sie können jeden dieser API-Schlüsselwerte in Ihrer App verwenden, da alle gültig sind.
6. Siehe Fügen Sie Ihren API-Schlüssel zu Ihrer App-Eigenschaftsliste hinzu Anweisungen zum Hinzufügen des API-Schlüssels zu Ihrer iOS-App
Erstellen eines Logins mit Amazon Project
In diesem Abschnitt erfahren Sie, wie Sie ein neues Xcode-Projekt für die Anmeldung bei Amazon erstellen und das Projekt konfigurieren.
Siehe folgende Themen:
- Erstellen Sie ein neues Login mit Amazon Project
- Installieren Sie die Anmeldung mit Amazon Library
- Fügen Sie Ihren API-Schlüssel zu Ihrer App-Eigenschaftsliste hinzu
- Fügen Sie einen URL Schema zu Ihrer App-Eigenschaftsliste
- Fügen Sie Ihrer App eine App-Transport-Sicherheitsausnahme für Amazon hinzu Property List
NOTIZ: Dieser neue Schritt ist derzeit bei der Entwicklung auf dem iOS 9 SDK erforderlich - Fügen Sie Ihrer App einen Login mit Amazon Button hinzu
Erstellen Sie ein neues Login mit Amazon Project
Wenn Sie noch kein App-Projekt für die Verwendung von Login mit Amazon haben, befolgen Sie die nachstehenden Anweisungen, um eines zu erstellen. Wenn Sie über eine vorhandene App verfügen, fahren Sie mit dem Abschnitt Installieren der Anmeldung mit Amazon Library fort.
- Start Xcode.
- Wenn Ihnen ein angezeigt wird Willkommen bei Xcode Wählen Sie im Dialogfeld Erstellen Sie ein neues Xcode-Projekt.
Ansonsten aus dem File wählen Sie Neu Und Projekt. - Wählen Sie den Projekttyp aus, den Sie erstellen möchten, und klicken Sie auf Nächste.
- Geben Sie einen Produktname und ein Firmenbezeichnung. Beachten Sie Ihre Bündelkennungund klicken Sie auf Nächste.
- Wählen Sie einen Speicherort für Ihr Projekt aus und klicken Sie auf Erstellen.
Sie haben jetzt ein neues Projekt, mit dem Sie sich bei Amazon anmelden können.
Installieren Sie die Anmeldung mit Amazon Library
Wenn Sie das Login mit Amazon SDK für iOS noch nicht heruntergeladen haben, lesen Sie Installieren Sie das Login mit Amazon SDK für iOS.
Ein Login mit Amazon-Projekt muss das verknüpfen LoginWithAmazon.framework Und Sicherheitsframework Bibliotheken. Sie müssen auch den Framework-Suchpfad konfigurieren, um die Anmeldung mit Amazon-Headern zu finden
- Wählen Sie bei geöffnetem Projekt in Xcode die Option aus Rahmenbedingungen Ordner, klicken Sie auf File aus dem Hauptmenü und wählen Sie dann Hinzufügen Files Zu "Projekt".
- Wählen Sie im Dialogfeld LoginWithAmazon.framework Und Klicken Sie auf Hinzufügen.
Wenn Sie die Bibliothek Login with Amazon 1.0 verwendet haben, löschen Sie das Verzeichnis login-with-amazon sdk und login-with-amazon-sdk.a aus dem Ordner Frameworks. Klicken Bearbeiten aus dem Hauptmenü und wählen Sie Löschen. - Wählen Sie den Namen Ihres Projekts in der Projektnavigator.
Der Projekt-Editor wird im Editorbereich des Xcode-Arbeitsbereichs angezeigt. - Klicken Sie unter auf Ihren Projektnamen Ziele, und wählen Sie Phasen erstellen. Erweitern Sie Link Binary with Libraries und klicken Sie auf das Pluszeichen, um eine Bibliothek hinzuzufügen.
- Geben Sie im Suchfeld ein Sicherheitsrahmen. Wählen Security.framework undklick Hinzufügen.
- Geben Sie im Suchfeld ein SafariServices.framework. Wählen SafariServices.framework und klicken Sie auf Hinzufügen.
- Geben Sie im Suchfeld ein CoreGraphics.framework. Wählen CoreGraphics.framework und klicken Sie auf Hinzufügen
- Wählen Build-Einstellungen. Klicken Sie auf Alle, um view alle Einstellungen.
- Unter Suchpfade, stellen Sie sicher, dass die LoginWithAmazon.framework Verzeichnis befindet sich in der Framework-Suchpfade.
Zum Beispielampauf:
Wenn Sie die Anmeldung mit Amazon 1.0-Bibliothek verwendet haben, können Sie alle Verweise auf den 1.0-Bibliothekspfad in der Bibliothek entfernen Header-Suchpfade or Bibliothekssuchpfade. - Klicken Sie im Hauptmenü auf Produkt und wählen Sie Bauen. Der Build sollte erfolgreich abgeschlossen werden.
Wenn Sie vor dem Erstellen Ihres Projekts die Bibliothek "Anmelden mit Amazon 1.0" verwendet haben, ersetzen Sie diese #import "AIMobileLib.h", #import "AIAuthenticationDelegate.h", or #Import "AIError.h" in deiner Quelle files mit #Import
.
LoginWithAmazon.h Beinhaltet alle Login mit Amazon-Headern auf einmal.
Fügen Sie Ihren API-Schlüssel zu Ihrer App-Eigenschaftsliste hinzu
Wenn Sie Ihre iOS-Anwendung bei Login bei Amazon registrieren, wird Ihnen ein API-Schlüssel zugewiesen. Dies ist eine Kennung, mit der die Amazon Mobile Library Ihre Anwendung beim Anmelden mit dem Amazon-Autorisierungsdienst identifiziert. Die Amazon Mobile Library lädt diesen Wert zur Laufzeit aus dem API-Schlüsseleigenschaftswert in der Informationseigenschaftsliste Ihrer Anwendung.
- Wählen Sie bei geöffnetem Projekt die Option aus Unterstützen Files Ordner, dann wählen Sie die -Info.plist file (Wo ist der Name Ihres Projekts). Dies sollte die Eigenschaftsliste zum Bearbeiten öffnen:
- Stellen Sie sicher, dass keiner der Einträge ausgewählt ist. Klicken Sie dann im Hauptmenü auf Editor, Und Artikel hinzufügen. Eingeben API-Schlüssel und drücke Eingeben.
- Doppelklicken Sie unter Wert Spalte, um einen Wert hinzuzufügen. Fügen Sie Ihren API-Schlüssel als Wert ein.
Fügen Sie einen URL Schema zu Ihrer App-Eigenschaftsliste
Wenn sich der Benutzer anmeldet, wird ihm eine Amazon-Anmeldeseite angezeigt. Damit Ihre App eine Bestätigung ihres Logins erhält, müssen Sie eine hinzufügen URL Schema, damit die web Seite kann zu Ihrer App zurückgeleitet werden. Die URL Schema muss deklariert werden als amzn- (zum Beispielampich, amzncom.example.app). Weitere Informationen finden Sie unter Verwenden von URL Schemata zur Kommunikation mit Apps auf developer.apple.com.
- Wählen Sie bei geöffnetem Projekt die Option aus Unterstützen Files Ordner, dann wählen Sie die -Info.plist file (Wo ist der Name Ihres Projekts). Dies sollte die Eigenschaftsliste zum Bearbeiten öffnen:
- Stellen Sie sicher, dass keiner der Einträge ausgewählt ist. Klicken Sie dann im Hauptmenü auf Editor, Und Artikel hinzufügen. Geben Sie ein oder wählen Sie URL Typen und drücke Eingeben.
- Expandieren URL Typen offenbaren Artikel 0. Wählen Artikel 0 Klicken Sie im Hauptmenü auf Editor und Element hinzufügen. Geben Sie ein oder wählen Sie URL Kennung und drücken Eingeben.
- Wählen Art. 0 unter URL Kennung und doppelklicken Sie unter der Spalte Wert, um einen Wert hinzuzufügen. Der Wert ist Ihre Bundle-ID. Sie finden Ihre Bundle-ID als Bundle-ID in der Eigenschaftsliste.
- Wählen Art. 0 unter URL Typen und klicken Sie im Hauptmenü auf Editor Und Artikel hinzufügen. Geben Sie ein oder wählen Sie URL Schemata und drücken Sie die Eingabetaste.
- Wählen Art. 0 unter URL Schemata und doppelklicken Sie unter Wert Spalte zum Hinzufügen von a Wert. Der Wert ist Ihre Bundle-ID mit amzn- vorangestellt (zum Beispielampich, amzn com.example.app). Sie finden Ihre Bundle-ID als Bundle-ID in der Eigenschaftsliste.
Fügen Sie Ihrer App eine App-Transport-Sicherheitsausnahme für Amazon hinzu
Property List
Ab iOS 9 erzwingt Apple App Transport Security (ATS) für sichere Verbindungen zwischen einer App und web Dienstleistungen. Der Endpunkt (api.amazon.com), mit dem die Anmeldung mit Amazon SDK interagiert, um Informationen auszutauschen, ist noch nicht ATS-konform. Fügen Sie eine Ausnahme für api.amazon.com hinzu, um eine nahtlose Kommunikation zwischen dem SDK und dem Amazon-Server zu ermöglichen.
- Wählen Sie bei geöffnetem Projekt die Option aus Unterstützen Files Ordner, dann wählen Sie die -Info.plist file (Wo ist der Name Ihres Projekts). Dies sollte die Eigenschaftsliste für die Bearbeitung öffnen:
- Stellen Sie sicher, dass keiner der Einträge vorhanden ist. Klicken Sie dann im Hauptmenü auf Editor, Und Artikel hinzufügen. Geben Sie ein oder wählen Sie NSAppTransportSicherheit und drücke Eingeben.
- Expandieren NSAppTransportSicherheit und klicken Sie im Hauptmenü auf Editor Und Artikel hinzufügen. Geben Sie ein oder wählen Sie NSExceptionDomains und drücke Eingeben.
- Expandieren NSExceptionDomains und klicken Sie im Hauptmenü auf Editor Und Artikel hinzufügen. Geben Sie amazon.com ein und drücken Sie Eingeben.
- Expandieren amazon.com und klicken Sie im Hauptmenü auf Editor Und Artikel hinzufügen.Eingeben NSExceptionRequiresForwardSecrecy und drücke Eingeben.
- Wählen NSExceptionRequiresForwardSecrecy und doppelklicken Sie unter Wert Spalte zum Hinzufügen eines Select a Typ of Boolescher Wert und ein Wert of NEIN.
Die Anmeldung bei Amazon bietet mehrere Standardschaltflächen, mit denen Sie Benutzer auffordern können, sich über Ihre App anzumelden. In diesem Abschnitt finden Sie Schritte zum Herunterladen eines offiziellen Login mit Amazon-Image und zum Koppeln mit einem iOS-UIButton.
- Fügen Sie Ihrer App einen Standard-UIButton hinzu.
Tutorials und Informationen zum Hinzufügen einer Schaltfläche zu einer App finden Sie unter Erstellen und Konfigurieren View Objekte Und Beginnen Sie noch heute mit der Entwicklung von iOS-Apps auf developer.apple.com. - Fügen Sie den Nach innen nachbessern Ereignis für die Schaltfläche zu einer Methode mit dem Namen onLoginButtonClicked. Lassen Sie die Implementierung vorerst leer. Das Erstellen und Konfigurieren View Objekte Und Beginnen Sie noch heute mit der Entwicklung von iOS-Apps Dokumente auf apple.com enthalten Schritte zum Hinzufügen eines Schaltflächenereignisses.
- Wählen Sie ein Schaltflächenbild.
Konsultieren Sie unseren Login bei Amazon Stilrichtlinien für eine Liste von Schaltflächen, die Sie in Ihrer App verwenden können. Laden Sie eine Kopie der LWA_for_iOS.zip file. Suchen Sie Ihre bevorzugte Schaltfläche sowohl im 1x- als auch im 2x-Verzeichnis und extrahieren Sie sie aus der Zip-Datei. Extrahieren Sie die _Pressed-Version Ihrer Schaltfläche, wenn Sie die Schaltfläche im ausgewählten Zustand anzeigen möchten. - Fügen Sie die Bilder Ihrem Projekt hinzu.
a. Klicken Sie in Xcode mit geladenem Projekt auf File aus dem Hauptmenü und wählen Sie Hinzufügen Files zu „projizieren“.
b. Wählen Sie im Dialog das Schaltflächenbild file(s), die Sie heruntergeladen und angeklickt haben Hinzufügen.
c. Die Schaltflächen sollten sich jetzt im Projekt unter Ihrem Projektverzeichnis befinden. Verschieben Sie sie in den Hintergrund FileOrdner. - Fügen Sie das Bild Ihrer Schaltfläche hinzu.
Um das Bild für Ihre Schaltfläche zu aktivieren, können Sie das Schaltflächenattribut ändern oder die verwenden setImage: forState Methode auf der UIButton Objekt. Führen Sie die folgenden Schritte aus, um das Bildattribut für Ihre Schaltfläche zu ändern:
a. Öffnen Sie das Storyboard für Ihre App.
b. Wählen Sie die Schaltfläche in Ihrem Storyboard aus, indem Sie darauf klicken oder sie aus dem auswählen View Regler Szenenbaum.
c. Im Hilfsmittel Fenster, öffne das Attributinspektor.
d. Setzen Sie oben im Attributinspektor die Schaltfläche Typ auf System.
e. Wählen Sie in der zweiten Gruppe von Einstellungen Standard für Statuskonfiguration aus.
f. Lassen Sie in der zweiten Gruppe von Einstellungen die Bildeinstellung fallen.
g. Wählen Sie die Schaltflächengrafik Anmelden mit Amazon aus, die Sie dem Projekt hinzugefügt haben. Wählen Sie nicht die 2x-Version aus: Sie wird automatisch auf Retina-Geräten (High Density Display) geladen.
h. Stellen Sie das gleiche Bild für die Hintergrundeinstellung ein.
i. Wenn Sie eine gedrückte Version der Schaltfläche angeben möchten, wählen Sie Ausgewählt für Statuskonfiguration aus und setzen Sie das Bild auf die gedrückte Version Ihrer Schaltfläche.
j. Passen Sie im Storyboard gegebenenfalls die Größe Ihrer Schaltfläche an das Bild an.
Verwenden des SDK für iOS-APIs
In diesem Abschnitt fügen Sie Ihrem Projekt Code hinzu, um einen Benutzer mit Login bei Amazon anzumelden.
Siehe folgende Themen:
- Behandeln Sie die Anmeldeschaltfläche und erhalten Sie Profile Daten
- Überprüfen Sie beim Start, ob Benutzer angemeldet sind
- Löschen Sie den Autorisierungsstatus und melden Sie einen Benutzer ab
In diesem Abschnitt wird erläutert, wie Sie die aufrufen authorizeUserForScopes: delegate: Und Werde professoinellfile:APIs um einen Benutzer anzumelden und seinen Profi abzurufenfile Daten. Dazu gehört das Erstellen eines onLoginButtonClicked: Listener für Ihren Login mit Amazon Button.
- Fügen Sie Ihrem iOS-Projekt die Anmeldung mit Amazon hinzu. Siehe Installieren der Anmeldung mit Amazon Library.
- Importieren Sie die Anmeldung mit Amazon API in Ihre Quelle file.
Fügen Sie Folgendes hinzu, um die Anmeldung mit Amazon API zu importieren #importstatements zu deiner Quelle file:#importieren - Erstellen Sie die AMZNAuthorizeUserDelegate-Klasse umsetzen
AIAuthenticationDelegate.
Wann authorizeUserForScopes: delegate: abgeschlossen ist, wird das aufgerufen AnfrageErfolgreich: or AnfrageDidFail: Methode für ein Objekt, das die implementiert AIAuthenticationDelegate Protokoll.@interface AMZNAuthorizeUserDelegate: NSObject @Ende Weitere Informationen finden Sie unter Arbeiten mit Protokollen auf developer.apple.com.
- Anruf authorizeUserForScopes: delegate: in onLoginButtonClicked.
Wenn Sie die Schritte in befolgt haben Fügen Sie Ihrer App einen Login mit Amazon Button hinzu, du solltest eine haben onLoginButtonClicked: Methode verknüpft mit einem Login mit Amazon-Button. Rufen Sie in dieser Methode auf authorizeUserForScopes: delegate: to Fordern Sie den Benutzer auf, sich anzumelden und Ihre Anwendung zu autorisieren.
Mit dieser Methode kann sich der Benutzer auf eine der folgenden Arten anmelden und den angeforderten Informationen zustimmen:
1.) Wechselt zu web view in einem sicheren Kontext (wenn die Amazon Shopping App auf dem Gerät installiert ist)
2.) Wechselt zu Safari View Controller (auf iOS 9 und höher)
3.) Wechselt zum Systembrowser (unter iOS 8 und früher)
Der sichere Kontext für die erste Option ist verfügbar, wenn die Amazon Shopping-App auf dem Gerät installiert ist. Wenn der Benutzer bereits bei der Amazon Shopping-App angemeldet ist, wird die Anmeldeseite übersprungen, was zu einem führt Einmaliges Anmelden (SSO) Erfahrung.Wenn Ihre Anwendung autorisiert ist, ist sie für einen oder mehrere Datensätze autorisiert, die als Bereiche bezeichnet werden. Der erste Parameter ist ein Array von Bereichen, die die Benutzerdaten umfassen, die Sie von Login with Amazon anfordern. Wenn sich ein Benutzer zum ersten Mal bei Ihrer App anmeldet, wird ihm eine Liste der von Ihnen angeforderten Daten angezeigt und um Genehmigung gebeten. Die Anmeldung bei Amazon unterstützt derzeit drei Bereiche: profile, welches den Namen des Benutzers, die E-Mail-Adresse und die Amazon-Konto-ID enthält; profile:Benutzeridentifikation, die nur die Amazon-Konto-ID enthält; und Postleitzahl, welches die Postleitzahl des Benutzers enthält.
Der zweite Parameter zu authorizeUserForScopes: delegate: ist ein Objekt, das das implementiert AIAuthenticationDelegate-Protokoll, in diesem Fall eine Instanz der AMZNAuthorizeUserDelegate Klasse.- (IBAction) onLogInButtonClicked: (id) sender {
// Autorisiere den Aufruf des SDK, um ein sicheres Zugriffstoken zu erhalten
// für den Benutzer.
// Während des ersten Aufrufs können Sie das Minimum Basic angeben
// Bereiche benötigt.// Beide Bereiche für den aktuellen Benutzer anfordern.
NSArray * requestScopes =
[NSArray arrayWithObjects:@“profile”, @”Postleitzahl”, Null];AMZNAuthorizeUserDelegate * delegate =
[AIMobileLib authorizeUserForScopes: requestScopes delegate: delegate];
[[AMZNAuthorizeUserDelegate alloc] initWithParentController: self];Fügen Sie dem Klassenaufruf Ihren Delegate-Implementierungsheader hinzu
AuthorizeUserForScopes:. Zum Beispielampauf:#import „AMZNAuthorizeUserDelegate.h“ - Erstellen Sie ein AMZNGetProfileDelegieren.
AMZNGetProfileDelegierte unser Name für eine Klasse, die das implementiert
AIAuthenticationDelegate-Protokoll, und wird das Ergebnis der verarbeiten Werde professoinellfile: Anruf. Mögen authorizeUserForScopes:delegieren:, getProfile: unterstützt die AnfrageErfolgreich: Und AnfrageDidFail: Protokollmethoden. AnfrageErfolgreich: erhält eine API-Ergebnis Objekt mit Profifile Daten in der Ergebniseigenschaft. AnfrageDidFail: erhält eine AIFehler Objekt mit Informationen zum Fehler in der Fehlereigenschaft.
Importieren Sie, um eine Delegatenklasse aus einer normalen Klassendeklaration zu erstellen
AIAuthenticationDelegate.hand füge das Protokoll der Deklaration in deinem Klassenheader hinzu file:#importieren @interface AMZNGetProfileDelegierter : NSObject @end - Implementieren requestDidSucceed: für dein AMZNAuthorizeUserDelegate. In AnfrageErfolgreich:, Anruf Werde professoinellfile: um das Kundenprofil abzurufenfile. Werde professoinellfile:, wie authorizeUserForScopes: delegate: verwendet das AIAuthenticationDelegate-Protokoll.
- (void) requestDidSucceed: (APIResult *) apiResult {
// Ihr Code, nachdem der Benutzer die Bewerbung für autorisiert hat
// angeforderte Bereiche.// Neu laden view Controller mit benutzeridentifizierenden Informationen
// da der Benutzer nun erfolgreich angemeldet ist.AMZNGetProfileDelegierter* Delegierter =
[[[AMZNGetProfileDelegatzuweisung] initWithParentController:parentViewController] Autorelease];
[AIMobileLib getProfile:delegieren];
}Fügen Sie dem Klassenaufruf Ihren Delegate-Implementierungsheader hinzu Werde professoinellfile:. Devisenampauf:
#import „AMZNGetProfileDelegieren.h” - Implementieren AnfrageErfolgreich: für Ihre AMZNGetProfileDelegieren.
requestDidSucceed: hat zwei Hauptaufgaben: den Profi zurückzuholenfile Daten aus der APIErgebnis, und um die Daten an die Benutzeroberfläche zu übergeben.
Um den Profi abzurufenfile Daten aus der APIErgebnis, Greifen Sie auf die Ergebniseigenschaft zu. Für ein Werde professoinellfile:Antwort, diese Eigenschaft enthält ein Wörterbuch mit Eigenschaftswerten für den Benutzer profile Eigenschaften. Der Profifile Eigenschaften sind Name, E-Mail, Und user_id für den Profifile Umfang und
Postleitzahl für die Postleitzahl Umfang.- (void) requestDidSucceed: (APIResult *) apiResult {
// Werde professoinellfile Anfrage war erfolgreich. Packen Sie den Profi ausfile Information
// und übergebe es an die Eltern view ReglerNSString * 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”];// Daten weitergeben an view Regler
} - Implementieren AnfrageDidFail: für Ihre AMZNGetProfileDelegieren.
AnfrageDidFail: beinhaltet eine API-Fehler Objekt mit Details zum Fehler. showLogInPageist eine hypothetische Methode, die den Main zurücksetzen würde view Controller, um die Schaltfläche Login with Amazon anzuzeigen.- (void) requestDidFail: (APIError *) errorResponse {
// Werde professoinellfile Anfrage für Profi fehlgeschlagenfile Umfang.
// Wenn Fehlercode = kAIApplicationNotAuthorized,
// Benutzer kann sich erneut anmelden.
if (errorResponse.error.code == kAIApplicationNotAuthorized) {
// Autorisierungsschaltfläche anzeigen.
[ElternteilViewController showLogInPage];
}
anders {
// Behandle andere Fehler
[[[[UIAlertView alloc] initWithTitle:@”” Nachricht:[NSString
stringWithFormat: @ ”Fehler mit Meldung:% @”,
errorResponse.error.message] delegate: nil
cancelButtonTitle: @ ”OK” otherButtonTitles: nil] autorelease] show];
}
} - Implementieren requestDidFail: für dein AMZNAuthorizeUserDelegate.
- (void) requestDidFail: (APIError *) errorResponse {
NSString * message = errorResponse.error.message;
// Ihr Code, wenn die Autorisierung fehlschlägt. [[[[UIAlertView alloc] initWithTitle:@”” Nachricht:[NSString
stringWithFormat: @ ”Benutzerautorisierung fehlgeschlagen mit Nachricht:% @”, errorResponse.error.message] delegate: nil
cancelButtonTitle: @ ”OK” otherButtonTitles: nil] autorelease] show];
}10. Implementieren Anwendung: offenURL: sourceApplication: annotation: in der Klasse in Ihrem Projekt, die das behandelt UIAAnwendungDelegierter Protokoll (standardmäßig ist dies das AppDelegate-Klasse in Ihrem Projekt). Wenn die App die Amazon-Anmeldeseite anzeigt und der Benutzer die Anmeldung abschließt, wird sie über die App zur App umgeleitet URL Schema der zuvor registrierten App. Diese Weiterleitung wird an weitergeleitet Anwendung: offenURL: sourceApplication: annotation:, was zurückkehrt JA wenn das URL wurde erfolgreich gehandhabt. GriffÖffnenURL: sourceApplication: ist eine SDK-Bibliotheksfunktion, die die Anmeldung mit Amazon Redirect übernimmt URLs für dich. Wenn GriffÖffnenURL: sourceApplication: gibt YES zurück, dann die URL wurde behandelt.
- (BOOL) -Anwendung: (UIApplication *) -Anwendung
offenURL: (NSURL *)url
sourceApplication: (NSString *) sourceApplication
Anmerkung: (id) Anmerkung
{
// Gib die weiter url an das SDK, um den Autorisierungscode // aus dem zu analysieren url.
BOOL istValidRedirectSignInURL =
[AIMobileLib handleOpenURL:url
sourceAppli kation: sauer ceApplicati on);
if (! isValidRedirect Si gnlnURL)
zurück NEIN;
// Die App möchte möglicherweise auch mit e umgehen url JA zurückgeben;
}NOTIZ: Diese Methode ist in iOS 9 veraltet, sollte jedoch in Ihr Projekt aufgenommen werden, um die Unterstützung für Benutzer auf älteren Plattformen aufrechtzuerhalten. Weitere Informationen zu Anwendung: offenURL: sourceApplication: annotation:, sehen UIApplicationDelegate-Protokollreferenz auf developer.apple.com.
Überprüfen Sie beim Start, ob Benutzer angemeldet sind
Wenn sich ein Benutzer bei Ihrer App anmeldet, die App schließt und die App später neu startet, ist die App weiterhin berechtigt, Daten abzurufen. Der Benutzer wird nicht automatisch abgemeldet. Beim Start können Sie den Benutzer als angemeldet anzeigen, wenn Ihre App noch autorisiert ist. In diesem Abschnitt wird die Verwendung erläutert
getAccessTokenForScopes: withOverrideParams: delegate: um zu sehen, ob die App noch autorisiert ist.
- Erstellen Sie ein AMZNGetAccessTokenDelegate Klasse. AMZNGetAccessTokenDelegateimplementiert Die AIAuthenticationDelegate Protokoll und verarbeitet das Ergebnis des
getAccessTokenForScopes: withOverrideParams: delegate: Anruf. AIAuthenticationDelegate enthält zwei Methoden, AnfrageErfolgreich: Und AnfrageDidFail:. AnfrageErfolgreich: erhält eine API-Ergebnis Objekt mit Token-Daten, während AnfrageDidFail: erhält eine API-Fehler Objekt mit Informationen zum Fehler.#importieren @interface AMZNGetAccessTokenDelegate: NSObject
@Ende
Fügen Sie dem Klassenaufruf Ihren Delegate-Implementierungsheader hinzu
getAccessTokenForScopes: withOverrideParams: delegate:. Devisenampauf:#import „AMZNGetAccessTokenDelegate.h“ - Rufen Sie beim Start der App an
getAccessTokenForScopes: withOverrideParams: delegate: um zu sehen, ob die Anwendung noch autorisiert ist. getAccessTokenForScopes: withOverrideParams: delegate: ruft das unformatierte Zugriffstoken ab, das Login with Amazon verwendet, um auf ein Kundenprofil zuzugreifenfile. Wenn die Methode erfolgreich ist, ist die App noch autorisiert und ein Aufruf an Werde professoinellfile: sollte gelingen. getAccessTokenForScopes: withOverrideParams: delegate: verwendet die AIAuthenticationDelegate Protokoll auf die gleiche Weise wie authorizeUserForScopes: delegate:. Übergeben Sie das Objekt, das das Protokoll implementiert, als Delegatenparameter.- (void) checkIsUserSignedIn {
AMZNGetAccessTokenDelegate * delegate =
[[[AMZNGetAccessTokenDelegate alloc] initWithParentController:self] autorelease];
NSArray * requestScopes =
[NSArray arrayWithObjects:@“profile”, @”Postleitzahl”, Null]; [AIMobileLib getAccessTokenForScopes:requestScopes withOverrideParams:nil Delegate:delegate];
} - Implementieren AnfrageErfolgreich: auf Ihrem AMZNGetAccessTokenDelegate. AnfrageErfolgreich: hat eine Aufgabe: anzurufen Werde professoinellfile:. Dieses Exampich rufe an Werde professoinellfile: Verwenden Sie denselben Listener, den Sie im vorherigen Abschnitt deklariert haben (siehe Schritte 6-8).
#import „AMZNGetProfileDelegieren.h”
#importieren- (void) requestDidSucceed: (APIResult *) apiResult {
// Ihr Code zur Verwendung des Zugriffstokens finden Sie hier.// Da die Anwendung über eine Berechtigung für unsere Bereiche verfügt, können wir dies tun
[AIMobileLib getProfile:delegieren];
// Holen Sie sich den Benutzer-Profile.
AMZNGetProfileDelegierter* Delegierter = [[[AMZNGetProfileZuweisung delegieren] initWithParentController:parentViewController] Autorelease];
} - Implementieren AnfrageDidFail: auf Ihrem AMZNGetAccessTokenDelegate.
AnfrageDidFail: beinhaltet eine API-Fehler Objekt mit Details zum Fehler. Wenn Sie einen Fehler erhalten, können Sie die Haupt- view Controller, um die Schaltfläche Login with Amazon anzuzeigen.- (void) requestDidFail: (APIError *) errorResponse {
// Ihr Code für das fehlgeschlagene Abrufen des Zugriffstokens.
// Wenn Fehlercode = kAIApplicationNotAuthorized, Benutzer zulassen
// um sich erneut anzumelden.
if (errorResponse.error.code == kAIApplicationNotAuthorized) {
// Login mit Amazon-Schaltfläche anzeigen.
}
anders {
// Behandle andere Fehler
[[[[UIAlertView alloc] initWithTitle:@”” Nachricht:[NSString
stringWithFormat: @ ”Fehler aufgetreten mit Nachricht:% @”, errorResponse.error.message] delegate: nil
cancelButtonTitle:@“OK“ otherButtonTitles:nil] autorelease] show];
}
}
Der clearAuthorizationState: Methode löscht die Autorisierungsdaten des Benutzers aus dem AIMobileLib lokaler Datenspeicher. Ein Benutzer muss sich erneut anmelden, damit die App profile Daten. Verwenden Sie diese Methode, um einen Benutzer abzumelden oder um Anmeldeprobleme in der App zu beheben.
- Deklarieren Sie eine AMZNLogoutDelegierter. Dies ist eine Klasse, die das implementiert
AIAuthenticationDelegate-Protokoll. Für unsere Zwecke können wir die Klasse von erben NSObjekt:
#importieren @interface AMZNLogoutDelegate NSObject
@Ende
Fügen Sie dem Klassenaufruf Ihren Delegate-Implementierungsheader hinzu clearAuthorizationState:. Zum Beispielampauf:
#import "AMZNLogoutDelegate.h" - Anruf clearAuthorizationState:.
Wenn sich ein Benutzer erfolgreich angemeldet hat, können Sie einen Abmeldemechanismus bereitstellen, damit er seine Autorisierungsdaten löschen kann. Ihr Mechanismus kann ein Hyperlink oder ein Menüpunkt sein, aber für dieses Szenario ist die exampIch werde a . erstellen LogoutButtonClicked-Methode für eine Abmeldeschaltfläche.- (IBAction) logoutButtonClicked: (id) sender {
AMZNLogoutDelegate* delegate = [[[AMZNLogoutDelegate alloc] initWithParentController:self] autorelease]; [AIMobileLib clearAuthorizationState:delegate];
}Der einzige Parameter zu clearAuthorizationState ist ein AIAuthenticationDelegate das implementiert AnfrageErfolgreich: Und AnfrageDidFail:.
- Implementieren requestDidSucceed:. Diese Methode wird aufgerufen, wenn die Benutzerinformationen gelöscht werden. Sie sollten sie dann als abgemeldet anzeigen.
- (void) requestDidSucceed: (APIResult *) apiResult {
// Ihre zusätzliche Logik nach der Benutzerautorisierung
// Zustand wird gelöscht.
[[[UIAlertView alloc] initWithTitle:@”” message:@”Benutzer abgemeldet.”
Delegate:nil cancelButtonTitle:@“OK“ otherButtonTitles:nil] show];
} - Implementieren AnfrageDidFail:. Diese Methode wird aufgerufen, wenn die Benutzerinformationen aus irgendeinem Grund nicht aus dem Cache gelöscht werden können. In diesem Fall sollten Sie sie nicht als abgemeldet anzeigen.
- (void) requestDidFail: (APIError *) errorResponse {
// Ihre zusätzliche Logik nach dem SDK konnte nicht gelöscht werden
// der Autorisierungsstatus. [[[[UIAlertView alloc] initWithTitle:@”” Nachricht:[NSString
stringWithFormat: @ ”Benutzerabmeldung fehlgeschlagen mit Meldung:% @”,
errorResponse.error.message] delegate: nil
cancelButtonTitle:@“OK“ otherButtonTitles:nil] autorelease] show];
}
Testen Sie Ihre Integration
Starten Sie Ihre App auf einem iOS-Gerät oder Simulator und bestätigen Sie, dass Sie sich mit Ihren Amazon.com-Anmeldeinformationen anmelden können.
Notiz: Beim Testen auf iOS10-Simulatoren wird möglicherweise die Fehlermeldung APIKey für die Anwendung für eine authorizeUserForScopes-Anforderung oder der unbekannte Fehlercode für eine clearAuthorizationState-Anforderung ungültig. Das ist ein bekannter Fehler mit Apple Dies tritt auf, wenn das SDK versucht, auf den Schlüsselbund zuzugreifen. Bis Apple den Fehler behoben hat, können Sie ihn umgehen, indem Sie die Schlüsselbundfreigabe für Ihre App auf der Registerkarte "Funktionen" des Ziels Ihrer App aktivieren. Dieser Fehler betrifft nur Simulatoren. Sie können auf tatsächlichen iOS10-Geräten testen, ohne eine Problemumgehung zu verwenden.
Anmelden mit Amazon Erste Schritte Handbuch für iOS Version 2.1.2 - Herunterladen [optimiert]
Anmelden mit Amazon Erste Schritte Handbuch für iOS Version 2.1.2 - Herunterladen