Mag-login gamit ang Patnubay sa Pagsisimula ng Amazon para sa iOS
Mag-login gamit ang Amazon: Patnubay sa Pagsisimula para sa iOS
Copyright © 2016 Amazon.com, Inc., o mga kaakibat nito. Nakalaan ang lahat ng mga karapatan.
Ang Amazon at ang logo ng Amazon ay mga trademark ng Amazon.com, Inc. o mga kaakibat nito. Ang lahat ng iba pang mga trademark na hindi pagmamay-ari ng Amazon ay pag-aari ng kani-kanilang mga may-ari.
Pagsisimula para sa iOS
Sa gabay na ito ipapakita namin sa iyo kung paano magdagdag ng Pag-login sa Amazon sa iyong iOS app. Matapos makumpleto ang gabay na ito dapat kang magkaroon ng isang gumaganang Login na may pindutan ng Amazon sa iyong app upang payagan ang mga gumagamit na mag-log in gamit ang kanilang mga kredensyal sa Amazon
Pag-install ng Xcode
Ang Pag-login gamit ang Amazon SDK para sa iOS ay ibinibigay ng Amazon upang matulungan kang magdagdag ng Pag-login sa Amazon sa iyong iOS application. Inilaan ang SDK na magamit sa kapaligiran sa pag-unlad ng Xcode. Sinusuportahan ng SDK ang mga app na tumatakbo sa iOS 7.0 at mas bago gamit ang ARMv7, ARMv7s, ARM64, i386, atx86_64.
Maaari mong mai-install ang Xcode mula sa Mac App Store. Para sa karagdagang impormasyon, tingnan Xcode: Ano ang Bago sa developer.apple.com.
Matapos mai-install ang Xcode, maaari mo I-install ang Login gamit ang Amazon SDK para sa iOS at Patakbuhin ang Sampang App, tulad ng inilarawan sa ibaba.
I-install ang Login gamit ang Amazon SDK para sa iOS
Ang Pag-login gamit ang Amazon SDK para sa iOS ay mayroong dalawang mga pakete. Naglalaman ang una ng iOS library at sumusuporta sa dokumentasyon. Ang pangalawa ay naglalaman ng bilangample application na nagpapahintulot sa isang gumagamit na mag-log in at view ang kanilang profile datos.
Kung hindi mo pa nai-install ang Xcode, tingnan ang mga tagubilin sa I-install ang Xcode seksyon sa itaas.
- I-download Mag-loginWithAmazonSDKForiOS.zip at i-extract ang files sa isang direktoryo sa iyong hard drive.
Dapat mong makita ang isang LoginWithAmazon.framework direktoryo Naglalaman ito ng pag-login sa library ng Amazon.
Sa tuktok na antas ng zip ay a LoginWithAmazon.doc itakda ang direktoryo. Naglalaman ito ng dokumentasyon ng API. - Tingnan mo I-install ang Login gamit ang Amazon Library para sa mga tagubilin sa kung paano idagdag ang library sa isang proyekto ng iOS.
Kapag naka-install ang Pag-login gamit ang Amazon SDK para sa iOS, maaari mo Lumikha ng isang Bagong Pag-login gamit ang Amazon Project pagkatapos Nagrerehistro sa pag-login sa Amazon.
Patakbuhin ang Sampang App
Upang patakbuhin ang sample application, buksan ang sample sa Xcode.
- I-download SampleLoginWithAmazonAppForiOS.zip at kopyahin ang
SampleLoginWithAmazonAppForiOS direktoryo sa iyong folder ng Mga Dokumento. - Simulan ang Xcode. Kung ang dialog ng Maligayang Pagdating sa Xcode ay nag-pop up, i-click ang Buksan ang Iba pa. Kung hindi man, mula sa pangunahing menu, mag-click File at piliin ang Buksan.
- Piliin ang folder ng Mga Dokumento, at piliin ang
SampleLoginWithAmazonAppForiOS / LoginWithAmazonSample / LoginWithAmazonSample.xcodeproj. I-click Bukas. - Ang sample proyekto dapat ngayon load. Kapag natapos na, pumili produkto mula sa pangunahing menu at piliin Takbo
Nagrerehistro sa pag-login sa Amazon
Bago mo magamit ang Login gamit ang Amazon sa isang website o sa isang mobile app, dapat kang magrehistro ng isang application gamit ang Login gamit ang Amazon. Ang iyong Login gamit ang Amazon application ay ang pagpaparehistro na naglalaman ng pangunahing impormasyon tungkol sa iyong negosyo, at impormasyon tungkol sa bawat isa website o mobile app na iyong nilikha na sumusuporta sa Pag-login gamit ang Amazon. Ang impormasyon ng negosyong ito ay ipinapakita sa mga user sa tuwing gagamit sila ng Login gamit ang Amazon sa iyong website o mobile app. Makikita ng mga gumagamit ang pangalan ng iyong aplikasyon, iyong logo, at isang link sa iyong patakaran sa privacy. Ipinapakita ng mga hakbang na ito kung paano magparehistro ng isang pag-login sa Amazon application at magdagdag ng isang iOS app sa account na iyon.
Tingnan ang mga sumusunod na paksa
- Irehistro ang Iyong Pag-login sa Amazon Application
- Magdagdag ng isang iOS App sa isang Security Profile
- iOS Bundle ID at API Keys
o Tukuyin ang isang Bundle Identifier para sa isang iOS App
o Kunin ang isang Key ng iOS API
Irehistro ang Iyong Pag-login sa Amazon Application
- Pumunta sa https://login.amazon.com.
- Kung nag-sign up ka para sa Pag-login sa Amazon dati, mag-click App Console. Kung hindi, mag-click Mag-sign Up.
Ire-redirect ka sa Seller Central, na humahawak sa pagpaparehistro ng aplikasyon para sa Pag-login sa Amazon. Kung ito ang iyong unang pagkakataon sa paggamit ng Seller Central, hihilingin sa iyo na mag-set up ng isang Seller Central account. - I-click Magrehistro ng Bagong Aplikasyon. Ang Irehistro ang Iyong Aplikasyon lilitaw ang form:
a. Sa rehistro ng Iyong Application form, magpasok ng isang Pangalan at a Paglalarawan para sa iyong aplikasyon.
Ang Pangalan ay ang pangalan na ipinapakita sa screen ng pahintulot kapag sumang-ayon ang mga user na magbahagi ng impormasyon sa iyong application. Nalalapat ang pangalang ito sa Android, iOS, at webmga bersyon ng site ng iyong aplikasyon.
b. Magpasok ng isang Paunawa sa Privacy URL para sa iyong aplikasyon.
Ang Paunawa sa Privacy URL ay ang lokasyon ng patakaran sa privacy ng iyong kumpanya o aplikasyon (para sa halample, http: //www.example.com/privacy.html). Ang link na ito ay ipinapakita sa mga gumagamit sa screen ng pahintulot.
c. Kung nais mong magdagdag ng isang Larawan ng Logo para sa iyong aplikasyon, i-click Mag-browse at hanapin ang naaangkop na larawan.
Ang logo na ito ay ipinapakita sa screen ng pag-sign in at pahintulot upang kumatawan sa iyong negosyo o weblugar. Ang logo ay mababawasan hanggang 50 pixel ang taas kung ito ay mas mataas sa 50 pixel; walang limitasyon sa lapad ng logo. - I-click I-save. Ang iyong sampAng pagpaparehistro ay dapat magmukhang katulad nito:
Pagkatapos ma-save ang iyong mga pangunahing setting ng application, maaari kang magdagdag ng mga setting para sa partikular webmga site at mobile app na gagamitin ang Pag-login gamit ang Amazon account.
Kung ang iba't ibang mga bersyon ng iyong app ay may magkakaibang mga bundle ID, tulad ng para sa isa o higit pang mga bersyon ng pagsubok at isang bersyon ng produksyon, ang bawat bersyon ay nangangailangan ng sarili nitong API Key. Galing sa Mga Setting ng iOS ng iyong app, i-click ang Magdagdag ng API Key pindutan upang lumikha ng mga karagdagang key para sa iyong app (isa bawat bersyon).
Magdagdag ng isang iOS App sa isang Security Profile
Pagkatapos ma-save ang iyong mga pangunahing setting ng application, maaari kang magdagdag ng mga setting para sa partikular webmga site at mobile app na gagamitin ang Pag-login gamit ang Amazon account.
Upang magrehistro ng isang iOS App, kailangan mong tukuyin ang tagatukoy ng Bundle para sa proyekto ng app. Gagamit ang pag-login gamit ang Amazon ang bundle ID upang makabuo ng isang API key. Bibigyan ng susi ng API ang iyong app ng access sa pag-login na may serbisyong pagpapahintulot sa Amazon. Sundin ang mga hakbang na ito upang magdagdag ng isang iOS app sa iyong account:
- Mula sa screen ng Application, i-click Mga Setting ng iOS. Kung mayroon ka nang nakarehistrong isang iOS app, hanapin ang Magdagdag ng API Key pindutan sa Mga Setting ng iOS seksyon.
Ang Application ng iOS Lilitaw ang form ng mga detalye:
- Ipasok ang Label ng iyong iOS App. Hindi ito kailangang maging opisyal na pangalan ng iyong app. Kinikilala lamang nito ang partikular na iOS app na kabilang sa mga app at webmga site na nakarehistro sa iyong pag-login sa Amazon application.
- Ipasok ang iyong Bundle ID. Dapat itong tumugma sa tagatukoy ng bundle ng iyong proyekto sa iOS. Upang matukoy ang iyong tagatukoy ng bundle, buksan ang proyekto sa Xcode. Buksan ang listahan ng mga pag-aari para sa proyekto ( -Info.plist) sa Project Navigator. Ang tagatukoy ng Bundle ay isa sa mga pag-aari sa listahan.
- I-click I-save.
iOS Bundle ID at API Keys
Ang tagatukoy ng Bundle ay natatangi sa bawat iOS app. Ang pag-login gamit ang Amazon ay gumagamit ng Bundle ID upang mabuo ang iyong API Key. Nagbibigay-daan ang API Key sa pag-login na may serbisyo sa pagpapahintulot sa Amazon upang makilala ang iyong app.
Tukuyin ang isang Bundle Identifier para sa isang iOS App
- Buksan ang iyong proyekto sa app sa Xcode.
- Buksan ang Impormasyon Listahan ng Ari-arian para sa proyekto ( -Info.plist) sa Project Navigator.
- Hanapin Tagatukoy ng bundle sa listahan ng mga pag-aari.
Kunin ang isang Key ng iOS API
Matapos mong magrehistro ang isang bersyon ng iOS at magbigay ng isang Bundle ID, maaari mong makuha ang key ng API mula sa pahina ng pagpaparehistro para sa iyong pag-login sa Amazon application. Kakailanganin mong ilagay ang key na API sa listahan ng pag-aari ng iyong proyekto. Hanggang sa magawa mo ito, hindi bibigyan ng pahintulot ang app na makipag-usap sa pag-login sa serbisyo ng pagpapahintulot sa Amazon.
1. Pumunta sa https://login.amazon.com.
2. I-click App Console.
3. Sa Mga app box, i-click ang iyong application.
4. Hanapin ang iyong iOS app sa ilalim ng Mga Setting ng iOS seksyon Kung hindi mo pa nakarehistro ang isang iOS app, tingnan Magdagdag ng isang iOS App sa isang Security Profile.
5. I-click Bumuo ng Halaga ng API Key. Ipapakita ng isang popup window ang iyong API key. Upang makopya ang susi, mag-click Piliin ang Lahat upang piliin ang buong susi.
Tandaan: Ang Halaga ng API Key ay batay, sa bahagi, sa oras na nabuo ito. Sa gayon, ang kasunod na (mga) Key Key ng API na nabuo mo ay maaaring magkakaiba mula sa orihinal. Maaari mong gamitin ang anuman sa mga API Key Values na ito sa iyong app dahil lahat sila ay may bisa.
6. Tingnan Idagdag ang Iyong API Key sa Listahan ng Iyong App para sa mga tagubilin sa pagdaragdag ng API key sa iyong iOS app
Lumilikha ng isang Pag-login sa Amazon Project
Sa seksyong ito, malalaman mo kung paano lumikha ng isang bagong proyekto ng Xcode para sa Pag-login sa Amazon at i-configure ang proyekto.
Tingnan ang mga sumusunod na paksa:
- Lumikha ng isang Bagong Pag-login gamit ang Amazon Project
- I-install ang Login gamit ang Amazon Library
- Idagdag ang Iyong API Key sa Listahan ng Iyong App
- Magdagdag ng a URL Scheme sa Iyong Listahan ng Pag-aari ng App
- Magdagdag ng isang Exception sa Security ng App Transport para sa Amazon sa Iyong App Listahan ng Ari-arian
TANDAAN: Ang bagong hakbang na ito ay kasalukuyang kinakailangan kapag bumubuo sa iOS 9 SDK - Magdagdag ng isang Pag-login gamit ang Amazon Button sa Iyong App
Lumikha ng isang Bagong Pag-login gamit ang Amazon Project
Kung wala ka pang proyekto sa app para sa paggamit ng Pag-login sa Amazon, sundin ang mga tagubilin sa ibaba upang lumikha ng isa. Kung mayroon kang isang mayroon nang app, lumaktaw sa seksyong I-install ang Login gamit ang Amazon Library sa ibaba.
- Ilunsad Xcode.
- Kung ikaw ay bibigyan ng a Maligayang pagdating sa Xcode dialog, piliin Lumikha ng isang Bagong Xcode Project.
Kung hindi man, mula sa File menu, piliin Bago at Proyekto. - Piliin ang uri ng proyekto na nais mong likhain at i-click Susunod.
- Ipasok ang a Pangalan ng Produkto at a Identifier ng Kumpanya. Tandaan ang iyong Bundle Identifier, at i-click Susunod.
- Pumili ng isang lokasyon kung saan iimbak ang iyong proyekto at mag-click Lumikha.
Magkakaroon ka na ng isang bagong proyekto na maaari mong gamitin upang tawagan ang Pag-login sa Amazon.
I-install ang Login gamit ang Amazon Library
Kung hindi mo pa nai-download ang Pag-login gamit ang Amazon SDK para sa iOS, tingnan ang I-install ang Login gamit ang Amazon SDK para sa iOS.
Dapat i-link ng isang proyekto sa Pag-login sa Amazon ang LoginWithAmazon.framework at Seguridad.framework aklatan. Kakailanganin mo ring i-configure ang framework path ng paghahanap upang makita ang Pag-login gamit ang mga header ng Amazon
- Sa iyong proyekto na bukas sa Xcode, piliin ang Mga Framework folder, i-click File mula sa pangunahing menu, at pagkatapos ay piliin Idagdag Files sa "Proyekto".
- Sa dayalogo, piliin ang LoginWithAmazon.framework at i-click ang Idagdag.
Kung ginamit mo ang pag-login sa Amazon 1.0 library, tanggalin ang direktoryo ng login-with-amazon sdk at pag-login-na-amazon-sdk.a mula sa folder na Frameworks. Mag-click I-edit mula sa pangunahing menu at piliin Tanggalin. - Piliin ang pangalan ng iyong proyekto sa Project Navigator.
Ang Project Editor lilitaw sa lugar ng editor ng workspace ng Xcode. - I-click ang pangalan ng iyong proyekto sa ilalim Mga target, at piliin Mga Phase na Bumuo. Palawakin ang Binary ng Link sa Mga Aklatan at i-click ang plus sign upang magdagdag ng isang library.
- Sa box para sa paghahanap, ipasok Seguridad.framework. Pumili Security.framework at i-click Idagdag.
- Sa box para sa paghahanap, ipasok SafariServices.framework. Pumili SafariServices.framework at i-click Idagdag.
- Sa box para sa paghahanap, ipasok CoreGraphics.framework. Pumili CoreGraphics.framework at i-click Idagdag
- Pumili Bumuo ng Mga Setting. I-click ang Lahat upang view lahat ng setting.
- Sa ilalim Mga Landas sa Paghahanap, tiyakin na ang LoginWithAmazon.framework ang direktoryo ay nasa Mga Landas sa Paghahanap ng Framework.
Para kay example:
Kung ginamit mo ang library na Pag-login gamit ang Amazon 1.0, maaari mong alisin ang anumang mga sanggunian sa 1.0 landas ng library sa Mga Landas sa Paghahanap ng Header or Mga Landas sa Paghahanap sa Library. - Mula sa pangunahing menu, i-click produkto at piliin Bumuo. Ang konstruksyon ay dapat na matagumpay na nakumpleto.
Bago itayo ang iyong proyekto, kung ginamit mo ang Pag-login gamit ang library ng Amazon 1.0, palitan #import "AIMobileLib.h", #import "AIAuthenticationDelegate.h", or #import "AIError.h" sa iyong mapagkukunan files kasama #import
.
LoginWithAmazon.h may kasamang lahat ng Pag-login na may mga header ng Amazon nang sabay-sabay.
Idagdag ang Iyong API Key sa Listahan ng Iyong App
Kapag nagrehistro ka ng iyong aplikasyon sa iOS gamit ang Pag-login sa Amazon, bibigyan ka ng isang key ng API. Ito ay isang identifier na gagamitin ng Amazon Mobile Library upang makilala ang iyong aplikasyon sa pag-login na may serbisyong pagpapahintulot sa Amazon. Nilo-load ng Amazon Mobile Library ang halagang ito sa oras ng pag-runtime mula sa halaga ng API Key na pag-aari sa Listahan ng Pag-aari ng Impormasyon ng iyong aplikasyon.
- Sa pagbukas ng iyong proyekto, piliin ang Pagsuporta Files folder, pagkatapos ay piliin ang -Info.plist file (saan ang pangalan ng iyong proyekto). Dapat nitong buksan ang listahan ng pag-aari para sa pag-edit:
- Siguraduhin na wala sa mga entry ang napili. Pagkatapos, mula sa pangunahing menu, mag-click Editor, at Magdagdag ng Item. Pumasok APIKey at pindutin Pumasok.
- Mag-double click sa ilalim ng Halaga haligi upang magdagdag ng isang halaga. I-paste ang iyong API Key bilang halaga.
Magdagdag ng a URL Scheme sa Iyong Listahan ng Pag-aari ng App
Kapag nag-log in ang gumagamit, bibigyan sila ng isang pahina sa pag-login sa Amazon. Upang makatanggap ang iyong app ng kumpirmasyon ng kanilang pag-login, dapat kang magdagdag ng a URL iskema upang ang web ang pahina ay maaaring mag-redirect pabalik sa iyong app. Ang URL ang pamamaraan ay dapat ideklara bilang amzn- (para sa example, amzncom.example.app). Para sa karagdagang impormasyon, tingnan Gamit URL Mga Scheme upang Makipag-usap sa Mga App sa developer.apple.com.
- Sa pagbukas ng iyong proyekto, piliin ang Pagsuporta Files folder, pagkatapos ay piliin ang -Info.plist file (saan ang pangalan ng iyong proyekto). Dapat nitong buksan ang listahan ng pag-aari para sa pag-edit:
- Siguraduhin na wala sa mga entry ang napili. Pagkatapos, mula sa pangunahing menu, mag-click Editor, at Magdagdag ng Item. Ipasok o piliin URL mga uri at pindutin Pumasok.
- Palawakin URL mga uri upang ihayag item 0. Pumili item 0 at, mula sa pangunahing menu, i-click ang Editor at Magdagdag ng Item. Ipasok o piliin URL Kilalanin at pindutin Pumasok.
- Pumili Aytem 0 sa ilalim URL Identifier at pag-double click sa ilalim ng haligi ng Halaga upang magdagdag ng isang halaga. Ang halaga ay ang iyong bundle ID. Mahahanap mo ang iyong bundle ID na nakalista bilang tagakilala ng Bundle sa listahan ng pag-aari.
- Pumili Aytem 0 sa ilalim URL mga uri at, mula sa pangunahing menu, mag-click Editor at Magdagdag ng Item. Ipasok o piliin URL Mga Scheme at pindutin ang Enter.
- Pumili Aytem 0 sa ilalim URL Mga scheme at i-double click sa ilalim ng Halaga haligi upang magdagdag ng a halaga. Ang halaga ay ang iyong bundle ID na may amzn- prepended (para sa datingample, amzn com.example.app). Mahahanap mo ang iyong bundle ID na nakalista bilang Tagatukoy ng bundle sa listahan ng pag-aari.
Magdagdag ng isang Exception sa Security ng App Transport para sa Amazon sa Iyong App
Listahan ng Ari-arian
Simula sa iOS 9, ipinatutupad ng Apple ang App Transport Security (ATS) para sa mga ligtas na koneksyon sa pagitan ng isang app at web mga serbisyo Ang endpoint (api.amazon.com) ang Pag-login na may Amazon SDK ay nakikipag-ugnay upang makipagpalitan ng impormasyon ay hindi umaayon sa ATS. Magdagdag ng isang pagbubukod para sa api.amazon.com upang paganahin ang isang seamless na komunikasyon sa pagitan ng SDK at ng Amazon server.
- Sa pagbukas ng iyong proyekto, piliin ang Pagsuporta Files folder, pagkatapos ay piliin ang -Info.plist file (saan ang pangalan ng iyong proyekto). Dapat nitong buksan ang listahan ng pag-aari ng forediting:
- Tiyaking wala sa mga entry ang Pagkatapos, mula sa pangunahing menu, mag-click Editor, at Magdagdag ng Item. Ipasok o piliin NSAppTransportSecurity at pindutin Pumasok.
- Palawakin NSAppTransportSecurity at, mula sa pangunahing menu, mag-click Editor at Magdagdag ng Item. Ipasok o piliin NSExceptionDomains at pindutin Pumasok.
- Palawakin NSExceptionDomains at, mula sa pangunahing menu, mag-click Editor at Magdagdag ng Item. Ipasok ang amazon.com at pindutin Pumasok.
- Palawakin amazon.com at, mula sa pangunahing menu, mag-click Editor at Magdagdag ng Item.Pasok NSExceptionRequiresForwardSecrecy at pindutin Pumasok.
- Pumili NSExceptionRequiresForwardSecrecy at i-double click sa ilalim ng Halaga haligi upang magdagdag ng isang Piliin ang Uri of Boolean at a Halaga of HINDI.
Ang pag-login gamit ang Amazon ay nagbibigay ng maraming karaniwang mga pindutan na maaari mong gamitin upang ma-prompt ang mga gumagamit na mag-log in mula sa iyong app. Nagbibigay ang seksyong ito ng mga hakbang para sa pag-download ng isang opisyal na Pag-login na may imahe ng Amazon at ipares ito sa isang iOS UIButton.
- Magdagdag ng karaniwang UIButton sa iyong app.
Para sa mga tutorial at impormasyon sa kung paano magdagdag ng isang pindutan sa isang app, tingnan ang Paglikha at Pag-configure View Mga bagay at Simulan ang Pagbuo ng iOS Apps Ngayon sa developer.apple.com. - Idagdag ang Touch Up Sa Loob kaganapan para sa pindutan sa isang pamamaraan na pinangalanan onLoginButtonClicked. Iwanang blangko ang pagpapatupad sa ngayon. Ang Lumilikha at Kino-configure View Mga bagay at Simulan ang Pagbuo ng iOS Apps Ngayon Ang mga dokumento sa apple.com ay may kasamang mga hakbang sa pagdaragdag ng isang kaganapan sa pindutan.
- Pumili ng isang imahe ng pindutan.
Kumunsulta sa aming Pag-login sa Amazon Mga Patnubay sa Estilo para sa isang listahan ng mga pindutan na maaari mong gamitin sa iyong app. Mag-download ng isang kopya ng LWA_for_iOS.zip file. Hanapin ang iyong ginustong pindutan sa parehong 1x at 2xdirectories at i-extract ang mga ito mula sa zip. I-extract ang _Pindot na bersyon ng iyong pindutan kung nais mong ipakita ang pindutan sa isang Piling estado. - Idagdag ang mga imahe sa iyong proyekto.
a. Sa Xcode, kasama ang iyong proyekto na na-load, mag-click File mula sa pangunahing menu at piliin Idagdag Files sa "proyekto".
b. Sa dayalogo, piliin ang imahe ng pindutan file(mga) na iyong na-download at na-click Idagdag.
c. Ang mga pindutan ay dapat na nasa proyekto sa ilalim ng iyong direktoryo ng proyekto. Ilipat ang mga ito sa Suporta Filesfold. - Idagdag ang imahe sa iyong pindutan.
Upang paganahin ang imahe para sa iyong pindutan, maaari mong baguhin ang katangian ng pindutan o gamitin ang setImage: forState pamamaraan sa UIButton bagay Sundin ang mga hakbang na ito upang baguhin ang katangian ng imahe para sa iyong pindutan:
a. Buksan ang storyboard para sa iyong app.
b. Piliin ang pindutan sa iyong storyboard sa pamamagitan ng pag-click dito o pagpili nito mula sa View Controller Puno ng eksena.
c. Sa Mga utility window, buksan ang Mga Inspektor ng Katangian.
d. Sa tuktok ng Inspektor ng Katangian, itakda ang Uri ng pindutan sa System.
e. Sa pangalawang pangkat ng mga setting, piliin ang Default para sa State Config.
f. Sa pangalawang pangkat ng mga setting, i-drop down ang setting ng Imahe.
g. Piliin ang graphic ng pag-login na may Amazon na idinagdag mo sa proyekto. Huwag piliin ang bersyon ng 2x: awtomatiko itong mai-load sa mga aparatong mataas na density ng pagpapakita (Retina).
h. Itakda ang parehong imahe para sa setting ng Background.
i. Kung nais mong tukuyin ang isang pinindot na bersyon ng pindutan, piliin ang Napili para sa State Config, at itakda ang Imahe sa _Pressed na bersyon ng iyong pindutan.
j. Sa storyboard, ayusin ang laki ng iyong pindutan upang mapaunlakan ang imahe, kung kinakailangan.
Gamit ang SDK para sa mga iOS API
Sa seksyong ito, magdagdag ka ng code sa iyong proyekto upang mag-sign in sa isang gumagamit gamit ang Pag-login gamit ang Amazon.
Tingnan ang mga sumusunod na paksa:
- Pangasiwaan ang Button sa Pag-login at Kumuha ng Profile Data
- Suriin ang Pag-login ng Gumagamit sa Startup
- I-clear ang Awtorisasyon ng Estado at Mag-log Out ng isang User
Ipinapaliwanag ng seksyong ito kung paano tawagan ang authorizeUserForScope: delegate: at getProfile: Mga API upang mag-log in sa isang gumagamit at kunin ang kanilang profile data Kasama rito ang paglikha ng isang onLogin ButtonClicked: tagapakinig para sa iyong pag-login gamit ang Amazon button.
- Magdagdag ng Pag-login sa Amazon sa iyong proyekto sa iOS. Tingnan ang I-install ang Pag-login sa Amazon Library.
- I-import ang Pag-login gamit ang Amazon API sa iyong mapagkukunan file.
Upang mai-import ang Pag-login gamit ang Amazon API, idagdag ang sumusunod #importstatements sa iyong mapagkukunan file:#angkat - Lumikha ng AMZNAuthorizeUserDelegateclass upang ipatupad
AIAuthenticationDelegate.
kailan authorizeUserForScope: delegate: nakumpleto, tatawagin nito ang requestDidSuccess: or requestDidFail: pamamaraan sa isang bagay na nagpapatupad ng AIAuthenticationDelegate protocol.@interface AMZNAuthorizeUserDelegate: NSObject @end Para sa karagdagang impormasyon, tingnan Paggawa gamit ang Mga Protokol sa developer.apple.com.
- Tumawag authorizeUserForScope: delegate: in onLoginButtonClicked.
Kung sinunod mo ang mga hakbang sa Magdagdag ng isang Pag-login gamit ang Amazon Button sa Iyong App, dapat mayroon kang onLogin ButtonClicked: pamamaraan naka-link sa isang pindutan ng Pag-login gamit ang Amazon. Sa pamamaraang iyon, tumawag authorizeUserForScope: delegate: sa agawin ang gumagamit na mag-log in at pahintulutan ang iyong aplikasyon.
Pagaganahin ng pamamaraang ito ang gumagamit upang mag-sign in at payagan ang hiniling na impormasyon sa isa sa mga sumusunod na paraan:
1.) Lumipat sa web view sa isang ligtas na konteksto (kung ang Amazon Shopping app ay naka-install sa aparato)
2.) Lumipat sa Safari View Controller (sa iOS 9 at mas bago)
3.) Lumipat sa browser ng system (sa iOS 8 at mas maaga)
Ang ligtas na konteksto para sa unang pagpipilian ay magagamit kapag ang Amazon Shopping app ay na-install sa aparato. Kung naka-sign in na ang gumagamit sa Amazon Shopping app, nilaktawan ang pahina ng pag-sign in, na humahantong sa a Single Sign-On (SSO) karanasan.Kapag pinahintulutan ang iyong aplikasyon, pinahintulutan ito para sa isa o higit pang mga hanay ng data na kilala bilang mga saklaw. Ang unang parameter ay isang hanay ng mga saklaw na sumasaklaw sa data ng gumagamit na iyong hinihiling mula sa Pag-login gamit ang Amazon. Sa unang pagkakataon na mag-log in ang isang gumagamit sa iyong app, bibigyan sila ng isang listahan ng data na iyong hinihiling at hihilingin para sa pag-apruba. Kasalukuyang sumusuporta sa pag-login ang pag-login gamit ang Amazon ng tatlong saklaw: profile, na naglalaman ng pangalan ng gumagamit, email address, at Amazon account id; profile: user_id, na naglalaman lamang ng Amazon account id; at postal_code, na naglalaman ng zip / postal code ng gumagamit.
Ang pangalawang parameter sa authorizeUserForScope: delegate: ay isang bagay na nagpapatupad ng AIAuthenticationDelegateprotocol, sa kasong ito ang isang halimbawa ng AMZNAuthorizeUserDelegate klase.- (IBAction) onLogInButtonClicked: (id) nagpadala {
// Gumawa ng pahintulot na tawag sa SDK upang makakuha ng isang ligtas na token sa pag-access
// para sa gumagamit.
// Habang gumagawa ng unang tawag maaari mong tukuyin ang minimum na pangunahing
// mga saklaw na kailangan.// Humihiling ng parehong saklaw para sa kasalukuyang gumagamit.
NSArray * requestScope =
[NSArray arrayWithObjects: @ ”profile”, @” Postal_code ”, nil];AMZNAuthorizeUserDelegate * delegate =
[AIMobileLib authorizeUserForScope: requestScopes delegate: delegate];
[[AMZNAuthorizeUserDelegate alloc] initWithParentController: sarili];Idagdag ang header ng pagpapatupad ng iyong delegado sa pagtawag sa klase
authorizeUserForScope: Para kay example:#import “AMZNAuthorizeUserDelegate.h” - Lumikha ng isang AMZNGetProfileDelegado.
AMZNGetProfileMga delegado ang aming pangalan para sa isang klase na nagpapatupad ng
AIAuthenticationDelegateprotocol, at iproseso ang resulta ng getProfile: tawagan Gaya ng authorizeUserForScope: delegate :, getProfile: sumusuporta sa requestDidSuccess: at requestDidFail: pamamaraan ng protokol. requestDidSuccess: tumatanggap ng isang APIResulta object sa profile data sa resulta ng pag-aari. requestDidFail: tumatanggap ng isang AIerror object na may impormasyon sa error sa pag-aari ng error.
Upang lumikha ng isang klase ng delegado mula sa isang normal na deklarasyon ng klase, mag-import
AIAuthenticationDelegate.kamay idagdag ang protocol sa deklarasyon sa iyong header ng klase file:#angkat @interface AMZNGetProfileDelegado: NSObject @end - Ipatupad requestDidSuccess: para sa iyong AMZNAuthorizeUserDelegate. In requestDidSuccess :, tawag getProfile: upang makuha ang pro ng customerfile. getProfile:, parang authorizeUserForScope: delegate :, gumagamit ng AIAuthenticationDelegate protocol.
- (walang bisa) requestDidSuccess: (APIResult *) apiResult {
// Ang iyong code pagkatapos pahintulutan ng gumagamit ang application para sa
// hiniling na saklaw.// Mag-load ng bago view tagakontrol na may impormasyon sa pagkilala ng gumagamit
// bilang ang gumagamit ay matagumpay na naka-log in.AMZNGetProfileMagtalaga * delegado =
[[[AMZNGetProfileDelegate alloc] initWithParentController:parentViewController] autorelease];
[AIMobileLib getProfile: delegate];
}Idagdag ang header ng pagpapatupad ng iyong delegado sa pagtawag sa klase getProfile:. Forexample:
#import "AMZNGetProfileDelegate.h " - Ipatupad requestDidSuccess: para sa iyong AMZNGetProfileDelegado.
requestDidSuccess: mayroon dalawang pangunahing gawain: upang makuha ang profile datos mula sa Resulta ng API, at upang maipasa ang data sa UI.
Upang makuha ang profile datos mula sa Resulta ng API, i-access ang resulta ng pag-aari. Para sa getProfile: tugon, ang pagmamay-ari na iyon ay maglalaman ng isang diksyunaryo ng mga halaga ng pag-aari para sa pro ng gumagamitfile ari-arian. Ang profile mga pag-aari ay pangalan, email, at user_id para sa profile saklaw at
postal_code para sa postal_code saklaw.- (walang bisa) requestDidSuccess: (APIResult *) apiResult {
// Kumuha ng profile nagtagumpay ang kahilingan. I-unpack ang profile impormasyon
// at ipasa ito sa magulang view controllerNSString * pangalan = [(NSDictionary *) apiResult.result
objectForKey: @ ”pangalan”];
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”];// Ipasa ang data sa view controller
} - Ipatupad requestDidFail: para sa iyong AMZNGetProfileDelegado.
requestDidFail: kabilang ang isang PAG-AARAL bagay na naglalaman ng mga detalye tungkol sa error. showLogInPageis isang mapagpalagay na pamamaraan na mai-reset ang pangunahing view upang ipakita ang pindutan ng Pag-login gamit ang Amazon.- (walang bisa) requestDidFail: (APIError *) errorResponse {
// Kumuha ng Profile nabigo ang kahilingan para sa profile saklaw.
// Kung error code = kAIApplicationNotAuthorized,
// payagan ang gumagamit na mag-log in muli.
kung (errorResponse.error.code == kAIApplicationNotAuthorized) {
// Ipakita ang pahintulot ng user button.
[magulangViewShowLogInPage ng Controller];
}
iba {
// Pangasiwaan ang iba pang mga error
[[[[UIAlertView ilaan] initWithTitle: @ ”” mensahe: [NSString
stringWithFormat: @ ”Nagkaroon ng error sa mensahe:% @”,
errorResponse.error.message] delegado: nil
KanselangTombleTitle: @ ”OK” ibaTapiTombles: nil] autorelease] ipakita];
}
} - Ipatupad requestDidFail: para sa iyong AMZNAuthorizeUserDelegate.
- (walang bisa) requestDidFail: (APIError *) errorResponse {
NSString * message = errorResponse.error.message;
// Ang iyong code kapag nabigo ang awtorisasyon. [[[[UIAlertView ilaan] initWithTitle: @ ”” mensahe: [NSString
stringWithFormat: @ ”Nabigo ang pahintulot ng gumagamit sa mensahe:% @”, errorResponse.error.message] delegado: nil
KanselangTombleTitle: @ ”OK” ibaTapiTombles: nil] autorelease] ipakita];
}10. Ipatupad application: bukasURL: sourceApplication: anotasyon: sa klase sa iyong proyekto na humahawak ng UIApplicationDelegate protocol (bilang default na ito ang AppDelegateclass sa iyong proyekto). Kapag ipinakita ng app ang pahina sa pag-login sa Amazon, at nakumpleto ng gumagamit ang pag-login, magre-redirect ito sa app gamit ang URL Scheme ang app na nakarehistro nang mas maaga. Naipasa ang pag-redirect na iyon application: bukasURL: sourceApplication: anotasyon :, na nagbabalik OO kung ang URL ay matagumpay na hinawakan. hawakanOpenURL: pinagmulan Application: ay isang pagpapaandar ng SDK library na hahawak sa Pag-login gamit ang pag-redirect ng Amazon URLs para sayo Kung hawakanOpenURL: sourceApplication: nagbabalik ng YES, pagkatapos ay ang URL hinawakan.
- Application (BOOL): (UIApplication *) application
bukasURL: (NSURL *)url
sourceApplication: (NSString *) applicationApplication
anotasyon: (id) anotasyon
{
// Ipasa ang url sa SDK upang i-parse ang pahintulot code // mula sa url.
Ang BOOL ayValidRedirectSignInURL =
[AIMobileLib hawakanOpenURL:url
sourceAppli cation: maasim na ceApplicati sa);
kung (! isValidRedirect Si gnlnURL)
bumalik HINDI;
// App maaaring al kaya nais na hawakan e url ibalik ang YES;
}TANDAAN: Ang pamamaraang ito ay hindi na ginagamit sa iOS 9 ngunit dapat isama sa iyong proyekto upang mapanatili ang suporta para sa mga gumagamit sa mas matandang mga platform. Para sa karagdagang impormasyon sa application: bukasURL: sourceApplication: anotasyon :, tingnan mo UIApplicationDelegate Protocol Reference sa developer.apple.com.
Suriin ang Pag-login ng Gumagamit sa Startup
Kung ang isang gumagamit ay nag-log in sa iyong app, isinasara ang app, at i-restart ang app sa paglaon, pinahintulutan pa rin ang app na kunin ang data. Ang gumagamit ay hindi awtomatikong naka-log out. Sa pagsisimula, maaari mong ipakita ang gumagamit bilang naka-log in kung pinahintulutan pa ang iyong app. Ipinapaliwanag ng seksyong ito kung paano gamitin
getAccessTokenForScope: withOverrideParams: delegate: upang makita kung may pahintulot pa rin ang app.
- Lumikha ng isang AMZNGetAccessTokenDelegate klase. AMZNGetAccessTokenDelegateimplements ang AIAuthenticationDelegate protocol, at iproseso ang resulta ng
getAccessTokenForScope: withOverrideParams: delegate: tawag. AIAuthenticationDelegate naglalaman ng dalawang pamamaraan, requestDidSuccess: at requestDidFail: requestDidSuccess: tumatanggap ng isang APIResulta object na may data ng token, habang requestDidFail: tumatanggap ng isang PAG-AARAL object na may impormasyon sa error.#angkat @interface AMZNGetAccessTokenDelegate: NSObject
@katapusan
Idagdag ang header ng pagpapatupad ng iyong delegado sa pagtawag sa klase
getAccessTokenForScope: withOverrideParams: delegate:. Forexample:#import "AMZNGetAccessTokenDelegate.h" - Sa pagsisimula ng app, tumawag
getAccessTokenForScope: withOverrideParams: delegate: upang makita kung may pahintulot pa rin ang aplikasyon. getAccessTokenForScope: withOverrideParams: delegate: Kinukuha ang raw token ng pag-access na ginagamit ng Pag-login gamit ang Amazon upang ma-access ang isang customer profile. Kung magtagumpay ang pamamaraan, pinahintulutan pa rin ang app at isang tawag sa getProfile: dapat magtagumpay. getAccessTokenForScope: withOverrideParams: delegate: gumagamit ng AIAuthenticationDelegate protocol sa parehong pamamaraan tulad ng authorizeUserForScope: delegate:. Ipasa ang bagay na nagpapatupad ng protokol bilang parameter ng delegado.- (walang bisa) checkIsUserSignedIn {
AMZNGetAccessTokenDelegate * delegate =
[[[AMZNGetAccessTokenDelegate alloc] initWithParentController:self] autorelease];
NSArray * requestScope =
[NSArray arrayWithObjects: @ ”profile”, @” Postal_code ”, nil]; [AIMobileLib getAccessTokenForScope: requestScope withOverrideParams: nil delegate: delegate];
} - Ipatupad requestDidSuccess: sa iyong AMZNGetAccessTokenDelegate. requestDidSuccess: ay may isang gawain: upang tumawag getProfile:. Itong examptawag ni le getProfile: gamit ang parehong tagapakinig na iyong idineklara sa nakaraang seksyon (tingnan ang mga hakbang 6-8).
#import "AMZNGetProfileDelegate.h "
#angkat- (walang bisa) requestDidSuccess: (APIResult *) apiResult {
// Ang iyong code upang magamit ang token ng pag-access ay pupunta dito.// Dahil ang application ay may pahintulot para sa aming mga saklaw, maaari naming
[AIMobileLib getProfile: delegate];
// kunin ang pro ng gumagamitfile.
AMZNGetProfileI-delegate ang * delegate = [[[AMZNGetProfileMaglaan ng paglalaan] initWithParentController: magulangViewController] autorelease];
} - Ipatupad requestDidFail: sa iyong AMZNGetAccessTokenDelegate.
requestDidFail: kabilang ang isang PAG-AARAL bagay na naglalaman ng mga detalye tungkol sa error. Kung nakatanggap ka ng isang error, maaari mong i-reset ang pangunahing view upang ipakita ang pindutan ng Pag-login gamit ang Amazon.- (walang bisa) requestDidFail: (APIError *) errorResponse {
// Ang iyong code upang mapanghawakan ang nabigong pagkuha ng token sa pag-access.
// Kung error code = kAIApplicationNotAuthorized, payagan ang gumagamit
// upang mag-log in muli.
kung (errorResponse.error.code == kAIApplicationNotAuthorized) {
// Ipakita ang Pag-login gamit ang Amazon button.
}
iba {
// Pangasiwaan ang iba pang mga error
[[[[UIAlertView ilaan] initWithTitle: @ ”” mensahe: [NSString
stringWithFormat: @ ”Nagkaroon ng error sa mensahe:% @”, errorResponse.error.message] delegado: nil
cancelButtonTitle:@”OK” otherButtonTitle:nil] autorelease] palabas];
}
}
Ang clearAuthorizationState: tatanggalin ng pamamaraan ang data ng pahintulot ng gumagamit mula sa AIMobileLib lokal na tindahan ng data. Ang isang gumagamit ay kailangang mag-log in muli upang makuha ng app ang profile data Gamitin ang pamamaraang ito upang mag-log out ng isang gumagamit, o upang i-troubleshoot ang mga problema sa pag-login sa app.
- Ipahayag ang an AMZNLogoutDelegate. Ito ay isang klase na nagpapatupad ng
AIAuthenticationDelegateprotocol. Para sa aming mga hangarin, maaari nating pagmamana ang klase mula sa NSObject:
#angkat @interface AMZNLogoutDelegate NSObject
@katapusan
Idagdag ang header ng pagpapatupad ng iyong delegado sa pagtawag sa klase malinawAuthorizationState: Para kay example:
#import “AMZNLogoutDelegate.h” - Tumawag malinawAuthorizationState:
Kapag matagumpay na nag-log in ang isang gumagamit, maaari kang magbigay ng isang mekanismo ng pag-logout upang malinis nila ang kanilang data ng pahintulot. Ang iyong mekanismo ay maaaring isang hyperlink, o isang item sa menu, ngunit para sa senaryong ito ang datingample ay lilikha ng a pag-logout ButtonClickedmethod para sa isang pindutan ng pag-logout.- (IBAction) logout ButtonClicked: (id) nagpadala {
AMZNLogoutDelegate* delegate = [[[AMZNLogoutDelegate alloc] initWithParentController:self] autorelease]; [AIMobileLib clearAuthorizationState:delegate];
}Ang tanging parameter sa malinawAuthorizationState ay isang AIAuthenticationDelegate na nagpapatupad requestDidSuccess: at requestDidFail:
- Ipatupad requestDidSuccess: Tatawagan ang pamamaraang ito kapag na-clear ang impormasyon ng gumagamit. Pagkatapos ay dapat mong ipakita sa kanila bilang naka-log out.
- (walang bisa) requestDidSuccess: (APIResult *) apiResult {
// Ang iyong karagdagang lohika pagkatapos ng pahintulot ng gumagamit
// estado ay na-clear.
[[[UIAlertView ilaan] initWithTitle: @ ”” mensahe: @ ”Nag-log out ang User.”
delegate:nil cancelButtonTitle:@”OK” otherButtonTitles:nil] show];
} - Ipatupad requestDidFail: Tatawagan ang pamamaraang ito kung sa ilang kadahilanan ang impormasyon ng gumagamit ay hindi mai-clear mula sa cache. Sa kasong iyon, hindi mo dapat ipakita sa kanila bilang naka-log out.
- (walang bisa) requestDidFail: (APIError *) errorResponse {
// Ang iyong karagdagang lohika pagkatapos ng SDK ay nabigong ma-clear
// estado ng awtorisasyon. [[[[UIAlertView ilaan] initWithTitle: @ ”” mensahe: [NSString
stringWithFormat: @ ”Nabigo ang Pag-logout ng User sa mensahe:% @”,
errorResponse.error.message] delegado: nil
cancelButtonTitle:@”OK” otherButtonTitle:nil] autorelease] palabas];
}
Subukan ang iyong Pagsasama
Ilunsad ang iyong app sa isang iOS aparato o simulator at kumpirmahing maaari kang mag-log in gamit ang iyong mga kredensyal sa Amazon.com.
Tandaan: Kapag sinusubukan ang mga simulator ng iOS10, maaari mong makita ang mensahe ng error na APIKey para sa Application na hindi wasto para sa isang pahintulot na pahintulutan ang UserForScope, o Hindi kilalang Error Code para sa isang malinaw na kahilingan sa Pahintulot ng Estado. Ito ay kilalang bug sa Apple na nangyayari kapag sinusubukan ng SDK na i-access ang keychain. Hanggang sa malutas ng Apple ang bug, maaari kang magtrabaho sa paligid nito sa pamamagitan ng pagpapagana ng Pagbabahagi ng Keychain para sa iyong app sa ilalim ng tab na Mga Kakayahang target ng iyong app. Ang bug na ito ay nakakaapekto lamang sa mga simulator. Maaari mong subukan sa aktwal na mga aparato ng iOS10 nang hindi gumagamit ng anumang solusyon.
Pag-login gamit ang Patnubay sa Pagsisimula ng Amazon para sa iOS Bersyon 2.1.2 - I-download ang [na-optimize]
Pag-login gamit ang Patnubay sa Pagsisimula ng Amazon para sa iOS Bersyon 2.1.2 - I-download