با راهنمای شروع آمازون برای iOS وارد شوید
ورود با آمازون: راهنمای شروع کار برای iOS
حق چاپ © 2016 Amazon.com، Inc یا شرکت های وابسته به آن. کلیه حقوق محفوظ است
آمازون و آرم آمازون علائم تجاری Amazon.com، Inc. یا شرکت های وابسته به آن هستند. سایر علائم تجاری متعلق به آمازون متعلق به صاحبان مربوطه می باشند.
شروع کار برای iOS
در این راهنما به شما نشان خواهیم داد که چگونه می توانید ورود به سیستم با آمازون را به برنامه iOS خود اضافه کنید. پس از تکمیل این راهنما ، باید یک دکمه ورود به سیستم با برنامه آمازون در برنامه خود داشته باشید تا به کاربران اجازه ورود با اعتبار آمازون خود را بدهید.
در حال نصب Xcode
ورود با Amazon SDK برای iOS توسط آمازون ارائه می شود تا به شما کمک کند ورود با آمازون را به برنامه iOS خود اضافه کنید. SDK برای استفاده در محیط توسعه Xcode در نظر گرفته شده است. SDK از برنامه هایی که روی iOS 7.0 و بالاتر با استفاده از ARMv7 ، ARMv7s ، ARM64 ، i386 وx86_64 استفاده می شوند پشتیبانی می کند.
می توانید Xcode را از Mac App Store نصب کنید. برای اطلاعات بیشتر ببین Xcode: چه خبر در developer.apple.com.
پس از نصب Xcode ، می توانید ورود به سیستم را با Amazon SDK برای iOS نصب کنید و S را اجرا کنیدampبرنامه le، به شرح زیر.
ورود به سیستم را با Amazon SDK برای iOS نصب کنید
Login with Amazon SDK for iOS در دو بسته ارائه می شود. اولین مورد شامل کتابخانه iOS و اسناد پشتیبانی است. دوم شامل به عنوانample برنامه ای که به کاربر اجازه ورود به سیستم و view طرفدار آنهاfile داده ها
اگر هنوز Xcode را نصب نکرده اید ، به دستورالعمل های موجود در بخش مراجعه کنید Xcode را نصب کنید بخش بالا
- دانلود کنید ورود به سیستم با آمازون SDKForiOS.zip و استخراج کنید files به یک دایرکتوری در هارد دیسک شما.
شما باید یک ورود به سیستم با چارچوب Amazon فهرست راهنما. این شامل ورود به سیستم با کتابخانه آمازون است.
در سطح بالای zip یک است ورود به سیستم با Amazon.doc فهرست را تنظیم کنید. این شامل مستندات API است. - ببینید ورود به سیستم با کتابخانه آمازون را نصب کنید برای راهنمایی در مورد نحوه افزودن کتابخانه به یک پروژه iOS.
وقتی ورود با Amazon SDK برای iOS نصب شد ، می توانید با آمازون پروژه یک ورود جدید ایجاد کنید بعد از ثبت نام با ورود با آمازون.
S را اجرا کنیدampبرنامه le
برای اجرای sample برنامه ، s را باز کنیدample در Xcode.
- دانلود کنید SampleLoginWithAmazonAppForiOS.zip و کپی کنید
SampleLoginWithAmazonAppForiOS دایرکتوری به پوشه Documents شما. - Xcode را شروع کنید. اگر پنجره Welcome to Xcode ظاهر شد ، روی Open Other کلیک کنید. در غیر این صورت ، از منوی اصلی ، روی کلیک کنید File و Open را انتخاب کنید.
- پوشه Documents را انتخاب کرده و انتخاب کنید
SampleLoginWithAmazonAppForiOS/ورود با AmazonSample/ LoginWithAmazonSample.xcodeproj. کلیک کنید باز کنید. - sampپروژه le در حال حاضر باید بارگیری شود. وقتی کار تمام شد ، انتخاب کنید محصول از منوی اصلی انتخاب کنید اجرا کنید
ثبت نام با ورود با آمازون
قبل از اینکه بتوانید از ورود با آمازون در یک استفاده کنید webسایت یا در یک اپلیکیشن موبایل، باید اپلیکیشنی را با Login با آمازون ثبت کنید. برنامه ورود شما با آمازون، ثبتی است که حاوی اطلاعات اولیه در مورد کسب و کار شما و اطلاعات مربوط به هر کدام است webسایت یا برنامه موبایلی که ایجاد می کنید و از ورود با آمازون پشتیبانی می کند. این اطلاعات کسب و کار هر بار که کاربران از Login with Amazon در شما استفاده می کنند به نمایش گذاشته می شود webسایت یا اپلیکیشن موبایل کاربران نام برنامه شما، لوگوی شما و پیوندی به خط مشی رازداری شما را خواهند دید. این مراحل نحوه ثبت نام Login با برنامه آمازون و افزودن یک برنامه iOS به آن حساب را نشان می دهد.
مباحث زیر را مشاهده کنید
- ورود خود را با برنامه آمازون ثبت کنید
- یک برنامه iOS را به Security Pro اضافه کنیدfile
- شناسه بسته نرم افزاری iOS و کلیدهای API
o شناسه بسته نرم افزاری را برای یک برنامه iOS تعیین کنید
o کلید API iOS را بازیابی کنید
ورود خود را با برنامه آمازون ثبت کنید
- رفتن به https://login.amazon.com.
- اگر قبلاً برای ورود با آمازون ثبت نام کرده اید ، کلیک کنید برنامه کنسول در غیر اینصورت، روی کلیک کنید ثبت نام کنید.
شما به Seller Central ، که ثبت نام برنامه برای ورود با آمازون را کنترل می کند ، هدایت می شوید. اگر اولین بار است که از Seller Central استفاده می کنید ، از شما خواسته می شود یک حساب Sales Seller راه اندازی کنید. - کلیک کنید ثبت برنامه جدید. را درخواست خود را ثبت کنید فرم ظاهر می شود:
a. در فرم درخواست خود ثبت کنید ، یک نام و یک وارد کنید توضیحات برای درخواست شما
را نام زمانی که کاربران موافقت می کنند اطلاعات را با برنامه شما به اشتراک بگذارند، نامی است که در صفحه رضایت نمایش داده می شود. این نام برای اندروید، iOS و webنسخه های سایت برنامه شما
b. یک اعلامیه حریم خصوصی وارد کنید URL برای درخواست شما
اعلامیه حریم خصوصی URL محل خط مشی رازداری شرکت یا برنامه شما است (برای مثالample ، http: //www.example.com/privacy.html). این پیوند در صفحه رضایت به کاربران نمایش داده می شود.
c. اگر می خواهید یک را اضافه کنید تصویر لوگو برای درخواست خود، کلیک کنید مرور کنید و تصویر مربوطه را پیدا کنید.
این نشان در صفحه ورود به سیستم و رضایت شما نمایش داده می شود تا نماینده کسب و کار شما باشد webسایت. اگر بلندتر از 50 پیکسل باشد ، ارتفاع آرم تا 50 پیکسل کاهش می یابد. هیچ محدودیتی در عرض لوگو وجود ندارد. - کلیک کنید ذخیره کنید. شماampثبت نام باید شبیه به این باشد:
پس از اینکه تنظیمات اصلی برنامه شما ذخیره شد، می توانید تنظیمات خاصی را اضافه کنید webسایت ها و برنامه های تلفن همراه که از این ورود با حساب آمازون استفاده خواهند کرد.
اگر نسخه های مختلف برنامه شما دارای شناسه های بسته نرم افزاری مختلف هستند ، مانند یک یا چند نسخه آزمایشی و یک نسخه تولیدی ، هر نسخه به API Key خاص خود نیاز دارد. از تنظیمات iOS از برنامه خود ، روی کلیک کنید اضافه کردن کلید API دکمه ایجاد کلیدهای اضافی برای برنامه شما (یکی در هر نسخه).
یک برنامه iOS را به Security Pro اضافه کنیدfile
پس از اینکه تنظیمات اصلی برنامه شما ذخیره شد، می توانید تنظیمات خاصی را اضافه کنید webسایت ها و برنامه های تلفن همراه که از این ورود با حساب آمازون استفاده خواهند کرد.
برای ثبت یک برنامه iOS ، باید شناسه Bundle را برای پروژه برنامه مشخص کنید. ورود به سیستم با آمازون از شناسه بسته برای تولید کلید API استفاده می کند. کلید API به برنامه شما اجازه می دهد تا با سرویس مجوز ورود به سیستم آمازون وارد شوید. برای افزودن برنامه iOS به حساب خود این مراحل را دنبال کنید:
- از صفحه برنامه، کلیک کنید تنظیمات iOS اگر قبلاً یک برنامه iOS ثبت کرده اید ، به دنبال آن بروید اضافه کردن کلید API دکمه در تنظیمات iOS بخش
را برنامه iOS فرم جزئیات ظاهر می شود:
- را وارد کنید برچسب بزنید از برنامه iOS شما این نباید نام رسمی برنامه شما باشد. به سادگی این برنامه خاص iOS را در بین برنامه ها و webسایتهایی که با برنامه آمازون برای ورود به سیستم ثبت شده اند.
- خود را وارد کنید شناسه بسته این باید با شناسه بسته پروژه iOS شما مطابقت داشته باشد. برای تعیین شناسه بسته نرم افزاری خود ، پروژه را در Xcode باز کنید. لیست مشخصات پروژه را باز کنید ( -Info.plist) در پروژه ناوبری شناسه Bundle یکی از خصوصیات لیست است.
- کلیک کنید ذخیره کنید.
شناسه بسته نرم افزاری iOS و کلیدهای API
شناسه Bundle برای هر برنامه iOS منحصر به فرد است. ورود با آمازون از ID Bundle برای ساختن کلید API شما استفاده می کند. API Key برای شناسایی برنامه شما امکان ورود با خدمات مجوز آمازون را فراهم می کند.
شناسه بسته نرم افزاری را برای یک برنامه iOS تعیین کنید
- پروژه برنامه خود را در Xcode باز کنید.
- را باز کنید لیست املاک اطلاعات برای پروژه ( -Info.plist) در پروژه ناوبری
- پیدا کنید شناسه بسته در لیست خواص.
یک کلید API iOS را بازیابی کنید
پس از ثبت نسخه iOS و ارائه Bundle ID ، می توانید کلید API را از صفحه ثبت نام برای ورود به سیستم با برنامه آمازون بازیابی کنید. شما باید آن کلید API را در لیست ویژگی پروژه خود قرار دهید. تا زمانی که این کار را انجام ندهید ، برنامه مجاز به برقراری ارتباط با سرویس اجازه ورود با آمازون نیست.
1. برو به https://login.amazon.com.
2. کلیک کنید برنامه کنسول.
3. در برنامه ها بر روی برنامه خود کلیک کنید.
4. برنامه iOS خود را در زیر پیدا کنید تنظیمات iOS بخش. اگر قبلاً برنامه iOS را ثبت نکرده اید ، مراجعه کنید یک برنامه iOS را به Security Pro اضافه کنیدfile.
5. کلیک کنید مقدار کلیدی API ایجاد کنید. یک پنجره بازشو کلید API شما را نمایش می دهد. برای کپی کردن کلید ، کلیک کنید همه را انتخاب کنید برای انتخاب کل کلید
توجه: مقدار کلیدی API تا حدی بر اساس زمان تولید آن استوار است. بنابراین ، ممکن است مقدار یا ارزشهای اصلی API تولید شده با نسخه اصلی متفاوت باشد. شما می توانید از هر یک از این مقادیر کلیدی API در برنامه خود استفاده کنید زیرا همه آنها معتبر هستند.
6. ببینید کلید API خود را به لیست ویژگی برنامه خود اضافه کنید برای راهنمایی در مورد اضافه کردن کلید API به برنامه iOS خود
ایجاد یک ورود با پروژه آمازون
در این بخش ، شما یاد خواهید گرفت که چگونه یک پروژه Xcode جدید برای ورود با آمازون ایجاد کرده و پروژه را پیکربندی کنید.
موضوعات زیر را مشاهده کنید:
- با آمازون پروژه یک ورود جدید ایجاد کنید
- ورود به سیستم با کتابخانه آمازون را نصب کنید
- کلید API خود را به لیست ویژگی برنامه خود اضافه کنید
- a اضافه کنید URL طرح به لیست ویژگی برنامه شما
- یک برنامه استثنای امنیت حمل و نقل برنامه برای آمازون به برنامه خود اضافه کنید لیست املاک
توجه: این مرحله جدید در حال حاضر هنگام توسعه در iOS 9 SDK مورد نیاز است - ورود به سیستم با دکمه آمازون به برنامه خود
با آمازون پروژه یک ورود جدید ایجاد کنید
اگر هنوز یک پروژه برنامه برای استفاده از ورود به سیستم با آمازون ندارید ، برای ایجاد یک پروژه دستورالعمل های زیر را دنبال کنید. اگر برنامه فعلی دارید ، از بخش Install the Login with Amazon Library در زیر بروید.
- راه اندازی کنید Xcode.
- اگر با شما ارائه می شود به Xcode خوش آمدید گفتگو، انتخاب کنید یک پروژه Xcode جدید ایجاد کنید.
در غیر این صورت ، از File منو، انتخاب کنید جدید و پروژه. - نوع پروژه ای را که می خواهید ایجاد کنید انتخاب کرده و کلیک کنید بعدی
- الف را وارد کنید نام محصول و الف شناسه شرکت توجه داشته باشید شناسه بسته، و کلیک کنید بعدی
- مکانی را برای ذخیره پروژه خود انتخاب کنید و کلیک کنید ایجاد کنید.
اکنون یک پروژه جدید خواهید داشت که می توانید از آن برای تماس با ورود با آمازون استفاده کنید.
ورود به سیستم با کتابخانه آمازون را نصب کنید
اگر هنوز ورود با Amazon SDK را برای iOS بارگیری نکرده اید ، مراجعه کنید ورود به سیستم را با Amazon SDK برای iOS نصب کنید.
یک پروژه ورود با آمازون باید لینک را ایجاد کند ورود به سیستم با چارچوب Amazon و امنیت. چارچوب کتابخانه ها همچنین برای یافتن ورود به سیستم با عناوین Amazon باید مسیر جستجوی چارچوب را پیکربندی کنید
- با باز کردن پروژه در Xcode ، گزینه را انتخاب کنید چارچوب ها پوشه را کلیک کنید File را از منوی اصلی انتخاب کرده و سپس انتخاب کنید اضافه کنید Files به "پروژه".
- در گفتگو ، را انتخاب کنید ورود به سیستم با چارچوب Amazon و کلیک کنید افزودن
اگر از کتابخانه ورود با آمازون 1.0 استفاده کرده اید ، فهرست login-with-amazon sdk و login-with-amazon-sdk.a را از پوشه Frameworks حذف کنید. کلیک ویرایش کنید از منوی اصلی انتخاب کنید حذف کنید. - نام پروژه خود را در قسمت پروژه ناوبری
را ویرایشگر پروژه در قسمت ویرایشگر فضای کاری Xcode ظاهر می شود. - نام پروژه خود را در زیر کلیک کنید اهداف، و انتخاب کنید ساخت فازها پیوند باینری را با کتابخانه ها گسترش دهید و برای افزودن کتابخانه روی علامت مثبت کلیک کنید.
- در جعبه جستجو ، وارد شوید امنیت. چارچوب انتخاب کنید Security.framework و کلیک کنید اضافه کنید.
- در جعبه جستجو ، وارد شوید چارچوب SafariServices. انتخاب کنید چارچوب SafariServices و کلیک کنید اضافه کنید.
- در جعبه جستجو ، وارد شوید CoreGraphics.framework. انتخاب کنید CoreGraphics.framework و کلیک کنید اضافه کنید
- انتخاب کنید تنظیمات ساخت. روی همه کلیک کنید view همه تنظیمات
- زیر مسیرها را جستجو کنید، اطمینان حاصل کنید که ورود به سیستم با چارچوب Amazon فهرست در مسیرهای جستجوی چارچوب.
برای مثالampدر:
اگر از کتابخانه ورود با آمازون 1.0 استفاده کرده اید ، می توانید هرگونه مراجعه به مسیر کتابخانه 1.0 را در کتابخانه حذف کنید مسیرهای جستجوی سرصفحه or مسیرهای جستجوی کتابخانه. - از منوی اصلی، کلیک کنید محصول و انتخاب کنید ساخت. ساخت باید با موفقیت انجام شود.
قبل از ساخت پروژه ، اگر از کتابخانه ورود با آمازون 1.0 استفاده کرده اید ، آن را جایگزین کنید # وارد کردن "AIMobileLib.h" ، # وارد کردن "AIAuthenticationDelegate.h" ، or #واردات "AIError.h" در منبع شما fileبا #واردات
.
ورود به سیستم با Amazon.h شامل همه ورود به سیستم با سربرگ های آمازون به طور همزمان.
کلید API خود را به لیست ویژگی برنامه خود اضافه کنید
هنگامی که برنامه iOS خود را با ورود با آمازون ثبت می کنید ، یک کلید API به شما اختصاص داده می شود. این شناسه ای است که کتابخانه موبایل آمازون برای شناسایی برنامه شما در سرویس مجوز ورود با آمازون استفاده می کند. کتابخانه موبایل آمازون این مقدار را در زمان اجرا از مقدار ویژگی API Key در فهرست مشخصات اطلاعات برنامه شما بارگیری می کند.
- با باز کردن پروژه ، گزینه را انتخاب کنید حمایت می کند Files پوشه را انتخاب کنید ، سپس -Info.plist file (کجا نام پروژه شماست). این باید لیست ویژگی را برای ویرایش باز کند:
- اطمینان حاصل کنید که هیچ یک از ورودی ها انتخاب نشده اند. سپس ، از فهرست اصلی ، کلیک کنید ویرایشگر، و این مورد را اضافه کنید. وارد کنید کلید ای پی ای و فشار دهید وارد کنید.
- در زیر دابل کلیک کنید ارزش ستون برای افزودن مقدار. کلید API خود را به عنوان مقدار جایگذاری کنید.
a اضافه کنید URL طرح به لیست ویژگی برنامه شما
هنگامی که کاربر وارد سیستم می شود ، صفحه ورود به سیستم آمازون به وی ارائه می شود. برای اینکه برنامه شما تأیید ورود به سیستم را دریافت کند ، باید یک را اضافه کنید URL طوری برنامه ریزی کنید که web صفحه می تواند دوباره به برنامه شما تغییر مسیر دهد. این URL طرح باید به صورت اعلام شود amzn- (برای مثالampلی، amzncom.example.app) برای اطلاعات بیشتر ببین با استفاده از URL طرح هایی برای برقراری ارتباط با برنامه ها در developer.apple.com.
- با باز کردن پروژه ، گزینه را انتخاب کنید حمایت می کند Files پوشه را انتخاب کنید ، سپس -Info.plist file (کجا نام پروژه شماست). این باید لیست ویژگی را برای ویرایش باز کند:
- اطمینان حاصل کنید که هیچ یک از ورودی ها انتخاب نشده اند. سپس ، از فهرست اصلی ، کلیک کنید ویرایشگر، و این مورد را اضافه کنید. وارد کنید یا انتخاب کنید URL انواع و فشار دهید وارد کنید.
- گسترش دهید URL انواع آشکار کردن مورد 0. انتخاب کنید مورد 0 و از منوی اصلی ، روی ویرایشگر و افزودن مورد کلیک کنید. وارد کنید یا انتخاب کنید URL شناسایی و فشار دهید وارد کنید.
- انتخاب کنید مورد 0 زیر URL شناسه و زیر ستون Value دوبار کلیک کنید تا یک مقدار اضافه شود. مقدار شناسه بسته شماست. می توانید شناسه بسته نرم افزاری خود را که به عنوان شناسه بسته در لیست املاک ذکر شده است ، پیدا کنید.
- انتخاب کنید مورد 0 زیر URL انواع و از منوی اصلی ، کلیک کنید ویرایشگر و این مورد را اضافه کنید. وارد کنید یا انتخاب کنید URL طرح ها را فشار داده و Enter را فشار دهید.
- انتخاب کنید مورد 0 زیر URL طرح ها و در زیر دابل کلیک کنید ارزش ستون برای افزودن ارزش مقدار شناسه بسته شما با است amzn- اضافه شده (برای مثالampلی، amzn com.example.app). می توانید شناسه بسته نرم افزاری خود را به صورت لیست شده پیدا کنید شناسه بسته در لیست املاک.
یک برنامه استثنای امنیت حمل و نقل برنامه برای آمازون به برنامه خود اضافه کنید
لیست املاک
با شروع iOS 9، اپل امنیت حمل و نقل برنامه (ATS) را برای اتصالات ایمن بین یک برنامه و web خدمات. نقطه پایانی (api.amazon.com) که Login with Amazon SDK با آن برای تبادل اطلاعات تعامل دارد، هنوز با ATS مطابقت ندارد. برای فعال کردن ارتباط یکپارچه بین SDK و سرور آمازون، یک استثنا برای api.amazon.com اضافه کنید.
- با باز کردن پروژه ، گزینه را انتخاب کنید حمایت می کند Files پوشه را انتخاب کنید ، سپس -Info.plist file (کجا نام پروژه شماست). این باید پیشوند لیست لیست ویژگی را باز کند:
- اطمینان حاصل کنید که هیچ یک از ورودی ها وجود ندارد. سپس ، از فهرست اصلی ، کلیک کنید ویرایشگر، و آیتم را اضافه کنید. وارد کنید یا انتخاب کنید امنیت NSAppTransport و فشار دهید وارد کنید.
- گسترش دهید امنیت NSAppTransport و از منوی اصلی ، کلیک کنید ویرایشگر و آیتم را اضافه کنید. وارد کنید یا انتخاب کنید دامنه های NSException و فشار دهید وارد کنید.
- گسترش دهید دامنه های NSException و از منوی اصلی ، کلیک کنید ویرایشگر و آیتم را اضافه کنید. وارد amazon.com شوید و فشار دهید وارد کنید.
- گسترش دهید amazon.com و از منوی اصلی ، کلیک کنید ویرایشگر و آیتم را اضافه کنید.وارد NSExceptionRequiresForwardScrecy و فشار دهید وارد کنید.
- انتخاب کنید NSExceptionRequiresForwardScrecy و در زیر دابل کلیک کنید ارزش ستون را برای اضافه کردن انتخاب کنید تایپ کنید of بولی و الف ارزش of نه
ورود با آمازون چندین دکمه استاندارد را در اختیار شما قرار می دهد که می توانید با استفاده از آنها کاربران را وادار به ورود از برنامه خود کنید. در این بخش مراحل بارگیری ورود رسمی با تصویر آمازون و جفت شدن آن با UIButton iOS ارائه می شود.
- یک دکمه UIB استاندارد به برنامه خود اضافه کنید.
برای آموزش و اطلاعات در مورد نحوه افزودن دکمه به برنامه ، مراجعه کنید ایجاد و پیکربندی View اشیاء و از امروز شروع به توسعه برنامه های iOS کنید در developer.apple.com. - را اضافه کنید Up Inside را لمس کنید رویداد برای دکمه روشی به نام onLoginButton کلیک کرد. فعلاً اجرا را خالی بگذارید. ایجاد و در حال پیکربندی View اشیاء و از امروز شروع به توسعه برنامه های iOS کنید اسناد در apple.com شامل مراحل اضافه کردن یک رویداد دکمه ای است.
- تصویر دکمه را انتخاب کنید.
با ورود ما با آمازون مشورت کنید دستورالعمل های سبک برای لیستی از دکمه هایی که می توانید در برنامه خود استفاده کنید. یک نسخه از LWA_for_iOS.zip fileبه دکمه دلخواه خود را در هر دو فهرست 1x و 2x پیدا کنید و آنها را از فشرده خارج کنید. اگر می خواهید دکمه را در حالت انتخاب شده نشان دهید ، نسخه _Pressed از دکمه خود را استخراج کنید. - تصاویر را به پروژه خود اضافه کنید.
a. در Xcode ، با بارگیری پروژه ، روی کلیک کنید File از منوی اصلی انتخاب کنید اضافه کنید Files به "پروژه"
b. در محاوره ، تصویر دکمه را انتخاب کنید file(ها) که دانلود کرده اید و کلیک کنید اضافه کنید.
c. اکنون دکمه ها باید در فهرست زیر فهرست پروژه شما باشند. آنها را به بخش پشتیبانی منتقل کنید Fileپوشه - تصویر را به دکمه خود اضافه کنید.
برای فعال کردن تصویر برای دکمه خود ، می توانید ویژگی دکمه را تغییر دهید یا از آن استفاده کنید setImage: forState روش در دکمه UIB هدف - شی. برای اصلاح ویژگی تصویر دکمه خود این مراحل را دنبال کنید:
a. صفحه داستان را برای برنامه خود باز کنید.
b. با کلیک روی آن یا انتخاب آن از ، دکمه موجود در صفحه داستان خود را انتخاب کنید View کنترل کننده درخت صحنه
c. در آب و برق پنجره ، باز کنید بازرسان صفات.
d. در بالای Attribute Inspector ، نوع دکمه را روی System تنظیم کنید.
e. در گروه دوم تنظیمات ، Default for State Config را انتخاب کنید.
f. در گروه دوم تنظیمات ، تنظیمات تصویر را پایین بیاورید.
g. گرافیک دکمه ورود با آمازون را که به پروژه اضافه کرده اید انتخاب کنید. نسخه 2x را انتخاب نکنید: به طور خودکار در دستگاه های نمایشگر با تراکم بالا (Retina) بارگیری می شود.
h. همان تصویر را برای تنظیم Background تنظیم کنید.
i. اگر می خواهید یک نسخه فشرده از دکمه را مشخص کنید ، گزینه Selected for State Config را انتخاب کنید و تصویر را روی _Pressed نسخه دکمه خود تنظیم کنید.
j. در صفحه داستان ، در صورت لزوم ، اندازه دکمه خود را متناسب با تصویر تنظیم کنید.
استفاده از SDK برای API های iOS
در این بخش ، برای ورود به سیستم کاربر با Login با آمازون ، کدی را به پروژه خود اضافه می کنید.
موضوعات زیر را مشاهده کنید:
- دکمه ورود را کنترل کنید و حرفه ای شویدfile داده ها
- ورود به سیستم کاربر را هنگام راه اندازی بررسی کنید
- مجوز را پاک کنید و یک کاربر را از سیستم خارج کنید
در این بخش نحوه تماس با autorizeUserForScopes: نماینده: و getProfile: API ها برای ورود به یک کاربر و بازیابی حرفه ای اوfile داده ها. این شامل ایجاد یک onLoginButtonClicked: شنونده برای ورود به سیستم با دکمه آمازون.
- ورود به سیستم با آمازون را به پروژه iOS خود اضافه کنید. به نصب ورود با کتابخانه آمازون مراجعه کنید.
- ورود به سیستم با Amazon API را به منبع خود وارد کنید file.
برای وارد کردن ورود با Amazon API ، موارد زیر را اضافه کنید # واردات به منبع شما file:#وارد كردن - ایجاد کنید AMZNA مجاز کردن کاربر کلاس نمایشی برای اجرا
AIAauthenticationDelegate.
چه زمانی autorizeUserForScopes: نماینده: کامل می شود ، با آن تماس خواهد گرفت requestDid موفق شد: or requestDidFail: روش بر روی یک شی that که پیاده سازی می کند AIAauthenticationDelegate پروتکلinterface AMZNAuthorizeUserDelegate: NSObject @پایان برای اطلاعات بیشتر، نگاه کنید کار با پروتکل ها در developer.apple.com.
- تماس بگیرید autorizeUserForScopes: نماینده: in onLoginButton کلیک کرد.
اگر مراحل را دنبال کردید ورود به سیستم با دکمه آمازون به برنامه خود، شما باید داشته باشید onLoginButtonClicked: روش به دکمه ورود با آمازون پیوند داده شده است. در آن روش ، تماس بگیرید autorizeUserForScopes: تفویض اختیار: به از کاربر بخواهید وارد برنامه شما شود و به برنامه شما اجازه دهد.
این روش به کاربر امکان می دهد به یکی از روشهای زیر وارد سیستم شود و با اطلاعات درخواستی موافقت کند:
1.) سوئیچ به web view در یک زمینه امن (اگر برنامه خرید آمازون بر روی دستگاه نصب شده است)
2.) به Safari تغییر می کند View کنترل کننده (در iOS 9 و بالاتر)
3.) سوئیچ به مرورگر سیستم (در iOS 8 و بالاتر)
زمینه امن برای اولین گزینه در صورت نصب برنامه خرید آمازون بر روی دستگاه در دسترس است. اگر کاربر از قبل وارد برنامه خرید آمازون شده باشد ، صفحه ورود به سیستم حذف می شود و منجر به a می شود ورود به سیستم (SSO) تجربهوقتی برنامه شما مجاز است ، برای یک یا چند مجموعه داده شناخته شده به عنوان دامنه مجاز است. اولین پارامتر آرایه ای از محدوده ها است که شامل داده های کاربری است که شما از ورود با آمازون درخواست می کنید. اولین باری که کاربر وارد برنامه شما می شود ، لیستی از داده هایی را که درخواست می کنید به آنها ارائه می شود و از آنها درخواست تأیید می شود. ورود با آمازون در حال حاضر از سه محدوده پشتیبانی می کند: حرفه ایfile, که شامل نام کاربر ، آدرس ایمیل و شناسه حساب آمازون است. حرفه ایfile:شناسه کاربری، که فقط شامل شناسه حساب آمازون است. و کد پستی، که حاوی کد پستی / پستی کاربر است.
پارامتر دوم به autorizeUserForScopes: نماینده: شی ای است که پروتکل AIA احراز هویت در این مورد نمونه ای از AMZNA تأیید مجوز User کلاس- (IBAction) onLogInButton کلیک کرد: (id) فرستنده {
// برای دریافت رمز دسترسی امن ، اجازه تماس با SDK را صادر کنید
// برای کاربر.
// هنگام برقراری اولین تماس می توانید حداقل مقدماتی را تعیین کنید
// حوزه های مورد نیاز.// درخواست هر دو محدوده برای کاربر فعلی.
NSArray * requestScopes =
[NSArray arrayWithObjects:@”profile"@"postal_code"، صفر];AMZNA مجاز کردن کاربر استفاده از نمایندگی * نماینده =
[AIMobileLib autorizeUserForScopes: نمایندگی درخواستScopes: نماینده]؛
[[AMZNAuthorizeUserDelegate تخصیص] initWithParentController: خود]هدر اجرای نماینده خود را به فراخوانی کلاس اضافه کنید
autorizeUserForScopes :. برای مثالampدر:# وارد کردن "AMZNAuthorizeUserDelegate.h" - ایجاد کنید AMZNGetProfileنماینده.
AMZNGetProfileنمایندگان نام ما برای کلاسی است که پیاده سازی می کند
پروتکل AIA احراز هویت و نتیجه را پردازش می کند getProfile: زنگ زدن. پسندیدن autorizeUserForScopes:delegate:، getProfile: پشتیبانی می کند requestDid موفق شد: و requestDidFail: روش های پروتکل. requestDid موفق شد: دریافت می کند نتیجه گیری شی با طرفدارfile داده ها در ویژگی نتیجه requestDidFail: دریافت می کند خطای AI شی با اطلاعات مربوط به خطا در ویژگی خطا.
برای ایجاد یک کلاس نماینده از یک اعلامیه کلاس عادی ، وارد کنید
AIAauthenticationDelegate.hand پروتکل را به اعلان در هدر کلاس خود اضافه کنید file:#وارد كردن @interface AMZNGetProfileنماینده: NSObject @end - پیاده سازی کنید requestDidSucced: برای شما AMZNA تأیید مجوز User. In requestDid موفق شد: ، تماس بگیرید getProfile: برای بازیابی مشتری حرفه ایfile. getProfile:, مانند autorizeUserForScopes: delege: ، از پروتکل AIAuthenticationDelegate استفاده می کند.
- (باطل) درخواست DidSucced: (APIResult *) apiResult {
// کد شما بعد از اینکه کاربر برنامه را برای اجازه داد
// محدوده های درخواستی.// بارگذاری جدید view کنترل کننده با اطلاعات شناسایی کاربر
// به عنوان کاربر اکنون با موفقیت وارد سیستم شده است.AMZNGetProfileنماینده* نماینده =
[[[AMZNGetProfileDelegate alloc] initWithParentController:parentViewکنترل کننده] آزادسازی خودکار];
[AIMobileLib getProfile:نماینده]؛
}هدر اجرای نماینده خود را به فراخوانی کلاس اضافه کنید getProfile: فارکسampدر:
#import "AMZNGetProfileDelegate.h” - پیاده سازی کنید requestDid موفق شد: برای شما AMZNGetProfileنماینده.
requestDidSucced: دارد دو وظیفه اصلی: بازیابی نرم افزارfile داده ها از APIResult ، و داده ها را به UI منتقل کنید.
برای بازیابی حرفه ایfile داده ها از APIResult ، به ویژگی نتیجه دسترسی پیدا کنید. برای یک getProfile:واکنش، آن ویژگی حاوی فرهنگ لغت مقادیر ویژگی برای کاربر حرفه ای خواهد بودfile خواص طرفدارfile خواص هستند نام ، ایمیل ، و USER_ID برای حرفه ایfile دامنه و
کد_پستی برای کد_پستی دامنه.- (باطل) درخواست DidSucced: (APIResult *) apiResult {
// حرفه ای شویدfile درخواست با موفقیت انجام شد بسته حرفه ای را باز کنیدfile اطلاعات
// و آن را به والد ارسال کنید view کنترل کنندهNSString * name = [(NSDictionary *) apiResult.result
objectForKey: @ ”name”]؛
NSString * ایمیل = [(NSDictionary *) apiResult.result
objectForKey: @ ”ایمیل”]؛
NSString * user_id = [(NSDictionary *) apiResult.result
objectForKey: @ ”user_id”]؛
NSString * postal_code = [(NSDictionary *) apiResult.result
objectForKey: @ ”postal_code”]؛// داده ها را به view کنترل کننده
} - پیاده سازی کنید requestDidFail: برای شما AMZNGetProfileنماینده.
requestDidFail: شامل یک خطای APIE شی حاوی جزئیات مربوط به خطا. showLogInPageis یک روش فرضی که اصلی را بازنشانی می کند view کنترل کننده برای نمایش دکمه ورود با آمازون.- (فاقد) درخواستDidFail: (APIError *) errorResponse {
// دریافت حرفه ایfile درخواست برای حرفه ای انجام نشدfile دامنه.
// اگر کد خطا = kAIApplicationNotAuthorized ،
// اجازه می دهد تا کاربر دوباره وارد سیستم شود.
if (errorResponse.error.code == kAIApplicationNotAuthorized) {
// نمایش دکمه تأیید کاربر.
[والدینViewکنترل کننده showLogInPage];
}
دیگری {
// خطاهای دیگر را مدیریت کنید
[[[[UIA هشدارView alloc] initWithTitle:@”” پیام:[NSString
stringWithFormat: @ ”خطا با پیام رخ داد:٪ @” ،
errorResponse.error.message] نماینده: صفر
cancelButtonTitle: @ "OK" otherButtonTitles: nil] انتشار خودکار] نمایش]؛
}
} - پیاده سازی کنید requestDidFail: برای شما AMZNA تأیید مجوز User.
- (فاقد) درخواستDidFail: (APIError *) errorResponse {
NSString * پیام = errorResponse.error.message؛
// کد شما در صورت عدم موفقیت در مجوز. [[[[UIA هشدارView alloc] initWithTitle:@”” پیام:[NSString
stringWithFormat: @ ”مجوز کاربر با پیام ناموفق بود:٪ @”، errorResponse.error.message] نماینده: nil
cancelButtonTitle: @ "OK" otherButtonTitles: nil] انتشار خودکار] نمایش]؛
}10. اجرا کنید برنامه: بازURL: sourceApplication: حاشیه نویسی: در کلاسی در پروژه شما که UIApplication Delegate پروتکل (به طور پیش فرض این خواهد بود AppDelegateclass در پروژه شما). هنگامی که برنامه صفحه ورود آمازون را ارائه می دهد و کاربر ورود به سیستم را تکمیل می کند ، با استفاده از URL برنامه ای را که قبلاً ثبت شده است تنظیم کنید. آن تغییر مسیر به منتقل می شود برنامه: بازURL: sourceApplication: حاشیه نویسی: ، که برمی گردد بله اگر URL با موفقیت اداره شد دسته باز کنیدURL: منبع برنامه: یک تابع کتابخانه SDK است که با ریدایرکت آمازون ورود به سیستم را کنترل می کند URLبرای شما اگر دسته باز کنیدURL: sourceApplication: بازگشت بله ، سپس URL رسیدگی شد
- برنامه (BOOL): برنامه (UIApplication *)
باز کردنURL: (NSURL *)url
sourceApplication: (NSString *) sourceApplication
حاشیه نویسی: (id) حاشیه نویسی
{
// عبور در url به SDK برای تجزیه کد مجوز // از url.
BOOL isValidRedirectSignIn استURL =
[دسته AIMobileLib باز استURL:url
sourceAppli kation: ترش ceApplicati در)؛
if (! isValidRedirect Si gnlnURL)
بازگشت NO
// برنامه ممکن است بخواهد e url بازگشت بله
}توجه: این روش در iOS 9 منسوخ شده است اما برای حفظ پشتیبانی از کاربران در سیستم عامل های قدیمی تر ، باید در پروژه شما گنجانده شود. برای اطلاعات بیشتر در مورد برنامه: بازURL: sourceApplication: حاشیه نویسی: ، ببینید مرجع پروتکل UIApplicationDelegate در developer.apple.com.
ورود به سیستم کاربر را هنگام راه اندازی بررسی کنید
اگر کاربری به برنامه شما وارد شود ، برنامه را ببندد و برنامه را بعداً دوباره راه اندازی کند ، برنامه همچنان مجاز به بازیابی اطلاعات است. کاربر به طور خودکار از سیستم خارج نمی شود. اگر برنامه شما هنوز مجاز است ، می توانید کاربر را به عنوان وارد شده نشان دهید. در این بخش نحوه استفاده توضیح داده شده است
getAccessTokenForScopes: withOverrideParams: نماینده: برای دیدن اینکه آیا برنامه هنوز مجاز است.
- ایجاد کنید AMZNGetAccessTokenDelegate کلاس AMZNGetAccessTokenDelegateimplements را AIAauthenticationDelegate پروتکل ، و نتیجه را پردازش می کند
getAccessTokenForScopes: withOverrideParams: نماینده: تماس بگیرید. AIAauthenticationDelegate شامل دو روش requestDid موفق شد: و requestDidFail:. requestDid موفق شد: دریافت می کند نتیجه گیری شی با داده های رمز ، در حالی که requestDidFail: دریافت می کند خطای APIE شی با اطلاعات مربوط به خطا.#وارد كردن interface AMZNGetAccessTokenDelegate: NSObject
@پایان
هدر اجرای نماینده خود را به فراخوانی کلاس اضافه کنید
getAccessTokenForScopes: withOverrideParams: نماینده:. فارکسampدر:# وارد کردن "AMZNGetAccessTokenDelegate.h" - هنگام راه اندازی برنامه ، تماس بگیرید
getAccessTokenForScopes: withOverrideParams: نماینده: برای دیدن اینکه آیا برنامه هنوز مجاز است. getAccessTokenForScopes: withOverrideParams: نماینده: رمز دسترسی خام را که Login with Amazon برای دسترسی به مشتری حرفه ای استفاده می کند، بازیابی می کندfile. اگر روش موفق شد، برنامه همچنان مجاز است و یک تماس با getProfile: باید موفق شود getAccessTokenForScopes: withOverrideParams: نماینده: استفاده می کند AIAauthenticationDelegate پروتکل به همان روشی که autorizeUserForScopes: نماینده:. شی implementing اجرای پروتکل را به عنوان پارامتر تفویض اختیار کنید.- (باطل) checkIsUserSignedIn {
AMZNGetAccessTokenDelegate * نماینده =
[[AMZNGetAccessTokenDelegate alloc] initWithParentController:self] autorelease];
NSArray * requestScopes =
[NSArray arrayWithObjects:@”profile"@"postal_code"، صفر]; [AIMobileLib getAccessTokenForScopes:requestScopes withOverrideParams:nil delegate:delegate];
} - پیاده سازی کنید requestDid موفق شد: روی شما AMZNGetAccessTokenDelegate. requestDid موفق شد: یک وظیفه دارد: تماس گرفتن getProfile:. این سابقampتماس می گیرد getProfile: با استفاده از همان شنونده ای که در بخش قبلی اعلام کردید (به مراحل 6-8 مراجعه کنید).
#import "AMZNGetProfileDelegate.h”
#وارد كردن- (باطل) درخواست DidSucced: (APIResult *) apiResult {
// کد شما برای استفاده از رمز دسترسی به اینجا می رود.// از آنجایی که این برنامه مجوز دامنه فعالیت ما را دارد ، می توانیم
[AIMobileLib getProfile:نماینده]؛
// کاربر حرفه ای را دریافت کنیدfile.
AMZNGetProfileنماینده* نماینده = [[[AMZNGetProfileDelegate alloc] initWithParentController:parentViewکنترل کننده] آزادسازی خودکار];
} - پیاده سازی کنید requestDidFail: روی شما AMZNGetAccessTokenDelegate.
requestDidFail: شامل یک خطای APIE شی حاوی جزئیات مربوط به خطا. اگر خطایی دریافت کردید، می توانید اصلی را بازنشانی کنید view کنترل کننده برای نمایش دکمه ورود با آمازون.- (فاقد) درخواستDidFail: (APIError *) errorResponse {
// کد شما برای مدیریت بازیابی ناموفق رمز دسترسی.
// اگر کد خطا = kAIApplicationNotAuthorized ، اجازه دهید کاربر
// برای ورود مجدد به سیستم.
if (errorResponse.error.code == kAIApplicationNotAuthorized) {
// نمایش ورود با دکمه آمازون.
}
دیگری {
// خطاهای دیگر را مدیریت کنید
[[[[UIA هشدارView alloc] initWithTitle:@”” پیام:[NSString
stringWithFormat: @ ”خطا با پیام رخ داد:٪ @”، errorResponse.error.message] نماینده: nil
cancelButtonTitle:@”OK” otherButtonTitles:nil] انتشار خودکار] نمایش];
}
}
را clearAuthorizationState: روش داده های کاربر را از AIMobileLib ذخیره محلی داده یک کاربر باید دوباره وارد سیستم شود تا برنامه حرفه ای را بازیابی کندfile داده ها. از این روش برای خروج از کاربر یا عیب یابی مشکلات ورود به سیستم در برنامه استفاده کنید.
- اعلام کنید نماینده AMZNLogout این یک کلاس است که پیاده سازی می کند
پروتکل AIAuthenticationDelegate برای اهداف ما ، ما می توانیم کلاس را از آن به ارث ببریم موضوع NSO:
#وارد كردن interface AMZNLogoutDelegate NSObject
@پایان
هدر اجرای نماینده خود را به فراخوانی کلاس اضافه کنید clearAuthorizationState :. برای مثالampدر:
# وارد کردن "AMZNLogoutDelegate.h" - تماس بگیرید clearAuthorizationState :.
هنگامی که کاربر با موفقیت وارد سیستم شد، ممکن است مکانیزم خروج از سیستم را ارائه دهید تا بتواند اطلاعات مجوز خود را پاک کند. مکانیسم شما ممکن است یک لینک یا یک آیتم منو باشد، اما برای این سناریو، حالت قبلی وجود داردampa ایجاد خواهد کرد logoutButtonClickedmetode برای دکمه خروج از سیستم- (IBAction) logoutButton کلیک کرد: (id) فرستنده {
AMZNLogoutDelegate* delegate = [[[AMZNLogoutDelegate alloc] initWithParentController:self] autorelease]; [AIMobileLib clearAuthorizationState:delegate];
}تنها پارامتر برای clearAuthorizationState یک است AIAauthenticationDelegate که اجرا می کند requestDid موفق شد: و requestDidFail :.
- پیاده سازی کنید requestDidSucced :. این روش با پاک شدن اطلاعات کاربر فراخوانی می شود. سپس باید آنها را به عنوان سیستم خارج شده نشان دهید.
- (باطل) درخواست DidSucced: (APIResult *) apiResult {
// منطق اضافی شما بعد از اجازه کاربر
// حالت پاک می شود.
[[[UIALertView alloc] initWithTitle:@”” پیام:@”کاربر از سیستم خارج شده است.”
delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] نمایش];
} - پیاده سازی کنید requestDidFail :. اگر به دلایلی اطلاعات کاربر از حافظه پنهان پاک نشود ، این روش فراخوانی می شود. در این صورت ، نباید آنها را به عنوان سیستم خارج شده نشان دهید.
- (فاقد) درخواستDidFail: (APIError *) errorResponse {
// منطق اضافی شما پس از پاک نشدن SDK
// وضعیت مجوز. [[[[UIA هشدارView alloc] initWithTitle:@”” پیام:[NSString
stringWithFormat: @ ”خروج کاربر با پیام انجام نشد:٪ @”،
errorResponse.error.message] نماینده: صفر
cancelButtonTitle:@”OK” otherButtonTitles:nil] انتشار خودکار] نمایش];
}
ادغام خود را آزمایش کنید
برنامه خود را در دستگاه iOS یا شبیه ساز راه اندازی کنید و تأیید کنید که می توانید با اعتبار Amazon.com وارد سیستم شوید.
توجه: هنگام آزمایش بر روی شبیه سازهای iOS10 ، ممکن است پیغام خطای APIKey برای برنامه برای درخواست autorizeUserForScopes یا کد خطای ناشناخته برای درخواست clearAuthorizationState نامعتبر باشد. این یک اشکال شناخته شده با اپل که وقتی SDK می خواهد به keychain دسترسی پیدا کند رخ می دهد. تا زمانی که اپل اشکال را برطرف کند ، می توانید با فعال کردن Keychain Sharing برای برنامه خود در زیر برگه قابلیت ها در هدف برنامه خود ، آن را حل کنید. این اشکال فقط روی شبیه سازها تأثیر می گذارد. بدون استفاده از هیچ راهکاری می توانید روی دستگاه های واقعی iOS10 تست کنید.
ورود به سیستم با راهنمای شروع آمازون برای iOS نسخه 2.1.2 - بارگیری [بهینه شده]
ورود به سیستم با راهنمای شروع آمازون برای iOS نسخه 2.1.2 - دانلود کنید