Lowani ndi Amazon Poyambira Buku la iOS
Lowani ndi Amazon: Buku Loyambira la iOS
Copyright © 2016 Amazon.com, Inc., kapena othandizana nawo. Maumwini onse ndi otetezedwa.
Amazon ndi logo ya Amazon ndi zizindikilo za Amazon.com, Inc.kapena othandizana nawo. Zizindikiro zina zonse zomwe sizili ndi Amazon ndi za eni ake.
Chiyambi cha iOS
Mu bukhuli tikuwonetsani momwe mungawonjezere Lowani ndi Amazon ku pulogalamu yanu ya iOS. Mukamaliza bukhuli muyenera kukhala ndi Lowani ndi Amazon batani mu pulogalamu yanu kuti mulole ogwiritsa ntchito kulowa ndi zidziwitso zawo za Amazon.
Kukhazikitsa Xcode
Malowedwe ndi Amazon SDK a iOS amaperekedwa ndi Amazon kukuthandizani kuwonjezera Login ndi Amazon ku pulogalamu yanu ya iOS. SDK yapangidwa kuti igwiritsidwe ntchito ndi chilengedwe cha Xcode. SDK imathandizira mapulogalamu omwe amayenda pa iOS 7.0 ndipo pambuyo pake amagwiritsa ntchito ARMv7, ARMv7s, ARM64, i386, andx86_64.
Mutha kukhazikitsa Xcode kuchokera ku Mac App Store. Kuti mumve zambiri, onani Xcode: Zatsopano ndi ziti pa developer.apple.com.
Xcode itakhazikitsidwa, mutha Ikani Malowedwe ndi Amazon SDK ya iOS ndi Thamangani Sampndi App, monga tafotokozera m'munsimu.
Ikani Malowedwe ndi Amazon SDK ya iOS
Kulowa ndi Amazon SDK ya iOS kumabwera m'maphukusi awiri. Yoyamba ili ndi laibulale ya iOS ndi zolemba zothandizira. Lachiwiri lili ndiample ntchito yomwe imalola wogwiritsa ntchito kulowa ndi view akatswiri awofile deta.
Ngati simunakhazikitse Xcode, onani malangizowo mu Ikani Xcode gawo pamwamba.
- Tsitsani LowaniWithAmazonSDKForiOS.zip ndi kuchotsa files ku chikwatu pa hard drive yanu.
Muyenera kuwona fayilo ya LoginWithAmazon.framework directory. Izi zili ndi Lowani ndi laibulale ya Amazon.
Pamwamba pazip ndi a LoginWithAmazon.doc set directory. Izi zili ndi zolemba za API. - Mwaona Ikani Malowedwe ndi Amazon Library kwa malangizo amomwe mungawonjezere laibulale ku polojekiti ya iOS.
Mukalowa mu Amazon SDK ya iOS, mutha Pangani Kulowa Kwatsopano ndi Amazon Project pambuyo Kulembetsa ndi Lowani ndi Amazon.
Thamangani Sampndi App
Kuyendetsa sample application, tsegulani sample mu Xcode.
- Tsitsani SampleLoginWithAmazonAppForiOS.zip ndi kopi
SampleLoginWithAmazonAppForiOS chikwatu ku foda yanu ya Documents. - Yambani Xcode. Ngati Welcome to Xcode dialog ituluka, dinani Open Other. Kupanda kutero, kuchokera pamndandanda waukulu, dinani File ndi kusankha Open.
- Sankhani chikwatu cha Documents, ndikusankha
SampleLoginWithAmazonAppForiOS / LoginWithAmazonSample/ LoginWithAmazonSampalireza. Dinani Tsegulani. - Aample project tsopano iyenera kunyamula. Mukamaliza, sankhani Zogulitsa kuchokera ku menyu yayikulu ndikusankha Thamangani
Kulembetsa ndi Kulowa ndi Amazon
Musanagwiritse ntchito Lowani ndi Amazon pa a webtsamba kapena pulogalamu yam'manja, muyenera kulembetsa pulogalamu ndi Login ndi Amazon. Lowani yanu ndi pulogalamu ya Amazon ndikulembetsa komwe kumakhala ndi zidziwitso zoyambira bizinesi yanu, komanso zambiri za iliyonse webtsamba kapena pulogalamu yam'manja yomwe mumapanga yomwe imathandizira Lowani ndi Amazon. Zambiri zamabizinesi zimawonetsedwa kwa ogwiritsa ntchito nthawi iliyonse akamagwiritsa ntchito Lowani ndi Amazon patsamba lanu webtsamba kapena pulogalamu yam'manja. Ogwiritsa awona dzina la pulogalamu yanu, logo yanu, ndi ulalo wa mfundo zanu zachinsinsi. Izi zikuwonetsa momwe mungalembetsere Lowani ndi pulogalamu ya Amazon ndikuwonjezera pulogalamu ya iOS ku akauntiyo.
Onani mitu yotsatirayi
- Lembetsani Kulowa Kwanu ndi Ntchito ya Amazon
- Onjezani pulogalamu ya iOS ku Security Profile
- Chizindikiro cha iOS Bundle ndi Keys API
o Dziwani Chizindikiritso cha Bundle cha pulogalamu ya iOS
o Katengereni iOS API Key
Lembetsani Kulowa Kwanu ndi Ntchito ya Amazon
- Pitani ku https://login.amazon.com.
- Ngati mwasayina Login ndi Amazon kale, dinani App Kutitonthoza. Apo ayi, dinani Lowani.
Mudzatumizidwa ku Seller Central, yomwe imayang'anira kulembetsa ntchito kwa Login ndi Amazon. Ngati iyi ndi nthawi yanu yoyamba kugwiritsa ntchito Seller Central, mudzafunsidwa kukhazikitsa akaunti ya Seller Central. - Dinani Lembani Ntchito Yatsopano. The Lembani Ntchito Yanu mawonekedwe adzawoneka:
a. Mu Fomu Yanu Yofunsira, lowetsani Dzina ndi a Kufotokozera za ntchito yanu.
The Dzina ndi dzina lomwe limawonetsedwa pazithunzi zololeza ogwiritsa ntchito akavomera kugawana zambiri ndi pulogalamu yanu. Dzinali limagwira ntchito pa Android, iOS, ndi webmawonekedwe anu atsamba.
b. Lowetsani Chidziwitso Chazinsinsi URL za ntchito yanu.
Chidziwitso Chachinsinsi URL Ndiko komwe mfundo zazinsinsi za kampani yanu kapena zofunsira (za exampndi, http://www.example.com/privacy.html). Ulalo uwu ukuwonetsedwa kwa ogwiritsa ntchito pazenera lololeza.
c. Ngati mukufuna kuwonjezera a Chithunzi cha Logo kuti mugwiritse ntchito, dinani Sakatulani ndi kupeza chithunzi choyenera.
Chizindikirochi chikuwonetsedwa pazenera lolembera ndi chilolezo kuyimira bizinesi yanu kapena webmalo. Chizindikirocho chidzafupikitsidwa mpaka ma pixel 50 muutali ngati chiri chachitali kuposa ma pixel 50; palibe malire pakukula kwa logo. - Dinani Sungani. Yanu sampLe registration iyenera kuwoneka mofanana ndi izi:
Zokonda zanu zoyambira zikasungidwa, mutha kuwonjezera zoikamo mwachindunji webmasamba ndi mapulogalamu am'manja omwe adzagwiritse ntchito Login iyi ndi akaunti ya Amazon.
Ngati mitundu yosiyanasiyana ya pulogalamu yanu ili ndi ma ID osiyanasiyana, monga mtundu umodzi kapena zingapo zoyesera ndi mtundu wopangidwa, mtundu uliwonse umafunika API Key yakeyake. Kuchokera ku Zokonda pa iOS ya pulogalamu yanu, dinani Onjezani Chinsinsi cha API batani kuti mupange makiyi owonjezera a pulogalamu yanu (imodzi pamtundu uliwonse).
Onjezani pulogalamu ya iOS ku Security Profile
Zokonda zanu zoyambira zikasungidwa, mutha kuwonjezera zoikamo mwachindunji webmasamba ndi mapulogalamu am'manja omwe adzagwiritse ntchito Login iyi ndi akaunti ya Amazon.
Kuti mulembetse iOS App, muyenera kutchula chizindikiritso cha Bundle cha projekiti ya pulogalamuyi. Kulowa ndi Amazon kudzagwiritsa ntchito ID ya mtolo kuti apange kiyi ya API. Kiyi ya API ipatsa pulogalamu yanu mwayi wolowera ndi kulowa chilolezo ndi Amazon. Tsatirani izi kuti muwonjezere pulogalamu ya iOS ku akaunti yanu:
- Kuchokera pazenera la Application, dinani Zikhazikiko za iOS. Ngati muli ndi pulogalamu yovomerezeka ya iOS, yang'anani fayilo ya Onjezani Chinsinsi cha API batani mu Zokonda pa iOS gawo.
The Pulogalamu ya iOS Fomu yatsatanetsatane idzawonekera:
- Lowani Label pa iOS App yanu. Ili sikuyenera kukhala dzina lovomerezeka la pulogalamu yanu. Zimangozindikiritsa izi pulogalamu ya iOS pakati pa mapulogalamu ndi webmasamba omwe adalembetsedwa mu Login yanu ndi ntchito ya Amazon.
- Lowetsani yanu Zizindikiro Zambiri. Izi ziyenera kufanana ndi chizindikiritso cha mtolo wa polojekiti yanu ya iOS. Kuti mudziwe chizindikiritso cha mtolo wanu, tsegulani polojekitiyi mu Xcode. Tsegulani mndandanda wazinthu za polojekitiyi ( -Info.plist) mu Woyendetsa Ntchito. Chizindikiritso cha Bundle ndi chimodzi mwazinthu zomwe zili pamndandanda.
- Dinani Sungani.
Chizindikiro cha iOS Bundle ndi Keys API
Chizindikiritso cha Bundle ndichosiyana ndi pulogalamu iliyonse ya iOS. Lowani ndi Amazon amagwiritsa ntchito Bundle ID kupanga API Key yanu. API Key imathandizira Lowani ndi ntchito yovomerezeka ya Amazon kuzindikira pulogalamu yanu.
Sankhani Chidziwitso cha Mtolo cha App ya iOS
- Tsegulani pulogalamu yanu ya Xcode.
- Tsegulani Mndandanda wa Katundu Wachidziwitso za polojekitiyi ( -Info.plist) mu Woyendetsa Ntchito.
- Pezani Chidziwitso cha mtolo m'ndandanda wazinthu.
Fufuzani Chinsinsi cha iOS API
Mutatha kulembetsa mtundu wa iOS ndikupereka ID ya Bundle, mutha kupeza kiyi ya API patsamba lolembetsa kuti mulowe mu akaunti yanu ndi Amazon. Muyenera kuyika kiyi wa API m'ndandanda wazogulitsa. Mpaka mutatero, pulogalamuyi siyololedwa kulumikizana ndi Login ndi Amazon authorization service.
1. Pitani ku https://login.amazon.com.
2. Dinani App Kutitonthoza.
3. Mu Mapulogalamu bokosi, dinani pulogalamu yanu.
4. Pezani pulogalamu yanu iOS pansi pa Zokonda pa iOS gawo. Ngati simunalembetse kale pulogalamu ya iOS, onani Onjezani pulogalamu ya iOS ku Security Profile.
5. Dinani Pangani Mtengo Wofunika wa API. Windo lazowonekera liziwonetsa kiyi yanu ya API. Kuti mukope kiyi, dinani Sankhani Zonse kusankha fungulo lonse.
Zindikirani: Mtengo Wofunika wa API umakhazikitsidwa, mwa zina, panthawi yomwe imapangidwa. Chifukwa chake, ma Value Key API omwe mungapange atha kukhala osiyana ndi oyamba. Mutha kugwiritsa ntchito iliyonse yamtengo wapatali wa API mu pulogalamu yanu popeza yonse ndi yovomerezeka.
6. Onani Onjezani Chinsinsi Chanu cha API pa Mndandanda Wanu Wamapulogalamu kwa malangizo owonjezera kiyi ya API ku pulogalamu yanu ya iOS
Kupanga Lowani ndi Amazon Project
M'chigawo chino, muphunzira momwe mungapangire projekiti yatsopano ya Xcode ya Login ndi Amazon ndikukonzekera ntchitoyi.
Onani mitu iyi:
- Pangani Kulowa Kwatsopano ndi Amazon Project
- Ikani Malowedwe ndi Amazon Library
- Onjezani Chinsinsi Chanu cha API pa Mndandanda Wanu Wamapulogalamu
- Onjezani a URL Scheme ku Mndandanda Wanu Wamapulogalamu
- Onjezani Kupatulapo Chitetezo cha App Transport kwa Amazon ku App Yanu Mndandanda wa Katundu
ZINDIKIRANI: Gawo latsopanoli likufunika pakadali pano popanga iOS 9 SDK - Onjezani Kulowa ndi batani la Amazon ku App Yanu
Pangani Kulowa Kwatsopano ndi Amazon Project
Ngati mulibe pulogalamu yogwiritsira ntchito Lowani ndi Amazon, tsatirani malangizo omwe ali pansipa kuti mupange imodzi. Ngati muli ndi pulogalamu yomwe ilipo, pitani pagawo la Instalar Login ndi Amazon Library pansipa.
- Launch X kodi.
- Ngati mwapatsidwa fayilo ya Takulandilani ku Xcode dialog, select Pangani Project Yatsopano ya Xcode.
Kupanda kutero, kuchokera pa File menyu, sankhani Chatsopano ndi Ntchito. - Sankhani mtundu wa polojekiti yomwe mukufuna kupanga ndikudina Ena.
- Lowani a Dzina lazogulitsa ndi a Kudziwitsa Kampani. Onani fayilo yanu ya Chizindikiritso cha Bundle, ndipo dinani Ena.
- Sankhani malo osungira polojekiti yanu ndikudina Pangani.
Tsopano mukhale ndi projekiti yatsopano yomwe mungagwiritse ntchito kuyitanitsa Kulowa ndi Amazon.
Ikani Malowedwe ndi Amazon Library
Ngati simunatsitse Login ndi Amazon SDK ya iOS, onani Ikani Malowedwe ndi Amazon SDK ya iOS.
Kulowa ndi ntchito ya Amazon kuyenera kulumikizana ndi LoginWithAmazon.framework ndi Chitetezo malaibulale. Mufunikanso kukonza njira yosaka chimango kuti mupeze Lowani ndi mitu ya Amazon
- Ndi polojekiti yanu yotsegulidwa mu Xcode, sankhani fayilo Frameworks foda, dinani File kuchokera ku menyu yayikulu, ndiyeno sankhani Onjezani Files ku "Project".
- Pakazenerako, sankhani LoginWithAmazon.framework ndi clickAdd.
Ngati mudagwiritsa ntchito Lowani ndi laibulale ya Amazon 1.0, chotsani chikwatu cholowera ndi amazon sdk ndi kulowa-with-amazon-sdk.a mufoda ya Frameworks. Dinani Sinthani kuchokera ku menyu yayikulu ndikusankha Chotsani. - Sankhani dzina la polojekiti yanu mu fayilo ya Woyendetsa Ntchito.
The Project Editor zidzawoneka mdera la Xcode workspace. - Dinani dzina la projekiti yanu pansipa Zolinga, ndi kusankha Mangani Magawo. Onjezani Binary Link ndi Library ndikudina chizindikiro chowonjezera kuti muwonjezere laibulale.
- Mubokosi losakira, lowetsani Chitetezo. Sankhani Security.framework ndikudina Onjezani.
- Mubokosi losakira, lowetsani SafariServices.framework. Sankhani SafariServices.framework ndi dinani Onjezani.
- Mubokosi losakira, lowetsani CoreGraphics.framework. Sankhani CoreGraphics.framework ndi dinani Onjezani
- Sankhani Mangani Zokonda. Dinani Zonse kuti view makonda onse.
- Pansi Sakani Njira, onetsetsani kuti LoginWithAmazon.framework lowongolera lili mu Njira Zosaka.
Za exampLe:
Ngati mudagwiritsa ntchito Lowani ndi laibulale ya Amazon 1.0, mutha kuchotsa zolozera panjira ya library ya 1.0 mu Njira Zosaka Pamutu or Njira Zosaka za Library. - Kuchokera ku menyu yayikulu, dinani Zogulitsa ndi kusankha Mangani. Zomangamanga ziyenera kumaliza bwino.
Musanapange pulojekiti yanu, ngati mudagwiritsa ntchito Lowani ndi laibulale ya Amazon 1.0, sinthani #import “AIMobileLib.h”, #import “AIAuthenticationDelegate.h”, or # import "AIError.h" mu gwero lanu files ndi # import
.
LoginWithAmazon.h imaphatikizapo Lowani ndi mitu ya Amazon nthawi imodzi.
Onjezani Chinsinsi Chanu cha API pa Mndandanda Wanu Wamapulogalamu
Mukalembetsa pulogalamu yanu ya iOS ndi Lowani ndi Amazon, mumapatsidwa kiyi ya API. Ichi ndi chizindikiritso chomwe Amazon Mobile Library idzagwiritsa ntchito kuzindikiritsa ntchito yanu Lowani ndi ntchito yovomerezeka ya Amazon. Amazon Mobile Library imakweza mtengo uwu panthawi yothamanga kuchokera pamtengo wamtengo wa API Key mu List of Information Property List.
- Pulojekiti yanu ikatsegulidwa, sankhani Kuthandizira Files foda, kenako sankhani -Info.plist file (ku ndi dzina la projekiti yanu). Izi zikuyenera kutsegula mindandanda yazosintha:
- Onetsetsani kuti palibe zomwe zasankhidwa. Kenako, kuchokera pamenyu yayikulu, dinani Editor, ndi Onjezerani katunduyo. Lowani APIKey ndi dinani Lowani.
- Dinani kawiri pansi pa Mtengo column kuti muwonjezere mtengo. Matani kiyi yanu ya API ngati mtengo wake.
Onjezani a URL Scheme ku Mndandanda Wanu Wamapulogalamu
Wogwiritsa ntchito akalowa, adzawonetsedwa ndi tsamba lolowera ku Amazon. Kuti pulogalamu yanu ilandire chitsimikiziro cholowera kwawo, muyenera kuwonjezera URL chiwembu kuti web tsamba limatha kubwerera ku pulogalamu yanu. Pulogalamu ya URL chiwembu chikuyenera kulengezedwa kuti ndi amzn- (kwa example, kutchfun.example.app). Kuti mumve zambiri, onani Kugwiritsa URL Ndondomeko Zolumikizirana ndi Mapulogalamu pa developer.apple.com.
- Pulojekiti yanu ikatsegulidwa, sankhani Kuthandizira Files foda, kenako sankhani -Info.plist file (ku ndi dzina la projekiti yanu). Izi zikuyenera kutsegula mindandanda yazosintha:
- Onetsetsani kuti palibe zomwe zasankhidwa. Kenako, kuchokera pamenyu yayikulu, dinani Editor, ndi Onjezerani katunduyo. Lowani kapena sankhani URL mitundu ndi dinani Lowani.
- Wonjezerani URL mitundu kuwulula Kanthu 0. Sankhani Kanthu 0 ndipo, kuchokera pamenyu yayikulu, dinani Editor ndi Add Item. Lowetsani kapena sankhani URL Identifier ndikusindikiza Lowani.
- Sankhani Mtengo wa 0 pansi URL Chizindikiritso ndikudina kawiri pansi pa Value column kuti muwonjezere mtengo. Mtengo wake ndi ID yanu yamtolo. Mutha kupeza ID yanu yamtolo yolembedwa ngati chizindikiritso cha Bundle pamndandanda wazinthu.
- Sankhani Mtengo wa 0 pansi URL mitundu ndipo, kuchokera pamndandanda waukulu, dinani Mkonzi ndi Onjezerani katunduyo. Lowani kapena sankhani URL Schemes ndikudina Enter.
- Sankhani Mtengo wa 0 pansi URL Ndondomeko ndikudina kawiri pansi pa Mtengo ndime kuwonjezera a mtengo. Mtengo wake ndi ID yanu yamtolo amzn- kukonzekera (kwa wakaleample, amzn com.example.app). Mutha kupeza ID yanu yamtolo yolembedwa ngati Chidziwitso cha mtolo m'ndandanda wazinthu.
Onjezani Kupatulapo Chitetezo cha App Transport kwa Amazon ku App Yanu
Mndandanda wa Katundu
Kuyambira ndi iOS 9, Apple imakakamiza App Transport Security (ATS) kuti ilumikizane motetezeka pakati pa pulogalamu ndi web ntchito. Mapeto (api.amazon.com) Lowani ndi Amazon SDK imalumikizana ndikusinthana zambiri sizikugwirizana ndi ATS panobe. Onjezani chopatula api.amazon.com kuti mutsegule kulumikizana kopanda msoko pakati pa SDK ndi seva ya Amazon.
- Pulojekiti yanu ikatsegulidwa, sankhani Kuthandizira Files foda, kenako sankhani -Info.plist file (ku ndi dzina la polojekiti yanu). Izi ziyenera kutsegula mndandanda wazinthu:
- Onetsetsani kuti palibe zomwe zalembedwa Kenako, kuchokera pamenyu yayikulu, dinani Mkonzi,ndi Onjezani Chinthu. Lowetsani kapena sankhani NSAppTransportSecurity ndi dinani Lowani.
- Wonjezerani NSAppTransportSecurity ndipo, kuchokera pamndandanda waukulu, dinani Mkonzi ndi Onjezani Chinthu. Lowetsani kapena sankhani NSExceptionDomains ndi dinani Lowani.
- Wonjezerani NSExceptionDomains ndipo, kuchokera pamndandanda waukulu, dinani Mkonzi ndi Onjezani Chinthu. Lowani amazon.com ndikusindikiza Lowani.
- Wonjezerani amazon.com ndipo, kuchokera pamndandanda waukulu, dinani Mkonzi ndi Onjezani Chinthu.Lowani NSExceptionRequiresForwardSecrecy ndi dinani Lowani.
- Sankhani NSExceptionRequiresForwardSecrecy ndikudina kawiri pansi pa Mtengo ndime kuti muwonjezere Sankhani a Mtundu of Boolean ndi a Mtengo of AYI.
Lowani ndi Amazon imapereka mabatani angapo omwe mungagwiritse ntchito kuti mulimbikitse ogwiritsa ntchito kulowa mu pulogalamu yanu. Gawoli limapereka njira zotsitsa Lowani ndi chithunzi cha Amazon ndikuchiphatikiza ndi iOS UIButton.
- Onjezani UIButton yokhazikika ku pulogalamu yanu.
Kwa maphunziro ndi zambiri zamomwe mungawonjezere batani ku pulogalamu, onani Kupanga ndi Kukonzekera View Zinthu ndi Yambani Kupanga Mapulogalamu a iOS Masiku Ano pa developer.apple.com. - Onjezani a Gwirani Mkati chochitika cha batani ku njira yotchedwa onLoginButtonChotsani. Siyani kukhazikitsa kulibe kanthu pakadali pano. The Kupanga ndi Kukonza View Zinthu ndi Yambani Kupanga Mapulogalamu a iOS Masiku Ano zolemba pa apple.com zikuphatikiza masitepe owonjezera chochitika cha batani.
- Sankhani chithunzi cha batani.
Onani Login yathu ndi Amazon Malangizo Akale pamndandanda wamabatani omwe mungagwiritse ntchito mu pulogalamu yanu. Koperani kopi ya LWA_for_iOS.zip file. Pezani batani lomwe mumakonda pamndandanda wa 1x ndi 2x ndikuwatulutsa mu zip. Chotsani batani lanu _Pressed ngati mukufuna kuwonetsa batani mu Selected state. - Onjezani zithunzizo ku projekiti yanu.
a. Mu Xcode, polojekiti yanu itanyamula, dinani File kuchokera ku menyu yayikulu ndikusankha Onjezani Files ku "projekiti".
b. Pakazenerako, sankhani chithunzi cha batani file(s) zomwe mudatsitsa ndikudina Onjezani.
c. Mabataniwa tsopano akuyenera kukhala mu projekiti yomwe ili mufayilo yanu. Asungeni ku Kuthandizira Filechikwatu. - Onjezani chithunzichi ku batani lanu.
Kuti chithunzicho chikhale ndi batani, mutha kusintha batani kapena kugwiritsa ntchito setImage: forState njira pa UIButton chinthu. Tsatirani izi kuti musinthe mawonekedwe anu pazithunzi zanu:
a. Tsegulani bolodi lazolemba pa pulogalamu yanu.
b. Sankhani batani pa bolodi lanu lazakudina podina kapena kusankha pa View Wolamulira Mtengo wa malo.
c. Mu Zothandizira zenera, tsegula Wopereka Woyang'anira.
d. Pamwamba pa Attribute Inspector, ikani Mtundu wa batani ku System.
e. Mu gulu lachiwiri la zoikamo, sankhani Default for State Config.
f. Mu gulu lachiwiri la zoikamo, dontho pansi Image zoikamo.
g. Sankhani Kulowa ndi chithunzi cha Amazon chomwe mwawonjezera pa ntchitoyi. Osasankha mtundu wa 2x: udzajambulidwa zokha pazida zowonetsa kwambiri (Retina).
h. Khazikitsani chithunzi chofanana cha Background.
i. Ngati mukufuna kufotokozera batani lomwe lakanidwa, sankhani Zosankhidwa ku State Config, ndikuyika Chithunzicho ku _Pressed version ya batani lanu.
j. Pa bolodi la nkhani, sinthani kukula kwa batani lanu kuti likhale ndi chithunzichi, ngati kuli kofunikira.
Kugwiritsa ntchito SDK kwa iOS APIs
M'chigawo chino, muwonjezera code ku projekiti yanu kuti mulembetse wosuta ndi Login ndi Amazon.
Onani mitu iyi:
- Sungani Batani Lolowera ndi Pezani Profile Deta
- Onani Malowedwe aogwiritsa pa Startup
- Chotsani Authorization State ndikutuluka Wogwiritsa
Gawoli likufotokoza momwe mungatchulire ma authorizeUserForScopes:delegate: ndi getProfile: APIs kulowa wosuta ndikupeza odziwa awofile deta. Izi zikuphatikizapo kupanga a onLoginButtonClicked: listener pa Lowani yanu ndi batani la Amazon.
- Onjezani Lowani ndi Amazon ku polojekiti yanu ya iOS. Onani Ikani Lowani ndi Amazon Library.
- Lowetsani Kulowa ndi Amazon API kumalo anu file.
Kuti mulowe mu Login ndi Amazon API, onjezerani izi #mawu ku gwero lanu file:#mport - Pangani a AMZNAuthorizeUserDelegateclass kukhazikitsa
AIAuthenticationDelegate.
Liti authorizeUserForScopes:delegate: ikamaliza, idzayitana requestDidSucceed: or requestDidFail: njira pa chinthu chomwe chimagwiritsa ntchito AIAuthenticationDelegate protocol.@interface AMZNAuthorizeUserDelegate : NSObject @TSIRIZA Kuti mudziwe zambiri, onani Kugwira ntchito ndi Protocols pa developer.apple.com.
- Imbani authorizeUserForScopes:delegate: in onLoginButtonChotsani.
Ngati mwatsatira masitepe mu Onjezani Kulowa ndi batani la Amazon ku App Yanu, muyenera kukhala ndi onLoginButtonClicked: method yolumikizidwa ndi Login ndi batani la Amazon. Mwa njira imeneyo, imbani foni authorizeUserForScopes:delegate:to funsani wogwiritsa ntchito kuti alowe ndikuvomereza pulogalamu yanu.
Njirayi imathandizira wogwiritsa ntchito kuti alembe ndikuvomera zomwe afunsidwa mwanjira izi:
1.) Kusintha ku web view potetezedwa (ngati pulogalamu ya Amazon Shopping yayikidwa pa chipangizocho)
2.) Kusintha ku Safari View Wowongolera (pa iOS 9 ndi pambuyo pake)
3.) Kusintha kwa osatsegula pamakina (pa iOS 8 ndi koyambirira)
Malo otetezeka a njira yoyamba amapezeka pomwe pulogalamu ya Amazon Shopping yayikidwa pa chipangizocho. Ngati wosuta adalowa kale ku pulogalamu ya Amazon Shopping, tsamba lolowera lidumphidwa, zomwe zimatsogolera ku a Kusainira Kumodzi (SSO) zochitika.Ntchito yanu ikavomerezedwa, imaloledwa pagulu limodzi kapena angapo omwe amadziwika kuti ma scopes. Gawo loyamba ndi magawo angapo omwe amaphatikiza zomwe mukufuna kugwiritsa ntchito Lowani ndi Amazon. Nthawi yoyamba yomwe wogwiritsa ntchito alowa mu pulogalamu yanu, adzapatsidwa mndandanda wazomwe mukupempha ndikufunsidwa kuti akuvomerezeni. Lowani ndi Amazon pakadali pano imathandizira magawo atatu: profile, yomwe ili ndi dzina la wogwiritsa ntchito, imelo adilesi, ndi ID ya akaunti ya Amazon; profile:Dzina Lolowera, yomwe ili ndi id ya akaunti ya Amazon yokha; ndi Khodi Yapositi, yomwe ili ndi zip/kodi yapositi.
The second parameter to authorizeUserForScopes:delegate: ndi chinthu chomwe chimagwiritsa ntchito AIAuthenticationDelegateprotocol, mu nkhani iyi chitsanzo cha AMZNAuthorizeUserDelegate kalasi.- (IBAction) paLogInButtonClick: (id) wotumiza {
// Imbani foni ku SDK kuti mupeze chizindikiro chotetezedwa
// kwa wogwiritsa.
// Mukamayimba foni yoyamba mutha kufotokoza zofunikira zochepa
// zofunikira.// Kufunsira magawo onse a ogwiritsa ntchito pano.
NSArray *requestScopes =
[NSArray arrayWithObjects:@”profile”, @”postal_code”, nil];AMZNAuthorizeUserDelegate* delegate =
[AIMobileLib authorizeUserForScopes:requestScopes delegate:delegate];
[[AMZNAuthorizeUserDelegate alloc] initWithParentController:self];Onjezani mutu wanu wotsatira wotsatira pa kuyimba kwa kalasi
authorizeUserForScopes:. Za exampLe:#import "AMZNAuthorizeUserDelegate.h" - Pangani an Chithunzi cha AMZNGetProfileNthumwi.
Chithunzi cha AMZNGetProfileNthumwi dzina lathu la kalasi yomwe imagwiritsa ntchito
AIAuthenticationDelegateprotocol, ndipo adzakonza zotsatira za getProfile: kuitana. Monga authorizeUserForScopes:delegate:, getProfile: imathandizira ndi requestDidSucceed: ndi requestDidFail: njira za protocol. requestDidSucceed: amalandira APIResult chinthu ndi profile deta muzotsatira katundu. requestDidFail: amalandira AIE cholakwika chinthu chokhala ndi chidziwitso cholakwika mu katundu wolakwika.
Kuti mupange gulu la nthumwi kuchokera ku chidziwitso chodziwika bwino, lowetsani
AIAuthenticationDelegate.hand onjezani protocol ku chilengezo chamutu wa kalasi yanu file:# import @interface AMZNGetProfileDelegate : NSObject @end - Kukhazikitsa requestDidSucceed:for wanu AMZNAuthorizeUserDelegate. In pemphoAnapambana:, kuitana getProfile: kuti akatenge odziwa kasitomalafile. getProfile:, monga authorizeUserForScopes:delegate:, amagwiritsa ntchito protocol ya AIAuthenticationDelegate.
- (zopanda)requestDidSucceed:(APIResult *)apiResult {
// Khodi yanu pambuyo povomereza kugwiritsa ntchito
// kufunsira kopitilira.// Kwezani zatsopano view wowongolera wokhala ndi chidziwitso chodziwitsa ogwiritsa ntchito
// monga wogwiritsa ntchito tsopano alowa bwino.Chithunzi cha AMZNGetProfileDelegate* delegate =
[[AMZNGetProfileDelegate alloc] initWithParentController:parentViewController] autorelease];
[AIMobileLib getProfile:delegate];
}Onjezani mutu wanu wotsatira wotsatira pa kuyimba kwa kalasi getProfile:. Ndalama ZakunjaampLe:
#import "AMZNGetProfileDelegate.h” - Kukhazikitsa requestDidSucceed: za inu Chithunzi cha AMZNGetProfileNthumwi.
requestDidSucceed:has ntchito zazikulu ziwiri: kupeza ovomerezafile data kuchokera ku APIResult, ndi kutumiza deta ku UI.
Kuti mutenge profile data kuchokera ku APIResult, kupeza zotsatira katundu. Za a getProfile: yankho, katunduyo adzakhala ndi dikishonale ya makhalidwe a wosuta profile katundu. Profile katundu ndi dzina, imelo, ndi Dzina Lolowera za profile scope ndi
Khodi Yapositi za Khodi Yapositi kukula.- (zopanda)requestDidSucceed:(APIResult *)apiResult {
// Pezani profile pempho latheka. Tsegulani profile zambiri
// ndikupatsira kholo view wowongoleraNSString* dzina = [(NSDictionary*)apiResult.result
objectForKey:@"dzina"];
NSString* imelo = [(NSDictionary*)apiResult.result
objectForKey:@"imelo"];
NSString* user_id = [(NSDictionary*)apiResult.result
objectForKey:@”user_id”];
NSString* postal_code = [(NSDictionary*)apiResult.result
objectForKey:@"postal_code"];// Pitani ku data view wowongolera
} - Kukhazikitsa requestDidFail: za inu Chithunzi cha AMZNGetProfileNthumwi.
requestDidFail: zikuphatikizapo ndi APIError chinthu chomwe chili ndi zambiri za cholakwikacho. showLogInPageis njira yongopeka yomwe ingakhazikitsenso chachikulu view wowongolera kuti awonetse Lowani ndi batani la Amazon.- (zopanda) pemphoDidFail: (APIError *) errorResponse {
// Pezani Profile pempho lalephera kwa odziwafile kukula.
// Ngati cholakwika cholakwika = kAIApplicationNotAuthorized,
// kulola wosuta kulowanso.
ngati(errorResponse.error.code == kAIApplicationNotAuthorized) {
// Onetsani batani lololeza ogwiritsa ntchito.
[makoloViewController showLogInPage];
}
zina {
// Sungani zolakwika zina
[[[UIAlertView alloc] initWithTitle:@”” uthenga:[NSString
stringWithFormat:@“Vuto lachitika ndi uthenga: %@”,
errorResponse.error.message] nthumwi:nil
cancelButtonTitle:@”OK”otherButtonTitles:nil] autorelease] show];
}
} - Kukhazikitsa pemphoDidFail:kwa wanu AMZNAuthorizeUserDelegate.
- (zopanda) pemphoDidFail: (APIError *) errorResponse {
NSString *message = errorResponse.error.message;
// Khodi yanu ikalephera chilolezo. [[[UIAlertView alloc] initWithTitle:@”” uthenga:[NSString
stringWithFormat:@”Chilolezo cha ogwiritsa chalephera ndi uthenga: %@”, errorResponse.error.message] delegate:nil
cancelButtonTitle:@”OK”otherButtonTitles:nil] autorelease] show];
}10. Kukhazikitsa ntchito: lotsegukaURL:sourceApplication:annotation: m'kalasi mu polojekiti yanu yomwe imayang'anira Kusankhidwa kwa UIA protocol (mwachisawawa iyi idzakhala AppDelegateclass mu polojekiti yanu). Pulogalamuyo ikapereka tsamba lolowera ku Amazon, ndipo wogwiritsa ntchito akamaliza kulowa, imatumizanso ku pulogalamuyi pogwiritsa ntchito URL Konzani pulogalamu yomwe idalembetsedwa kale. Kutumiza kwina kumaperekedwa ntchito: lotsegukaURL:sourceApplication:annotation:, zomwe zimabwerera INDE ngati ndi URL idasamalidwa bwino. gwiraniOpenURL:sourceApplication: ndi ntchito ya laibulale ya SDK yomwe ingagwire Lowani ndi Amazon yolozeranso URLs kwa inu. Ngati gwiraniOpenURL:sourceApplication:kubweza YES, ndiye URL anagwiridwa.
- (BOOL) ntchito: (UIA application *) ntchito
tsegulaniURL: (NSURL *)url
sourceApplication:(NSString *)sourceApplication
ndemanga:(id)nnotation
{
// Pitani pa url kupita ku SDK kuti muwerenge kachidindo // kuchokera ku url.
BOOL isValidRedirectSignInURL =
[AIMobileLib handleOpenURL:url
sourceAppli cation: wowawasa ceApplicat pa);
ngati ( !isValidRedirect Si gnlnURL)
kubwerera NO;
// Pulogalamu imathanso kufuna kuthana ndi e url bwezerani INDE;
}ZINDIKIRANI: Njirayi imachotsedwa mu iOS 9 koma iyenera kuphatikizidwa mu pulojekiti yanu kuti mukhale ndi chithandizo cha ogwiritsa ntchito pamapulatifomu akale. Kuti mudziwe zambiri pa ntchito: lotsegukaURL:sourceApplication:annotation:, onani UIApplicationDelegate Protocol Reference pa developer.apple.com.
Onani Malowedwe aogwiritsa pa Startup
Wogwiritsa ntchito atalowa mu pulogalamu yanu, atseka pulogalamuyo, ndikuyambiranso pulogalamuyo pambuyo pake, pulogalamuyo imavomerezedwabe kuti itenge deta. Wosuta samachotsedwa zokha. Poyambira, mutha kuwonetsa wogwiritsa ntchito ngati adalowetsedwa ngati pulogalamu yanu ikadali yololedwa. Gawo ili likufotokoza momwe tingagwiritsire ntchito
getAccessTokenForScopes:withOverrideParams:delegate: kuti muwone ngati pulogalamuyi idavomerezedwabe.
- Pangani an AMZNGetAccessTokenDelegate kalasi. AMZNGetAccessTokenDelegatements ndi AIAuthenticationDelegate protocol, ndipo adzakonza zotsatira za
getAccessTokenForScopes:withOverrideParams:delegate: kuitana. AIAuthenticationDelegate lili ndi njira ziwiri, requestDidSucceed: ndi pemphoDidFail:. requestDidSucceed: amalandira APIResult chinthu ndi data chizindikiro, pamene requestDidFail: amalandira APIError chotsani ndi chidziwitso pazolakwikazo.#mport @interface AMZNGetAccessTokenDelegate :NSObject
@TSIRIZA
Onjezani mutu wanu wotsatira wotsatira pa kuyimba kwa kalasi
getAccessTokenForScopes:withOverrideParams:delegate:. Ndalama ZakunjaampLe:#import "AMZNGetAccessTokenDelegate.h" - Poyambitsa pulogalamu, imbani
getAccessTokenForScopes:withOverrideParams:delegate: kuti muwone ngati ntchitoyo idavomerezedwabe. getAccessTokenForScopes:withOverrideParams:delegate: imatenga chizindikiro chofikira chomwe Lowani ndi Amazon amagwiritsa ntchito kuti mupeze kasitomala wamakasitomalafile. Ngati njirayo ipambana, pulogalamuyi imaloledwabe ndikuyimbira foni getProfile: ayenera kuchita bwino. getAccessTokenForScopes:withOverrideParams:delegate: amagwiritsa ntchito AIAuthenticationDelegate protocol m'njira yomweyo authorizeUserForScopes:delegate:. Dulani chinthu chomwe chikukhazikitsa protocol ngati gawo la nthumwi.- (zopanda) checkIsUserSignedIn {
AMZNGetAccessTokenDelegate* nthumwi =
[[AMZNGetAccessTokenDelegate alloc] initWithParentController:self] autorelease];
NSArray *requestScopes =
[NSArray arrayWithObjects:@”profile”, @”postal_code”, nil]; [AIMobileLib getAccessTokenForScopes:requestScopes withOverrideParams:nil delegate:delegate];
} - Kukhazikitsa requestDidSucceed: pa wanu AMZNGetAccessTokenDelegate. requestDidSucceed: ali ndi ntchito imodzi: kuyitana getProfile:. Ex iziample call getProfile: pogwiritsa ntchito womvera yemweyo amene mwalengeza mu gawo lapitalo (onani masitepe 6-8).
#import "AMZNGetProfileDelegate.h”
#mport- (zopanda)requestDidSucceed:(APIResult *)apiResult {
// Khodi yanu yogwiritsira ntchito chizindikiro imapita apa.// Popeza ntchitoyo ili ndi chilolezo pazambiri zathu, titha
[AIMobileLib getProfile:delegate];
// pezani wogwiritsa ntchitofile.
Chithunzi cha AMZNGetProfileDelegate* delegate = [[[AMZNGetProfileDelegate alloc] initWithParentController:parentViewController] autorelease];
} - Kukhazikitsa requestDidFail: pa wanu AMZNGetAccessTokenDelegate.
requestDidFail: zikuphatikizapo ndi APIError chinthu chomwe chili ndi zambiri za cholakwikacho. Ngati mulandira cholakwika, mutha kukonzanso chachikulu view wowongolera kuti awonetse Lowani ndi batani la Amazon.- (zopanda) pemphoDidFail: (APIError *) errorResponse {
// Khodi yanu yosamalira kulephera kubwezeretsa chizindikiro.
// Ngati cholakwika code = kAIApplicationNotAuthorized, lolani wosuta
// kulowanso.
ngati(errorResponse.error.code == kAIApplicationNotAuthorized) {
// Onetsani Lowani ndi batani la Amazon.
}
zina {
// Sungani zolakwika zina
[[[UIAlertView alloc] initWithTitle:@”” uthenga:[NSString
stringWithFormat:@”Vuto lachitika ndi uthenga: %@”, errorResponse.error.message] delegate:nil
cancelButtonTitle:@“OK” otherButtonTitles:nil] autorelease] show];
}
}
The clearAuthorizationState: njira adzachotsa wosuta chilolezo deta ku AIMobileLib malo osungira deta. Wogwiritsa amayenera kulowanso kuti pulogalamuyo itengenso profile deta. Gwiritsani ntchito njirayi kutulutsa wosuta, kapena kuthana ndi mavuto olowa mu pulogalamuyi.
- Nenani ndi AMZNLogoutDelegate. Iyi ndi kalasi yomwe imagwiritsa ntchito
AIAuthenticationDelegateprotocol. Zolinga zathu, titha kulandira kalasi Nkhani ya NSO:
#mport @interface AMZNLogoutDelegate NSObject
@TSIRIZA
Onjezani mutu wanu wotsatira wotsatira pa kuyimba kwa kalasi clearAuthorizationState:. Za exampLe:
#import "AMZNLogoutDelegate.h" - Imbani clearAuthorizationState:.
Wogwiritsa ntchito akalowa bwino, mutha kupereka njira yolowera kuti athe kuchotsa zomwe adaziloleza. Makina anu akhoza kukhala hyperlink, kapena chinthu cha menyu, koma pazochitika izi example adzapanga a logoutButtonClickedmethod kwa batani lolowera.- (IBAction)logoutButtonClicked:(id)sender {
AMZNLogoutDelegate* delegate = [[[AMZNLogoutDelegate alloc] initWithParentController:self] autorelease]; [AIMobileLib clearAuthorizationState:delegate];
}The only parameter to chotsaniAuthorizationState ndi a AIAuthenticationDelegate kuti zida requestDidSucceed: ndi pemphoDidFail:.
- Kukhazikitsa pemphoAnapambana:. Njirayi idzatchedwa pamene chidziwitso cha wogwiritsa ntchito chidzachotsedwa. Muyenera kuwawonetsa ngati atuluka.
- (zopanda)requestDidSucceed:(APIResult *)apiResult {
// Malingaliro anu owonjezera pambuyo pa chilolezo cha ogwiritsa ntchito
// boma lachotsedwa.
[[[UIAlertView alloc] initWithTitle:@””uthenga:@“Wogwiritsa Watuluka.”
delegate:nil cancelButtonTitle:@”Chabwino” otherButtonTitles:nil] show];
} - Kukhazikitsa pemphoDidFail:. Njirayi idzayitanidwa ngati pazifukwa zina zambiri za wogwiritsa ntchito sizingachotsedwe ku cache. Zikatero, musawawonetse ngati atuluka.
- (zopanda) pemphoDidFail: (APIError *) errorResponse {
// Malingaliro anu owonjezera SDK italephera kumveka
// boma lovomerezeka. [[[UIAlertView alloc] initWithTitle:@”” uthenga:[NSString
stringWithFormat:@”Kutuluka kwa Ogwiritsa kwalephera ndi uthenga: %@”,
errorResponse.error.message] nthumwi:nil
cancelButtonTitle:@“OK” otherButtonTitles:nil] autorelease] show];
}
Yesani Kuphatikiza kwanu
Yambitsani pulogalamu yanu mu chipangizo cha iOS kapena simulator ndipo mutsimikizire kuti mutha kulowa ndi mbiri yanu ya Amazon.com.
Zindikirani: Mukayesa zoyeserera za iOS10, mutha kuwona kuti uthenga wolakwika wa APIKey wa Pulogalamuyo ndi wolakwika pakufunsiraUserForScopes, kapena Khodi Yolakwika Yosadziwika pa pempho la clearAuthorizationState. Izi ndi kachilombo kodziwika ndi Apple zomwe zimachitika pamene SDK ikuyesera kupeza keychain. Mpaka Apple itathetsa vutoli, mutha kuchitapo kanthu poyambitsa Kugawana kwa Keychain kwa pulogalamu yanu pansi pa Capabilities tabu ya chandamale cha pulogalamu yanu. Vutoli limakhudza oyeserera okha. Mutha kuyesa pazida zenizeni za iOS10 popanda kugwiritsa ntchito njira iliyonse.
Lowani ndi Amazon Poyambira Maupangiri a iOS Version 2.1.2 - Tsitsani [wokometsedwa]
Lowani ndi Amazon Poyambira Maupangiri a iOS Version 2.1.2 - Tsitsani