Zaloguj się za pomocą przewodnika wprowadzającego do Amazon dla systemu Android
Zaloguj się z Amazon: przewodnik wprowadzający dla systemu Android
Copyright © 2016 Amazon.com, Inc. lub podmioty stowarzyszone. Wszelkie prawa zastrzeżone. Amazon i logo Amazon są znakami towarowymi firmy Amazon.com, Inc. lub jej podmiotów zależnych. Wszystkie inne znaki towarowe niebędące własnością Amazon są własnością ich odpowiednich właścicieli.
Pierwsze kroki dla Androida
W tym przewodniku pokażemy, jak dodać opcję Zaloguj się przez Amazon do aplikacji na Androida. Po ukończeniu tego przewodnika powinieneś mieć działający przycisk Zaloguj się przez Amazon w swojej aplikacji, aby umożliwić użytkownikom logowanie się przy użyciu danych uwierzytelniających Amazon.
Instalowanie Narzędzi dla programistów Androida
Logowanie z Amazon SDK dla Androida pomoże Ci dodać Logowanie z Amazon do Twojej aplikacji na Androida. Zalecamy korzystanie z narzędzia Logowanie za pomocą pakietu Amazon SDK dla systemu Android ze strony developer.amazon.com z Android Studio. Możesz jednak także użyć Eclipse z wtyczką ADT. Instrukcje dotyczące instalowania Android Studio i konfigurowania zestawu SDK systemu Android można znaleźć w artykule Pobierz Android SDK na developer.android.com.
Po zainstalowaniu zestawu SDK systemu Android znajdź plik Menedżer SDK aplikacji w instalacji Androida. Aby programować dla Login with Amazon, musisz użyć Menedżera SDK, aby zainstalować platformę SDK dla Androida 2.2 lub nowszego (wersja API 8). Widzieć Dodawanie pakietów SDK na stronie developer.android.com, aby uzyskać więcej informacji na temat korzystania z pakietu SDK
Po zainstalowaniu zestawu SDK skonfiguruj urządzenie wirtualne z systemem Android (AVD) do uruchamiania aplikacji. Widzieć Zarządzający Urządzenia wirtualne na developer.android.com znajdziesz instrukcje dotyczące konfigurowania urządzenia wirtualnego.
Po skonfigurowaniu środowiska programistycznego możesz Zainstaluj login z Amazon SDK dla Androida or Uruchom Sampaplikacja, Jak opisano poniżej.
Zainstaluj login z Amazon SDK dla Androida
Logowanie za pomocą Amazon SDK dla Androida jest dostępne w dwóch pakietach. Pierwsza zawiera bibliotekę Androida i dokumentację pomocniczą. Drugi zawiera asample, która pozwala użytkownikowi zalogować się i wyświetlić jego profesjonalistęfile dane.
Jeśli nie masz jeszcze zainstalowanego zestawu SDK systemu Android lub narzędzi programistycznych systemu Android, zobacz Instalowanie Android Developer Tools sekcja powyżej.
- Pobierać zamek błyskawiczny i wyodrębnij filedo katalogu na dysku twardym.
Powinieneś zobaczyć dokument i biblioteka podkatalog. - Otwarte doc/index.html Do view Zaloguj się za pomocą interfejsu API Amazon Android
- Widzieć Zainstaluj login z biblioteką Amazon, aby uzyskać instrukcje, jak dodać bibliotekę i dokumentację do systemu Android
Po zainstalowaniu Login with Amazon SDK dla Androida możesz Utwórz nowy login z Amazon Projekt, Po Rejestracja za pomocą Login with Amazon .
Uruchom Sampaplikacja
Aby uruchomić sample aplikacji, zaimportuj sample do obszaru roboczego AndroidStudio (jeśli używasz Eclipse, musisz także dodać do obszaru roboczego niestandardowy magazyn kluczy debugowania. Zobacz Dodaj debugowanie niestandardowe Magazyn kluczy w Eclipse sekcja poniżej). Klucz API, którego używa sampPlik, z którego korzysta aplikacja, wymaga, aby obszar roboczy korzystał z magazynu kluczy dostarczanego z plikiem sample. Jeśli niestandardowy magazyn kluczy nie jest zainstalowany, użytkownicy nie będą mogli zalogować się przy użyciu adresu sample. Magazyn kluczy zostanie pobrany automatycznie, jeśli korzystasz z AndroidStudio.
- Pobierać SampleLoginWithAmazonAppForAndroid-src.zip i wyodrębnij files do katalogu na twoim twardym
- Uruchom Android Studio i wybierz Otwórz istniejący projekt Android Studio
- Przejdź do SampleZaloguj się za pomocąAmazonApp katalog uzyskany po rozpakowaniu pobranego zip file w takt
- Z Zbudować menu, kliknij Utwórz projekti poczekaj, aż projekt to zrobi
- Z Uruchomić menu, kliknij Uruchomić a następnie kliknij SampleZaloguj się za pomocąAmazonApp.
- Wybierz emulator lub podłączone urządzenie z systemem Android i kliknij Uruchomić.
Dodaj magazyn niestandardowych kluczy debugowania w środowisku Eclipse
Jeśli używasz Eclipse, postępuj zgodnie z poniższymi instrukcjami, aby dodać niestandardowy magazyn kluczy debugowania:
- W Preferencje dialog, wybierz Android I Zbudować.
- Obok Zwyczaj Debuguj magazyn kluczy, kliknij Przeglądać.
- Przejdź do sample aplikacji i wybierz Magazyn kluczy 3p, a następnie kliknij OK.
Rejestracja za pomocą Login with Amazon
Zanim zaczniesz korzystać z funkcji Zaloguj się za pomocą Amazon na webw witrynie lub w aplikacji mobilnej, musisz zarejestrować aplikację za pomocą Login with Amazon. Twoja aplikacja Login with Amazon to rejestracja zawierająca podstawowe informacje o Twojej firmie oraz informacje o każdym webwitryna lub aplikacja mobilna, którą tworzysz, która obsługuje Login with Amazon. Te informacje biznesowe są wyświetlane użytkownikom za każdym razem, gdy używają Login with Amazon na Twoim webwitryna lub aplikacja mobilna. Użytkownicy zobaczą nazwę Twojej aplikacji, Twoje logo i link do Twojej polityki prywatności. Poniższe kroki pokazują, jak zarejestrować aplikację Login with Amazon i dodać aplikację na Androida do tego konta.
Zobacz następujące tematy:
- Zarejestruj swój login w aplikacji Amazon
- Zarejestruj swoją aplikację na Androida
- Dodaj aplikację na Androida do sklepu Amazon Appstore
- Dodaj aplikację na Androida bez Appstore
- Podpisy aplikacji na Androida i klucze API
- Określanie podpisu aplikacji na Androida
- Pobieranie klucza API systemu Android
Zarejestruj swój login w aplikacji Amazon
- Idź do https://login.amazon.com.
- Jeśli wcześniej zarejestrowałeś się w celu logowania się do Amazon, kliknij Konsola aplikacji. W przeciwnym wypadku kliknij Zapisać się. Nastąpi przekierowanie do Centrum Sprzedawcy, które obsługuje rejestrację aplikacji do logowania za pomocą. Jeśli po raz pierwszy korzystasz z Centrum Sprzedawcy, zostaniesz poproszony o skonfigurowanie konta Centrum Sprzedawcy.
- Trzask Zarejestruj nową aplikację. Ten Zarejestruj swoją aplikację pojawi się formularz:
a. W Zarejestruj swoją aplikację formularz, wprowadź Nazwa i Opis dla Twojej aplikacji.
Ten Nazwa to nazwa wyświetlana na ekranie zgody, gdy użytkownicy zgadzają się na udostępnianie informacji Twojej aplikacji. Ta nazwa dotyczy systemów Android, iOS i webwersje witryny Twojej aplikacji.
b. Wprowadź Polityka prywatności URL dla Twojej aplikacji
Ten Polityka prywatności URL to lokalizacja polityki prywatności Twojej firmy lub aplikacji (npampLe, http://www.example.com/privacy.html). Ten link jest wyświetlany użytkownikom na ekranie zgody.
c. Jeśli chcesz dodać Obraz logo w celu uzyskania dostępu do aplikacji kliknij Przeglądać i znajdź odpowiedni obraz.
To logo jest wyświetlane na ekranie logowania i wyrażania zgody, aby reprezentować Twoją firmę lub webstrona. Wysokość logo zostanie zmniejszona do 50 pikseli, jeśli jest większa niż 50 pikseli; nie ma ograniczeń co do szerokości logo - Trzask Ratować. TwójampRejestracja powinna wyglądać mniej więcej tak:
Po zapisaniu podstawowych ustawień aplikacji możesz dodać ustawienia dla konkretnych aplikacji webwitryny i aplikacje mobilne, które będą używać tego loginu z kontem Amazon.
Zarejestruj swoją aplikację na Androida
Aby zarejestrować aplikację na Androida, możesz zarejestrować aplikację w sklepie Amazon Appstore (Dodaj aplikację na Androida do sklepu Amazon Appstore, P. 8) lub bezpośrednio poprzez Login with Amazon (Dodaj Androida Aplikacja bez Appstore, P. 9). Po zarejestrowaniu Twojej aplikacji będziesz mieć dostęp do klucza API, który umożliwi Twojej aplikacji dostęp do usługi autoryzacji Logowanie za pomocą Amazon.
Notatka: Jeśli planujesz używać Amazon Device Messaging w swojej aplikacji na Androida, skontaktuj się z lwa- wsparcie@amazon.com z:
- Adres e-mail konta Amazon, którego użyłeś do rejestracji w Login with Amazon.
- Adres e-mail konta Amazon użytego do rejestracji w sklepie Amazon Appstore (jeśli jest inny).
- Imię i nazwisko na Twoim koncie Seller Central. (W Seller Central kliknij Ustawienia> Informacje o koncie> Informacje o sprzedającymi użyj Wyświetlana nazwa).
- Imię i nazwisko na Twoim koncie programisty Amazon Appstore. (W witrynie dystrybucji aplikacji mobilnych kliknij Ustawienia > Firma Zawodowiecfile i użyj Nazwa programisty lub nazwa firmy).
Dodaj aplikację na Androida do sklepu Amazon Appstore
Poniższe kroki dodadzą aplikację Amazon Appstore do Twojego logowania za pomocą konta Amazon:
- Na ekranie aplikacji kliknij Ustawienia Androida. Jeśli masz już zarejestrowaną aplikację na Androida, poszukaj Dodaj klucz API przycisk w Ustawienia Androida
Ten Szczegóły aplikacji na Androida pojawi się formularz: - Wybierać Tak w odpowiedzi na pytanie „Czy ta aplikacja jest rozpowszechniana w sklepie Amazon Appstore?”
- Wprowadź Etykieta Twojej aplikacji na Androida. Nie musi to być oficjalna nazwa Twojej aplikacji. Po prostu identyfikuje tę konkretną aplikację na Androida wśród aplikacji i webwitryny zarejestrowane w Twoim Login za pomocą aplikacji Amazon.
- Dodaj swoje Identyfikator sklepu z aplikacjami Amazon.
- Jeśli aplikacja została podpisana samodzielnie, dodaj informacje dotyczące samopodpisu. Umożliwi to uzyskanie klucza API podczas programowania bez bezpośredniego korzystania z Appstore:
a. Jeśli Twoja aplikacja nie jest podpisana za pośrednictwem Amazon Appstore, wybierz opcję Tak w odpowiedzi na pytanie „Czy ta aplikacja jest podpisana samodzielnie?”
Ten Szczegóły aplikacji na Androida formularz rozwinie się:
b. Wprowadź swój Nazwa pakietu.
Musi być zgodna z nazwą pakietu Twojego projektu na Androida. Aby określić nazwę pakietu swojego projektu na Androida, otwórz projekt w wybranym narzędziu dla programistów Androida.
Otwarte AndroidManifest.XML w Eksploratorze pakietów i wybierz plik Oczywisty patka. Pierwszy wpis to nazwa pakietu.
c. Wejdź do aplikacji Podpis.
Jest to wartość skrótu SHA-256 używana do weryfikacji aplikacji. Podpis musi mieć postać 32 par szesnastkowych oddzielonych dwukropkami (npampna: 01:23:45:67:89:ab:cd:ef:01:23:45:67:89:ab:cd:ef:01:23:45:67:89:ab:cd:ef:01: 3:45:67:89:a b:cd:ef). Widzieć Podpisy aplikacji na Androida i klucze API opis czynności, których możesz użyć do wyodrębnienia podpisu z projektu. - Trzask Ratować.
Jeśli różne wersje Twojej aplikacji mają różne podpisy lub nazwy pakietów, na przykład co najmniej jedną wersję testową i wersję produkcyjną, każda wersja wymaga własnego klucza API. Z Ustawienia Androida swojej aplikacji, kliknij Dodaj klucz API przycisk, aby utworzyć dodatkowe klucze dla swojej aplikacji (po jednym na wersję).
Podpisy aplikacji na Androida i klucze API
Podpis aplikacji to wartość skrótu SHA-256, która jest stosowana do każdej aplikacji na Androida podczas jej tworzenia. Amazon używa podpisu aplikacji do tworzenia Twojego klucza API. Klucz API umożliwia usługom Amazon rozpoznanie Twojej aplikacji. Jeśli korzystasz ze sklepu Amazon Appstore do podpisywania aplikacji, klucz API jest dostarczany automatycznie. Jeśli nie korzystasz ze sklepu Amazon Appstore, będziesz musiał ręcznie zarządzać swoim kluczem API.
Podpisy aplikacji są przechowywane w magazynie kluczy. Ogólnie rzecz biorąc, w przypadku aplikacji na Androida istnieje magazyn kluczy debugowania i magazyn kluczy wersji. Magazyn kluczy debugowania jest tworzony przez wtyczkę Android Development Tools dla Eclipse i jest używany domyślnie. Możesz znaleźć lokalizację magazynu kluczy debugowania w Eclipse, klikając Okno, a następnie wybierając Preferencje > Android > Kompiluj. Na tym ekranie możesz także dodać własny magazyn kluczy debugowania. W przypadku Android Studio z pliku Zbudować menu, wybierz Edytuj typy kompilacji, następnie przejdź do Podpisywanie tab i zlokalizuj magazyn kluczy debugowania w Sklep File pole.
Magazyn kluczy wersji jest zwykle tworzony podczas eksportowania aplikacji na Androida w celu utworzenia podpisanego pliku APK file.
Jeśli tworzysz magazyn kluczy nowej wersji, podczas procesu eksportu wybierzesz jego lokalizację. Przez
default zostanie umieszczony w tej samej lokalizacji, co domyślny magazyn kluczy debugowania.
Jeśli zarejestrowałeś swoją aplikację przy użyciu sygnatury debugowania podczas opracowywania, będziesz musiał dodać nowe ustawienie Androida do swojej aplikacji, gdy będziesz gotowy do wydania aplikacji. Nowe ustawienie aplikacji musi używać podpisu z magazynu kluczy wydania.
Widzieć Podpisywanie wniosków na developer.android.com, aby uzyskać więcej informacji.
Określ podpis aplikacji na Androida
- Jeśli masz podpisany pakiet APK file:
a. Rozpakuj plik APK file i ekstrakt CERT.RSA. (W razie potrzeby możesz zmienić nazwę rozszerzenia APK na ZIP).
b. Z wiersza poleceń uruchom:narzędzie kluczy -printcert -file CERT.RSA Keytoolis znajduje się w kosz katalogu instalacji Java.
- Jeśli masz magazyn kluczy file:
a. Z wiersza poleceń uruchom:keytool -list -v -alias - magazyn kluczyfilenazwa> Narzędzie kluczowe znajduje się w katalogu bin instalacji Java. Alias to nazwa klucza używanego do podpisywania aplikacji.
b. Wprowadź hasło do klucza i naciśnij Wchodzić. - Pod Odciski palców certyfikatu, skopiuj SHA256 wartość.
Pobierz klucz interfejsu API systemu Android
Po zarejestrowaniu ustawienia Androida i podaniu podpisu aplikacji, możesz pobrać klucz API ze strony rejestracji dla aplikacji Login with Amazon. Musisz umieścić ten klucz API w file w swoim projekcie na Androida. Dopóki tego nie zrobisz, aplikacja nie będzie uprawniona do komunikowania się z usługą autoryzacji Login with Amazon.
- Idź do https://login.amazon.com.
- Trzask Konsola aplikacji.
- W Aplikacje po lewej stronie, wybierz swój plik
- Znajdź swoją aplikację na Androida pod Ustawienia Androida (Jeśli nie zarejestrowałeś jeszcze aplikacji na Androida, zobacz Dodaj aplikację na Androida do sklepu Amazon Appstore).
- Trzask Wygeneruj wartość klucza API. Wyskakujące okienko wyświetli Twój klucz API. Aby skopiować klucz, kliknij Zaznacz wszystko aby wybrać całość
Notatka: Wartość klucza API jest częściowo oparta na czasie jego wygenerowania. Dlatego kolejne wygenerowane wartości klucza API mogą różnić się od oryginału. Możesz użyć dowolnych z tych wartości kluczy API w swojej aplikacji, ponieważ wszystkie są prawidłowe. - Widzieć Dodaj swój klucz API do swojego projektu aby uzyskać instrukcje dotyczące dodawania klucza API do systemu Android
Tworzenie loginu w Amazon Project
W tej sekcji dowiesz się, jak utworzyć nowy projekt Android do logowania z Amazon, skonfigurować projekt i dodać kod do projektu, aby zalogować użytkownika za pomocą opcji Zaloguj się z Amazon. Będziemy opisywać kroki dla Android Studio, ale możesz zastosować analogiczne kroki do dowolnego wybranego narzędzia programistycznego IDE lub Android.
Zobacz następujące tematy:
- Utwórz nowy login w Amazon Project
- Zainstaluj Login with Amazon Library
- Włącz Asystenta treści podczas logowania za pomocą biblioteki Amazon
- Ustaw uprawnienia sieciowe dla swojej aplikacji
- Dodaj swój klucz API do swojego projektu
- Usuń Sample Magazyn kluczy niestandardowego debugowania aplikacji
- Obsługuj zmiany konfiguracji dla swojej aktywności
- Dodaj działanie autoryzacyjne do swojego projektu
- Dodaj login za pomocą przycisku Amazon do swojej aplikacji
- Obsługuj przycisk logowania i uzyskaj Profile Dane
- Sprawdź login użytkownika podczas uruchamiania
- Wyczyść stan autoryzacji i wyloguj użytkownika
- Wywołuj metody Menedżera autoryzacji Amazon synchronicznie
Utwórz nowy login w Amazon Project
Jeśli nie masz jeszcze projektu aplikacji do korzystania z funkcji Login with Amazon, postępuj zgodnie z poniższymi instrukcjami, aby go utworzyć. Jeśli masz już aplikację, przejdź do Zainstaluj Login with Amazon Library .
- Początek Narzędzie programistyczne dla Androida.
- Z File menu, wybierz Nowy I Projekt.
- Wpisz Nazwa aplikacji I Nazwa firmy dla twojego
- Wprowadź Aplikacja i nazwa firmy odpowiadający nazwie pakietu, którą wybrałeś podczas rejestracji aplikacji w usłudze Login with Amazon.
Jeśli jeszcze nie zarejestrowałeś swojej aplikacji, wybierz plik Nazwa pakietu a następnie postępuj zgodnie z instrukcjami w Rejestracja za pomocą Login with Amazon sekcję po utworzeniu projektu. Jeśli nazwa pakietu Twojej aplikacji nie jest zgodna z zarejestrowaną nazwą pakietu, wywołania związane z logowaniem za pomocą Amazon nie powiodą się. - Wybierz Minimalny wymagany zestaw SDK API 8: Android 2 (Froyo) lub nowszy i kliknij Następny.
- Wybierz rodzaj działania, które chcesz utworzyć, i kliknij Następny.
- Wypełnij odpowiednie dane i kliknij Skończyć.
Będziesz mieć teraz nowy projekt w swoim obszarze roboczym, którego możesz użyć do wywołania logowania z Amazon.
Zainstaluj Login with Amazon Library
Jeśli jeszcze nie pobrałeś Login with Amazon SDK dla Androida, zobacz Zainstaluj Login za pomocą Amazon SDK dla Androida (str. 4).
- Gdy projekt jest otwarty w Narzędziach dla programistów Androida, w Eksplorator Projektów, kliknij prawym przyciskiem myszy swój Projekt.
- Jeśli folder o nazwie biblioteki nie jest już obecny, utwórz
- Kopiuj logowanie-z-amazon-sdk.jar file z File System, a następnie wklej go w pliku biblioteki katalog pod twoim projektem/aplikacją.
- Kliknij prawym przyciskiem myszy logowanie-z-amazon-sdk.jari sprawdź Dodaj jako bibliotekę
Włącz asystenta treści dla logowania za pomocą biblioteki Amazon w Eclipse
Aby włączyć obsługę wspomagania treści Eclipse w projekcie Androida, wymagane jest użycie pliku .właściwości file. Aby uzyskać więcej informacji na temat wspomagania treści, zobacz Asystent treści/kodu nahelp.eclipse.org.
Aby włączyć obsługę wspomagania treści Eclipse w projekcie Androida, wymagane jest użycie pliku .właściwości file. Aby uzyskać więcej informacji na temat wspomagania treści, zobacz Asystent treści/kodu nahelp.eclipse.org.
- In Eksplorator Windows, przejdź do dokumenty folder dla Login with Amazon SDK dla Androida i skopiuj folder do
- Po otwarciu projektu przejdź do Eksplorator pakietów i wybierz biblioteki Trzask Redagować z menu głównego i wybierz Pasta. Powinieneś teraz mieć biblioteki\docs informator.
- Wybierz biblioteki Trzask File z menu głównego i wybierz Nowy IFile.
- W Nowy File dialog, wprowadź login-with-amazon-sdk.jar.properties i kliknij Skończyć.
- Eclipse powinien się otworzyć login-with-amazon-sdk.jar.properties w edytorze tekstu. W edytorze tekstu dodaj następujący wiersz do pliku file:
dokument=dokumenty - Z File menu, kliknij Ratować.
- Aby zmiany zaczęły obowiązywać, może być konieczne ponowne uruchomienie Eclipse
Ustaw uprawnienia sieciowe dla swojej aplikacji
Aby Twoja aplikacja korzystała z funkcji Zaloguj się z Amazon, musi mieć dostęp do Internetu i mieć dostęp do informacji o stanie sieci. Twoja aplikacja musi potwierdzić te uprawnienia w manifeście Androida, jeśli jeszcze tego nie zrobiono.
NOTATKA: Poniższe kroki procedury dotyczą wyłącznie dodawania uprawnień w środowisku Eclipse. Jeśli używasz Android Studio lub innego IDE, możesz pominąć wszystkie ponumerowane kroki poniżej. Zamiast tego skopiuj linie kodu wyświetlone poniżej zrzutu ekranu i wklej je do pliku Plik AndroidManifest.xml file, poza blokiem aplikacji.
- In Pakiet Odkrywca, kliknij dwukrotnie xml.
- Na Uprawnienia zakładka, kliknij Dodać.
- Wybierać Używa pozwolenia i kliknij OK.
- Na prawo od Uprawnienia, znajdź Atrybuty dla pozwolenia na użytkowanie
- W Nazwa pole, wprowadź pozwolenie. INTERNET lub wybierz go z listy rozwijanej.
- Na Uprawnienia zakładka, kliknij Dodać
- Wybierać Używa pozwolenia i kliknij OK.
- W Nazwa pole, wprowadź pozwolenie.ACCESS_NETWORK_STATE lub wybierz go z listy rozwijanej
- Z File menu, kliknij Ratować.
Twoje uprawnienia do manifestu powinny teraz mieć następujące wartości:
W Plik AndroidManifest.xml tab, powinieneś teraz zobaczyć te wpisy pod elementem manifestu:
Dodaj swój klucz API do swojego projektu
Kiedy rejestrujesz swoją aplikację na Androida za pomocą Login with Amazon, przypisywany jest Ci klucz API. Jest to identyfikator, którego Amazon Authorization Manager będzie używał do identyfikacji Twojej aplikacji w usłudze autoryzacji Login with Amazon. Jeśli używasz Amazon Appstore do podpisywania aplikacji, Appstore automatycznie dostarczy klucz API. Jeśli nie korzystasz ze sklepu Amazon Appstore, Amazon Authorization Manager ładuje tę wartość w czasie wykonywania z pliku api_key.txt file w aktywa informator.
- Jeśli nie masz jeszcze swojego klucza API, postępuj zgodnie z instrukcjami w Pobierz klucz interfejsu API systemu Android (str. 11).
- Po otwarciu projektu ADT z pliku File menu, kliknij Nowy i wybierz Tekst bez tytułu File. Powinieneś teraz mieć okno edytora tekstu file nazwany Bez tytułu 1. Dodaj swój klucz API do tekstu
- Z File menu, kliknij Zapisz jako.
- W Zapisz jako wybierz plik aktywa katalog twojego projektu jako folder nadrzędny. Dla File nazwa, Wchodzić tekst.
Usuń Sample Magazyn kluczy niestandardowego debugowania aplikacji
NOTATKA: Ten krok jest wymagany tylko wtedy, gdy używasz Eclipse; jeśli używasz Android Studio, pomiń tę sekcję.
Jeśli zainstalowałeś Login with Amazon dla Androidaample do tego samego obszaru roboczego, którego używasz w aplikacji na Androida, możesz mieć ustawiony niestandardowy magazyn kluczy debugowania dla obszaru roboczego. Aby móc używać własnego klucza API, musisz wyczyścić niestandardowy magazyn kluczy debugowania.
- Z menu głównego kliknij Okno i wybierz Preferencje.
- W Preferencje dialog, wybierz Android I Zbudować.
- Wyczyść Zwyczaj debuguj magazyn kluczy
- Trzask OK.
Obsługuj zmiany konfiguracji dla swojej aktywności
Jeśli użytkownik zmieni orientację ekranu lub zmieni stan klawiatury urządzenia podczas logowania, zostanie wyświetlony monit o ponowne uruchomienie bieżącej czynności. To ponowne uruchomienie nieoczekiwanie zamknie ekran logowania. Aby temu zapobiec, należy ustawić działanie, które używa metody autoryzacji do ręcznej obsługi tych zmian konfiguracji. Zapobiegnie to ponownemu uruchomieniu działania.
- In Pakiet Odkrywca, kliknij dwukrotnie xml.
- W Aplikacja w sekcji Znajdź aktywność, która będzie obsługiwać Logowanie za pomocą Amazon (npampLe, Główna aktywność).
- Dodaj następujący atrybut do działania zlokalizowanego w kroku 2:
android: configChanges = "klawiatura | klawiaturaHidden | orientacja" Lub dla API 13 lub nowszego:
android: configChanges = ”klawiatura | keyboardHidden | orientacja | screenSize” - Z File menu, kliknij Ratować
Teraz, gdy nastąpi zmiana orientacji klawiatury lub urządzenia, Android wywoła metodę onConfigurationChanged metoda dla Twojej aktywności. Nie musisz implementować tej funkcji, chyba że istnieje aspekt tych zmian konfiguracji, który chcesz obsłużyć w swojej aplikacji
Gdy użytkownik kliknie przycisk Zaloguj przez Amazon, API uruchomi web przeglądarkę, aby wyświetlić użytkownikowi stronę logowania i zgody. Aby ta aktywność przeglądarki działała, musisz dodać AuthorizationActivity do swojego manifestu.
- In Pakiet Odkrywca, kliknij dwukrotnie xml.
- W Aplikacja sekcji dodaj następujący kod, zastępując „com.example.app” z nazwą pakietu dla tej aplikacji:
<aktywność android:nazwa=
„com.amazon.identity.auth.device.authorization.AuthorizationActivity” android:theme=”@android:style/Theme.NoDisplay” android:allowTaskReparenting=”true” android:launchMode=”singleTask”>
<akcja android:nazwa=”android.intent.akcja.VIEW” />
<dane
android:host=”com.example.app” android:scheme=”amzn” />
Twoja aplikacja. W tej sekcji opisano procedurę pobierania oficjalnego obrazu logowania za pomocą Amazon i łączenia go z przyciskiem ImageButton systemu Android.
- Dodaj standardowy ImageButton do swojej aplikacji.
Aby uzyskać więcej informacji na temat przycisków systemu Android i klasy ImageButton, zobacz Pikolak na developer.android.com. - Nadaj swojemu przyciskowi identyfikator.
W deklaracji XML przycisku ustaw atrybut android:id na @+id/login_with_amazon. Na przykładampna:android: id = ”@ + id / login_with_amazon” - Wybierz obraz przycisku.
Skonsultuj się z naszym Loginem z Amazon Wytyczne dotyczące stylu aby uzyskać listę przycisków, których możesz używać w swojej aplikacji. Pobierz kopię LWA_Android.zip file. Wyodrębnij kopię preferowanego przycisku dla każdej gęstości ekranu obsługiwanej przez aplikację (xxhdpi, xhdpi, hdpi, mdpi lub tvdpi). Aby uzyskać więcej informacji na temat obsługi wielu gęstości ekranu w systemie Android, zobacz Alternatywne układy w temacie „Obsługa wielu ekranów” na stronie ondeveloper.android.com. - Skopiuj odpowiedni obraz przycisku filedo swojego projektu.
Dla każdej obsługiwanej gęstości ekranu (xhdpi, hdpi, mdpi lub ldpi) skopiuj pobrany przycisk do res / drawable katalog dla tej gęstości ekranu. - Zadeklaruj obraz przycisku.
W deklaracji XML przycisku ustaw atrybut android:src na nazwę wybranego przycisku. Na przykładampna:android: src = ”@ drawable / btnlwa_gold_loginwithamazon.png” 6. Załaduj aplikację i sprawdź, czy przycisk ma teraz obraz Zaloguj się za pomocą Amazon. Należy sprawdzić, czy przycisk wyświetla się prawidłowo dla każdej obsługiwanej gęstości ekranu.
W tej sekcji wyjaśniono, jak wywołać autoryzację i getProfile Interfejsy API do logowania użytkownika i pobierania jego profesjonalistyfile dane. Obejmuje to utworzenie odbiornika onClick dla przycisku Zaloguj się za pomocą Amazon w metodzie onCreate Twojej aplikacji.
- Dodaj opcję Zaloguj się przez Amazon do swojego projektu na Androida. Widzieć Zainstaluj Login with Amazon Library .
- Zaimportuj login z Amazon API do swojego źródła
Aby zaimportować Login with Amazon API, dodaj następujące instrukcje importu do swojego źródła file:import com.amazon.identity.auth.device.AuthError; import
com.amazon.identity.auth.device.authorization.api.
Menedżer autoryzacji Amazon; import
com.amazon.identity.auth.device.authorization.api. Odbiornik autoryzacji; import com.amazon.identity.auth.device.authorization.api.AuthzConstants; - Zainicjuj Menedżer autoryzacji Amazon.
Będziesz musiał zadeklarować Menedżer autoryzacji Amazon zmienną i utwórz nową instancję klasy. Utworzenie nowej instancji wymaga jedynie bieżącego kontekstu aplikacji i pustego pakietu. Najlepsze miejsce do inicjalizacji Menedżer autoryzacji Amazon jest w naUtwórz sposób Twojej Aktywności. Na przykładampna: - Utwórz obiekt AuthorizeLiistener.
Autoryzuj słuchacz implementuje interfejs AuthorizatioinListener i przetwarza wynik Authorizecall. Zawiera trzy metody: oinSuccess, naBłąd, i na Anuluj. Każda metoda otrzymuje pakiet lub plik Błąd autora obiekt.klasa prywatna AuthorizeListener implementuje AuthorizationListener{
/ * Autoryzacja została zakończona pomyślnie. * /
@Nadpisanie
public void onSuccess (odpowiedź na pakiet) {
}
/* Wystąpił błąd podczas próby autoryzacji aplikacji.
*/
@Nadpisanie
public void onError (AuthError ae) {
}
/* Autoryzacja została anulowana przed jej zakończeniem. */
@Nadpisanie
public void onCancel (przyczyna pakietu) {
}
} - Dzwonić AmazonAuthorizationManager.authorize.
W po kliknięciu obsługi przycisku Zaloguj się przez Amazon, wywołaj autoryzację, aby poprosić użytkownika o zalogowanie się i autoryzację aplikacji.
Metoda ta odpowiada za autoryzację klienta na jeden z poniższych sposobów:- Przełącza do przeglądarki systemowej i umożliwia klientowi zalogowanie się i wyrażenie zgody na żądanie
- Przełącza na web view w bezpiecznym kontekście, aby umożliwić klientowi zalogowanie się i wyrażenie zgody na żądanie
Ten bezpieczny kontekst dla punktu 2 jest obecnie dostępny jako aplikacja Amazon Shopping na urządzeniach z systemem Android. Urządzenia stworzone przez Amazon z systemem Fire OS (npample Kindle Fire, Fire Phone i Fire TV) zawsze używaj tej opcji, nawet jeśli na urządzeniu nie ma aplikacji Amazon Shopping. Z tego powodu, jeśli klient jest już zalogowany w aplikacji Amazon Shopping, ten interfejs API pominie stronę logowania, co doprowadzi do Pojedyncze logowanie doświadczenie dla klienta.
Kiedy Twoja aplikacja jest autoryzowana, jest ona autoryzowana dla jednego lub większej liczby zestawów danych, tzw zakresy. Pierwszy parametr to tablica zakresów obejmujących dane użytkownika, których żądasz od Login with Amazon. Gdy użytkownik po raz pierwszy zaloguje się do Twojej aplikacji, zostanie mu wyświetlona lista danych, o które prosisz, i poproszony o zatwierdzenie. Logowanie za pomocą Amazon obsługuje obecnie trzy zakresy: profile, który zawiera nazwę użytkownika, adres e-mail i identyfikator konta Amazon; zawodowiecfile:identyfikator użytkownika, który zawiera tylko identyfikator konta Amazon; i kod pocztowy, który zawiera kod pocztowy użytkownika.
Najlepszym sposobem wywołania autoryzacji jest asynchroniczne, więc nie musisz blokować wątku interfejsu użytkownika ani tworzyć własnego wątku roboczego. Zadzwonić autoryzuj asynchronicznie, przekazać obiekt, który obsługuje Interfejs słuchacza autoryzacji jako ostatni parametr:prywatny AmazonAuthorizationManager mAuthManager; @Nadpisanie
chroniony void onCreate(Pakiet savedInstanceState) {
super.onCreate (saveInstanceState);
mAuthManager = nowy AmazonAuthorizationManager(this, Bundle.EMPTY);// Znajdź przycisk z identyfikatorem login_with_amazon
// i skonfiguruj moduł obsługi kliknięć
mLoginButton = (Przycisk) znajdźViewById(R.id.login_with_amazon);
mLoginButton.setOnClickListener(nowy OnClickListener() {
@Nadpisanie
publiczne unieważnienie przy kliknięciu (View v) {
mAuthManager.authorize(
nowy ciąg []{„profile","kod pocztowy"},
Pakiet.EMPTY, nowy AuthorizeListener());
}
});
} - Utwórz ZawodowiecfileSłuchacz.
ZawodowiecfileSłuchacz to nasza nazwa klasy, która implementuje metodę APIListener interfejs i przetworzy wynik Pobierz Profile dzwonić. APIListener zawiera dwie metody: onSukces i onError (nie obsługuje onAnuluj ponieważ nie ma możliwości anulowania pliku Pobierz Profile połączenie). onSukces otrzymuje obiekt pakietu z profile dane, podczas gdy naErirorze otrzymuje Błąd autora obiekt z informacją o błędzie.klasa prywatna ProfileSłuchacz implementuje APIListener{ /* Pobierz Profile zakończono sukcesem. */ @Nadpisanie
public void onSuccess (odpowiedź na pakiet) {}
/* Wystąpił błąd podczas próby pobrania wersji profesjonalistyfile. */ @Nadpisanie
public void onError (AuthError ae) {
}
} - Narzędzie onSukces dla twojego Autoryzuj odbiornik.
In naSukces, dzwonić AmazonAuthorizationManager.getProfile odzyskać klienta profile. Pobierz Profile, podobnie jak autoryzacja, używa asynchronicznego interfejsu odbiornika. Dla Pobierz Profile, taki jest ten interfejs APIListener, a nieAuthorizationListener.
/* Autoryzacja została zakończona pomyślnie. */ @Nadpisanie
public void onSuccess (odpowiedź na pakiet) {
mAuthManager.getProfile(nowy ProfileSłuchacz());} - Narzędzie na Sukces twój ZawodowiecfileSłuchacz.
naSukcesy dwa główne zadania: odzyskać profile danych z pakietu odpowiedzi i przekazania danych do interfejsu użytkownika. aktualizacjaProfileDane hipotetyczna funkcja, którą Twoja aplikacja może wdrożyć w celu wyświetlania profile bliższe dane. ustaw stan zalogowania, inna hipotetyczna funkcja wskazywałaby, że użytkownik jest zalogowany i dawałaby mu możliwość wylogowuję się.
Aby pobrać profile danych z Paczki, używamy nazw przechowywanych przez Stałe uwierzytelniania klasa. Plik onSukces pakiet zawiera wersję profile dane w BUNDLE_KEY.PROFILE pakiet.
W ramach proffile pakiet, w ramach którego indeksowane są dane zakresu ZAWODOWIECFILE_KEY.NAME, PROFILE_KEY.EMAIL, PROFILE_KEY.USER_ID, I ZAWODOWIECFILE_KEY.POSTAL_CODE. ZAWODOWIECFILE_KEY.POSTAL_CODE jest uwzględniany tylko na żądanie kod_pocztowy zakres.@Nadpisanie
public void onSuccess (odpowiedź na pakiet) {
// Pobierz potrzebne dane od Bundle Bundle profilePakiet = odpowiedź.getBundle(
Stałe uwierzytelniania.BUNDLE_KEY.PROFILE.val);
Nazwa ciągu = profesjonalistafilePakiet.getString(
AuthzConstants.PROFILE_KEY.NAME.val);
Ciąg e-mail = profesjonalistafilePakiet.getString(
AuthzConstants.PROFILE_KEY.EMAIL.val);
Konto stringowe = profesjonalistafilePakiet.getString(
AuthzConstants.PROFILE_KEY.USER_ID.val);
Ciąg kod pocztowy = profilePakiet.getString(
AuthzConstants.PROFILE_KEY.POSTAL_CODE.val);
runOnUiThread(new Runnable() { @Override
publiczne puste uruchomienie() {
aktualizacjaProfileDane (imię i nazwisko, adres e-mail, konto, kod pocztowy);
}
});
} - Narzędzie w przypadku błędu dla twojego ZawodowiecfileSłuchacz.
w przypadku błędu obejmuje Błąd autora obiekt zawierający szczegółowe informacje o błędzie./* Wystąpił błąd podczas próby pobrania wersji profesjonalistyfile. */ @Nadpisanie
public void onError (AuthError ae) {
/* Spróbuj ponownie lub poinformuj użytkownika o błędzie */
} - Narzędzie naBłąd twój Autoryzuj odbiornik.
/* Wystąpił błąd podczas próby autoryzacji aplikacji.
*/
@Nadpisanie
public void onError (AuthError ae) {
/ * Poinformuj użytkownika o błędzie * /
} - Narzędzie naAnuluj twój Autoryzuj odbiornik.
Ponieważ proces autoryzacji przedstawia użytkownikowi ekran logowania (i ewentualnie ekran zgody) w web przeglądarka (lub webview), użytkownik będzie miał możliwość anulowania logowania lub opuszczenia strony web strona. Jeżeli wyraźnie anulują proces logowania, onAnuluj jest nazywany. Gdyby naCancelis zadzwonisz, będziesz chciał zresetować swój interfejs użytkownika./* Autoryzacja została anulowana przed jej zakończeniem. */
@Nadpisanie
public void onCancel (przyczyna pakietu) {
/* zresetuj interfejs użytkownika do stanu gotowości do logowania */
}Notatka: Jeśli użytkownik opuści ekran logowania w przeglądarce lub web view i wróci do aplikacji, zestaw SDK nie wykryje, że logowanie nie zostało zakończone. Jeśli wykryjesz aktywność użytkownika w swojej aplikacji przed zakończeniem logowania, możesz założyć, że opuścił on przeglądarkę i odpowiednio zareagować.
Sprawdź login użytkownika podczas uruchamiania
Jeśli użytkownik zaloguje się do Twojej aplikacji, zamknie ją i ponownie uruchomi później, aplikacja będzie nadal upoważniona do pobierania danych. Użytkownik nie jest wylogowywany automatycznie. Podczas uruchamiania możesz pokazać użytkownika jako zalogowanego, jeśli Twoja aplikacja jest nadal autoryzowana. W tej sekcji wyjaśniono, jak używać getToken do sprawdzania, czy aplikacja jest nadal autoryzowana.
- Utwórz TokenLister.
TokenLister wdraża APIListener interfejs i przetworzy wynik wywołania getToken. APIListener zawiera dwie metody: onSukces I w przypadku błędu (nie obsługuje onAnuluj ponieważ nie ma możliwości anulowania pliku zdobądźToken połączenie). onSukces otrzymuje obiekt Bundle z danymi tokena, natomiast w przypadku błędu otrzymuje Błąd autora obiekt z informacją o błędzie.klasa prywatna TokenListener implementuje APIListener{ /* getToken ukończono pomyślnie. */ @Nadpisanie
public void onSuccess (odpowiedź na pakiet) {
}
/* Wystąpił błąd podczas próby uzyskania tokena. */ @Nadpisanie
public void onError (AuthError ae) {
}
} - W na starcie metodę swojej Aktywności, zadzwoń zdobądźToken aby sprawdzić, czy aplikacja jest nadal autoryzowana.
zdobądźToken pobiera nieprzetworzony token dostępu, który Menedżer autoryzacji Amazon używa, aby uzyskać dostęp do klienta profile. Jeśli wartość tokenu nie jest równa null, aplikacja jest nadal autoryzowana i wywołuje metodę Pobierz Profile powinno się powieść. getTokenwymaga te same zakresy, o które prosiłeś w wezwaniu do autoryzacji.
getToken obsługuje wywołania asynchroniczne w taki sam sposób jak getProfile, więc nie musisz blokować wątku interfejsu użytkownika ani tworzyć własnego wątku roboczego. Aby asynchronicznie wywołać getToken, przekaż obiekt obsługujący APIListener interfejs jako ostatni parametr.@Nadpisanie
chroniona pustka onStart(){
super.onStart
();mAuthManager.getToken(nowy ciąg []{„profile","kod pocztowy"},
nowy
TokenListener());
} - Narzędzie onSukces dla twojego TokenLister.
naSukcesy dwa zadania: pobrać token z Paczki i jeśli token jest ważny, wywołać Pobierz Profile.
Aby pobrać dane tokena z Pakietu, używamy nazw przechowywanych przez Stałe uwierzytelniania klasa. Plik onSukces pakiet zawiera dane tokena w wartości BUNDLE_KEY.TOKEN. Jeśli ta wartość nie jest równa null, to npample dzwoni Pobierz Profile używając tego samego detektora, który zadeklarowałeś w poprzedniej sekcji (patrz kroki 7 i 8)./* getToken ukończono pomyślnie. */
@Nadpisanie
public void onSuccess (odpowiedź na pakiet) {
końcowy ciąg authzToken =
odpowiedź.getString(AuthzConstants.BUNDLE_KEY.TOKEN.val);
if (!TextUtils.isEmpty(authzToken))
{
// Pobierz plik profile dane
mAuthManager.getProfile(nowy ProfileSłuchacz());
}
}
Metoda clearAuthorizationState wyczyści dane autoryzacyjne użytkownika z lokalnego magazynu danych AmazonAuthorizationManager. Użytkownik będzie musiał zalogować się ponownie, aby aplikacja mogła pobrać wersję profesjonalnąfile dane. Użyj tej metody, aby wylogować użytkownika lub rozwiązać problemy z logowaniem w aplikacji.
- Zaimplementuj wylogowanie
Gdy użytkownik pomyślnie się zalogował, należy zapewnić mechanizm wylogowania, aby mógł wyczyścić swój profilfile danych i wcześniej autoryzowanych zakresach. Twoim mechanizmem może być hiperłącze lub element menu. Dla tego npample stworzymy po kliknięciu metoda dla przycisku. - W programie obsługi wylogowania zadzwoń wyczyść stan autoryzacji. wyczyść stan autoryzacji usunie dane autoryzacyjne użytkownika (tokeny dostępu, profile) w lokalnym sklepie. clearAuthorizationStatetakes żadnych parametrów poza an APIListener zwrócić sukces lub
- Zgłoś anonima APIListener.
Klasy anonimowe są przydatną alternatywą dla deklarowania nowej klasy do wdrożenia APIListener. Widzieć Obsługuj przycisk logowania i uzyskaj Profile Dane (s. 17) dla exampniechętnie deklaruje klasy detektora. - Narzędzie onSukces wewnątrz APIListener
Gdy wyczyść stan autoryzacji się powiedzie, powinieneś zaktualizować swój interfejs użytkownika, aby usunąć odniesienia do użytkownika i zapewnić mechanizm logowania, za pomocą którego użytkownicy będą mogli zalogować się ponownie. - Narzędzie w przypadku błędu wewnątrz APIListener.
If clearAuthorizationStatereturns błąd, możesz pozwolić użytkownikowi ponownie spróbować się wylogować.@Nadpisanie
chroniony void onCreate(Pakiet savedInstanceState) {
super.onCreate (saveInstanceState);
/ * Poprzednia data Utwórz deklaracje pominięte * /
// Znajdź przycisk z identyfikatorem wylogowania i skonfiguruj moduł obsługi kliknięć
mLogoutButton = (Przycisk) znajdźViewById(R.id.logout);
mLogoutButton.setOnClickListener(nowy OnClickListener() {
@Nadpisanie
publiczne unieważnienie przy kliknięciu (View v) {
mAuthManager.clearAuthorizationState (nowy
APIListener() {
@Nadpisanie
public void onSuccess (wyniki pakietu) {
// Ustaw stan wylogowania w interfejsie użytkownika
}
@Nadpisanie
public void onError (AuthError authError) {
// Zarejestruj błąd
}
});
}
});
}
Niektóre Menedżer autoryzacji Amazon metody zwracają obiekt Future. Dzięki temu można wywołać metodę synchronicznie, zamiast przekazywać detektor jako parametr. Jeśli używasz obiektu Future, nie powinieneś używać go w wątku interfejsu użytkownika. Jeśli zablokujesz wątek interfejsu użytkownika na dłużej niż pięć sekund, pojawi się komunikat ANR (aplikacja nie odpowiada). W uchwycie kliknij przycisk Zaloguj i Uzyskaj Profile Dane npample, onSukces metoda dla Autoryzuj słuchacz jest wywoływany z wątkiem roboczym utworzonym przez Menedżer autoryzacji Amazon. Oznacza to, że można bezpiecznie użyć tego wątku do wywołania metody getPirofile synchronicznie. Aby wykonać wywołanie synchroniczne, przypisz wartość zwracaną z zdobądźPirofile do obiektu Future i wywołaj metodę metoda giet na tym obiekcie, aby poczekać na zakończenie metody.
Przyszłość.get zwraca obiekt Bundle zawierający a TYP PRZYSZŁOŚCI wartość SUKCES, BŁĄD, or ANULOWAĆ. Jeśli metoda się powiodła, w tym samym pakiecie będzie znajdować się PROFILEWartości _KEY dla profesjonalistyfile dane. Na przykładampna:
/ * Autoryzacja została zakończona pomyślnie. * / @Nadpisanie public void onSuccess (odpowiedź na pakiet) { Future<Bundle> future = mAuthManager.getProfile(zero); Wynik pakietu = future.get();// Dowiedz się, czy wywołanie się powiodło, i odzyskaj profesjonalistęfile Obiekt future_type = wynik.get(AuthzConstants.BUNDLE_KEY.FUTURE.val); if (typ_przyszłości == Stałe Authz.FUTURE_TYPE.SUCCESS) { Nazwa ciągu = wynik.getString(AuthzConstants.PROFILE_KEY.NAME.val); Ciąg e-mail = wynik.getString( AuthzConstants.PROFILE_KEY.EMAIL.val); Konto string = wynik.getString( AuthzConstants.PROFILE_KEY.USER_ID.val); Ciąg kod pocztowy = wynik.getString(AuthzConstants.PROFILE_KEY.POSTAL_CODE.val); runOnUiThread(new Runnable() { @Override public void run() { updateProfileDane (imię i nazwisko, adres e-mail, konto, kod pocztowy); } }); } else if (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Pobierz obiekt błędu AuthError authError = AuthError.extractError(result); /* Użyj authError, aby zdiagnozować błąd */ } |
Zaloguj się za pomocą Przewodnika wprowadzającego Amazon dla Androida – Pobierz [zoptymalizowane]
Zaloguj się za pomocą Przewodnika wprowadzającego Amazon dla Androida – Pobierać