התחבר עם מדריך תחילת העבודה של אמזון עבור iOS
התחבר עם אמזון: מדריך תחילת העבודה עבור iOS
זכויות יוצרים © 2016 Amazon.com, Inc., או שלוחותיה. כל הזכויות שמורות.
אמזון והלוגו של אמזון הם סימנים מסחריים של Amazon.com, Inc. או שלוחותיה. כל הסימנים המסחריים האחרים שאינם בבעלות אמזון הם רכושם של בעליהם.
תחילת העבודה עבור iOS
במדריך זה אנו נראה לך כיצד להוסיף כניסה עם אמזון לאפליקציית iOS שלך. לאחר השלמת המדריך הזה אמור להיות לך כפתור התחברות עם אמזון עובד באפליקציה שלך כדי לאפשר למשתמשים להתחבר עם אישורי אמזון שלהם.
התקנת Xcode
הכניסה עם אמזון SDK עבור iOS מסופקת על ידי אמזון כדי לעזור לך להוסיף כניסה עם אמזון ליישום iOS שלך. ה- SDK מיועד לשימוש עם סביבת הפיתוח של Xcode. ה- SDK תומך באפליקציות הפועלות ב- iOS 7.0 ואילך באמצעות ARMv7, ARMv7s, ARM64, i386 ו- x86_64.
ניתן להתקין את Xcode מחנות האפליקציות של Mac. למידע נוסף ראה Xcode: מה חדש באתר developer.apple.com.
לאחר התקנת Xcode, תוכל התקן את הכניסה באמצעות Amazon SDK עבור iOS ו הפעל את ה-Sample App, כמפורט להלן.
התקן את הכניסה באמצעות Amazon SDK עבור iOS
הכניסה עם אמזון SDK ל- iOS מגיעה בשתי חבילות. הראשון מכיל את ספריית iOS ותיעוד תומך. השני מכיל asampהאפליקציה le המאפשרת למשתמש להיכנס ל- view המקצוען שלהםfile נְתוּנִים.
אם עדיין לא התקנת את Xcode, עיין בהוראות בסעיף התקן Xcode סעיף למעלה.
- הורד התחבר עם AmazonSDKForiOS.zip ולחלץ את files לספרייה בכונן הקשיח.
אתה אמור לראות א התחברות עם Amazon.framework מַדרִיך. זה מכיל את הספרייה התחברות עם אמזון.
במפלס העליון של הרוכסן נמצא א התחבר עם Amazon.doc הגדר ספריה. זה מכיל את תיעוד ה- API. - לִרְאוֹת התקן את הכניסה באמצעות ספריית אמזון להוראות כיצד להוסיף את הספרייה לפרויקט iOS.
כאשר מותקן הכניסה עם Amazon SDK עבור iOS, אתה יכול צור כניסה חדשה באמצעות פרויקט אמזון לְאַחַר הרשמה באמצעות התחברות באמזון.
הפעל את ה-Sample App
כדי להפעיל את sampליישום, פתח את ה- sample ב- Xcode.
- הורד SampleLoginWithAmazonAppForiOS.zip ולהעתיק את
Sampספריית leLoginWithAmazonAppForiOS לתיקיית המסמכים שלך. - הפעל את Xcode. אם תיבת הדו -שיח Welcome to Xcode מופיעה, לחץ על פתח אחר. אחרת, מהתפריט הראשי, לחץ על File ובחר פתח.
- בחר בתיקיית המסמכים ובחר
SampleLoginWithAmazonAppForiOS/LoginWithAmazonSample/ LoginWithAmazonSample.xcodeproj. נְקִישָׁה לִפְתוֹחַ. - שלampהפרויקט אמור לטעון כעת. בסיום, בחר מוּצָר מהתפריט הראשי ובחר לָרוּץ
הרשמה באמצעות התחברות באמזון
לפני שתוכל להשתמש בהתחברות עם אמזון ב-a webבאתר או באפליקציה לנייד, עליך לרשום אפליקציה עם Login with Amazon. אפליקציית ההתחברות שלך עם אמזון היא הרישום שמכיל מידע בסיסי על העסק שלך ומידע על כל אחד מהם webאתר או אפליקציה לנייד שאתה יוצר התומך בהתחברות עם אמזון. מידע עסקי זה מוצג למשתמשים בכל פעם שהם משתמשים בהתחברות עם אמזון במכשיר שלך webאתר או אפליקציה לנייד. משתמשים יראו את שם האפליקציה שלך, הלוגו שלך וקישור למדיניות הפרטיות שלך. שלבים אלה מדגימים כיצד לרשום כניסה באמצעות אפליקציית אמזון ולהוסיף אפליקציית iOS לחשבון זה.
ראה את הנושאים הבאים
- רשום את הכניסה שלך באמצעות יישום Amazon
- הוסף יישום iOS ל- Pro Profile
- מפתחות מזהה iOS ו- API
o קבע מזהה חבילה עבור אפליקציית iOS
אחזר מפתח API של iOS
רשום את הכניסה שלך באמצעות יישום Amazon
- עבור אל https://login.amazon.com.
- אם נרשמת בעבר להתחברות לאמזון, לחץ קונסולת האפליקציות. אחרת לחץ הירשם.
תועבר ל - Seller Central, המטפל ברישום יישומים להתחברות באמזון. אם זו הפעם הראשונה שאתה משתמש במוכר מרכזי, תתבקש להקים חשבון מוכר מרכזי. - נְקִישָׁה הרשמה אפליקציה חדשה. ה רשום את הבקשה שלך הטופס יופיע:
a. בטופס רשום את בקשתך, הזן שם ו תֵאוּר עבור הבקשה שלך.
ה שֵׁם הוא השם המוצג על מסך ההסכמה כאשר משתמשים מסכימים לשתף מידע עם האפליקציה שלך. שם זה חל על אנדרואיד, iOS ו webגירסאות האתר של היישום שלך.
b. הזן הודעת פרטיות URL עבור הבקשה שלך.
הודעת הפרטיות URL הוא המיקום של מדיניות הפרטיות של החברה או האפליקציה שלך (למשלample, http: //www.example.com/privacy.html). קישור זה מוצג למשתמשים במסך ההסכמה.
c. אם אתה רוצה להוסיף א תמונת לוגו עבור היישום שלך, לחץ לְדַפדֵף ואתר את התמונה הרלוונטית.
לוגו זה מוצג במסך הכניסה וההסכמה לייצוג העסק שלך או webאֲתַר. הלוגו יצטמק לגובה של 50 פיקסלים אם הוא גבוה מ -50 פיקסלים; אין הגבלה על רוחב הלוגו. - נְקִישָׁה לְהַצִיל. ה-s שלךampהרישום צריך להיראות דומה לזה:
לאחר שמירת הגדרות היישום הבסיסיות שלך, תוכל להוסיף הגדרות ספציפיות webאתרים ואפליקציות מובייל שישתמשו בכניסה זו באמצעות חשבון אמזון.
אם בגרסאות שונות של האפליקציה שלך יש מזהי חבילות שונים, כגון עבור גרסת בדיקה אחת או יותר וגרסת ייצור, כל גרסה דורשת מפתח API משלה. מ ה הגדרות iOS של האפליקציה שלך, לחץ על הוסף מפתח API כפתור ליצירת מפתחות נוספים לאפליקציה שלך (אחד לכל גרסה).
הוסף יישום iOS ל- Pro Profile
לאחר שמירת הגדרות היישום הבסיסיות שלך, תוכל להוסיף הגדרות ספציפיות webאתרים ואפליקציות מובייל שישתמשו בכניסה זו באמצעות חשבון אמזון.
כדי לרשום אפליקציית iOS, עליך לציין את מזהה ה- Bundle עבור פרויקט האפליקציה. כניסה עם אמזון תשתמש במזהה הצרור כדי ליצור מפתח API. מפתח ה- API יעניק לאפליקציה שלך גישה לשירות ההרשאה התחברות באמצעות אמזון. בצע את הצעדים הבאים כדי להוסיף יישום iOS לחשבונך:
- ממסך היישום, לחץ הגדרות iOS. אם כבר יש לך אפליקציית iOS רשומה, חפש את ה- הוסף מפתח API כפתור ב- הגדרות iOS סָעִיף.
ה יישום iOS טופס פרטים יופיע:
- הזן את מַדבֵּקָה של אפליקציית iOS שלך. זה לא חייב להיות השם הרשמי של האפליקציה שלך. הוא פשוט מזהה את אפליקציית iOS הספציפית הזו בין האפליקציות ו- webאתרים הרשומים לאפליקציית הכניסה שלך באמצעות אמזון.
- הזן את שלך מזהה Bundle. זה חייב להתאים למזהה הצרור של פרויקט ה- iOS שלך. כדי לקבוע את מזהה החבילה שלך, פתח את הפרויקט ב- Xcode. פתח את רשימת המאפיינים של הפרויקט ( -Info.plist) ב- פרויקט נווט. מזהה ה- Bundle הוא אחד המאפיינים ברשימה.
- נְקִישָׁה לְהַצִיל.
מפתחות מזהה iOS ו- API
מזהה ה- Bundle ייחודי לכל אפליקציית iOS. התחברות עם אמזון משתמשת במזהה הצרור לבניית מפתח ה- API שלך. מפתח ה- API מאפשר לשירות ההרשאה התחברות באמצעות אמזון לזהות את האפליקציה שלך.
קבע מזהה חבילה עבור אפליקציית iOS
- פתח את פרויקט האפליקציה שלך ב- Xcode.
- פתח את רשימת נכסי מידע לפרויקט ( -Info.plist) ב- פרויקט נווט.
- לִמצוֹא מזהה צרור ברשימת הנכסים.
אחזר מפתח API של iOS
לאחר שרשמתם גרסת iOS וסיפקתם מזהה Bundle, תוכלו לאחזר את מפתח ה- API מדף ההרשמה עבור הכניסה שלכם עם יישום Amazon. יהיה עליך למקם את מפתח ה- API הזה ברשימת הנכסים של הפרויקט שלך. עד שתעשה זאת, האפליקציה לא תהיה מוסמכת לתקשר עם התחברות באמצעות שירות ההרשאות של אמזון.
1. עבור אל https://login.amazon.com.
2. לחץ קונסולת האפליקציות.
3. ב אפליקציות לחץ על היישום שלך.
4. מצא את אפליקציית iOS שלך תחת ה- הגדרות iOS סָעִיף. אם עדיין לא רשמת אפליקציית iOS, ראה הוסף יישום iOS ל- Pro Profile.
5. לחץ צור ערך מפתח API. חלון קופץ יציג את מפתח ה- API שלך. להעתקת המפתח לחץ בחר הכל כדי לבחור את כל המקש.
פֶּתֶק: ערך מפתח ה- API מבוסס, בין השאר, על זמן יצירתו. לפיכך, ערכי מפתח API הבאים שאתה מייצר עשויים להיות שונים מהמקור. תוכל להשתמש בכל אחד מערכי מפתח ה- API האלה באפליקציה שלך מכיוון שכולם תקפים.
6. ראה הוסף את מפתח ה- API שלך לרשימת נכסי האפליקציה שלך להוראות על הוספת מפתח ה- API לאפליקציית iOS שלך
יצירת כניסה באמצעות פרויקט אמזון
בחלק זה תלמד כיצד ליצור פרויקט Xcode חדש עבור התחברות באמצעות אמזון ולהגדיר את הפרויקט.
ראה את הנושאים הבאים:
- צור כניסה חדשה באמצעות פרויקט אמזון
- התקן את הכניסה באמצעות ספריית אמזון
- הוסף את מפתח ה- API שלך לרשימת נכסי האפליקציה שלך
- הוסף א URL תוכנית לרשימת נכסי האפליקציה שלך
- הוסף חריג אבטחת תחבורה באפליקציות לאמזון לאפליקציה שלך רשימת נכסים
פֶּתֶק: בשלב זה נדרש שלב חדש זה בעת פיתוח ב- iOS 9 SDK - הוסף כניסה עם לחצן אמזון לאפליקציה שלך
צור כניסה חדשה באמצעות פרויקט אמזון
אם עדיין אין לך פרויקט אפליקציה לשימוש בכניסה באמצעות אמזון, פעל לפי ההוראות שלמטה כדי ליצור פרויקט. אם יש לך אפליקציה קיימת, דלג למקטע התקן את הכניסה באמצעות ספריית אמזון למטה.
- לְהַשִׁיק Xcode.
- אם מוצג בפניך א ברוך הבא ל- Xcode תיבת דו-שיח, בחר צור פרויקט Xcode חדש.
אחרת, מה File תפריט, בחר חָדָשׁ ו פּרוֹיֶקט. - בחר את סוג הפרויקט שברצונך ליצור ולחץ הַבָּא.
- הזן א שם המוצר וכן א מזהה חברה. שים לב שלך מזהה חבילה, ולחץ הַבָּא.
- בחר מיקום לאחסון הפרויקט שלך ולחץ לִיצוֹר.
כעת יהיה לך פרויקט חדש שבו תוכל להשתמש כדי לקרוא כניסה באמצעות אמזון.
התקן את הכניסה באמצעות ספריית אמזון
אם טרם הורדת את הכניסה באמצעות Amazon SDK עבור iOS, ראה התקן את הכניסה באמצעות Amazon SDK עבור iOS.
פרויקט התחברות עם אמזון חייב לקשר בין התחברות עם Amazon.framework ו מסגרת אבטחה ספריות. יהיה עליך גם להגדיר את נתיב חיפוש המסגרת כדי למצוא את הכניסה עם כותרות אמזון
- כאשר הפרויקט שלך פתוח ב- Xcode, בחר את מסגרות תיקיה, לחץ File מהתפריט הראשי, ואז בחר לְהוֹסִיף Files אֶל "פּרוֹיֶקט".
- בתיבת הדו-שיח בחר התחברות עם Amazon.framework ו לחץ על הוסף.
אם השתמשת בספריית התחברות באמצעות אמזון 1.0, מחק את ספריית הכניסה עם אמזון sdk ואת הכניסה עם אמזון-sdk.a מתיקיית המסגרות. נְקִישָׁה לַעֲרוֹך מהתפריט הראשי ובחר לִמְחוֹק. - בחר את שם הפרויקט שלך ב- פרויקט נווט.
ה עורך פרויקט יופיע באזור העורך של סביבת העבודה Xcode. - לחץ על שם הפרויקט שלך תחת יעדים, ובחר בניית שלבים. הרחב את קישור בינארי עם ספריות ולחץ על סימן הפלוס כדי להוסיף ספרייה.
- בתיבת החיפוש, הזן מסגרת אבטחה. לִבחוֹר אבטחה.מסגרת ולחץ לְהוֹסִיף.
- בתיבת החיפוש, הזן SafariServices.framework. לִבחוֹר SafariServices.framework ולחץ לְהוֹסִיף.
- בתיבת החיפוש, הזן CoreGraphics.framework. לִבחוֹר CoreGraphics.framework ולחץ לְהוֹסִיף
- לִבחוֹר הגדרות בנייה. לחץ על הכל כדי view כל ההגדרות.
- תַחַת נתיבי חיפוש, להבטיח כי התחברות עם Amazon.framework המדריך נמצא ב נתיבי חיפוש מסגרת.
למשלampעל:
אם השתמשת בספריית הכניסה עם אמזון 1.0, תוכל להסיר כל הפניה לנתיב הספרייה 1.0 בסמל נתיבי חיפוש בכותרת עליונה or נתיבי חיפוש בספריה. - מהתפריט הראשי, לחץ מוּצָר ובחר לִבנוֹת. הבנייה אמורה להסתיים בהצלחה.
לפני שבנית את הפרויקט שלך, אם השתמשת בספריית התחברות עם אמזון 1.0, החלף #import "AIMobileLib.h", #import "AIAuthenticationDelegate.h", or #יְבוּא "AIError.h" במקור שלך files עם #יְבוּא
.
התחברות עם Amazon.h כולל את כל כותרות הכניסה עם אמזון בבת אחת.
הוסף את מפתח ה- API שלך לרשימת נכסי האפליקציה שלך
כאשר אתה רושם את יישום ה- iOS שלך באמצעות התחברות לאמזון, מוקצה לך מפתח API. זהו מזהה שהספרייה הניידת של אמזון תשתמש בו כדי לזהות את היישום שלך לשירות ההרשאה התחברות באמצעות אמזון. הספרייה הניידת של אמזון טוענת ערך זה בזמן ריצה מערך המאפיינים של מפתח ה- API ברשימת מאפייני המידע של היישום שלך.
- כאשר הפרויקט שלך פתוח, בחר את תומך Files ולאחר מכן בחר את -Info.plist file (אֵיפֹה הוא שם הפרויקט שלך). זה אמור לפתוח את רשימת המאפיינים לעריכה:
- ודא שאף אחת מהערכים לא נבחרה. ואז, מהתפריט הראשי, לחץ עוֹרֵך, ו הוסף פריט. לְהַכנִיס APIKey ולחץ לְהַכנִיס.
- לחץ פעמיים מתחת ל עֵרֶך עמודה כדי להוסיף ערך. הדבק את מפתח ה- API שלך כערך.
הוסף א URL תוכנית לרשימת נכסי האפליקציה שלך
כאשר המשתמש יתחבר, יוצג לו דף הכניסה של אמזון. כדי שהאפליקציה שלך תקבל אישור על הכניסה שלהם, עליך להוסיף URL התוכנית כך ש web הדף יכול להפנות חזרה לאפליקציה שלך. ה URL יש להכריז על התוכנית כ- amzn- (לדוגמהampלה, amzncom.example.app). למידע נוסף ראה באמצעות URL תוכניות לתקשר עם אפליקציות באתר developer.apple.com.
- כאשר הפרויקט שלך פתוח, בחר את תומך Files ולאחר מכן בחר את -Info.plist file (אֵיפֹה הוא שם הפרויקט שלך). זה אמור לפתוח את רשימת המאפיינים לעריכה:
- ודא שאף אחת מהערכים לא נבחרה. ואז, מהתפריט הראשי, לחץ עוֹרֵך, ו הוסף פריט. הזן או בחר URL סוגים ולחץ לְהַכנִיס.
- לְהַרְחִיב URL סוגים לחשוף פָּרִיט 0. לִבחוֹר פָּרִיט 0 ובתפריט הראשי לחץ על עורך והוסף פריט. הזן או בחר URL מזהה ולחץ לְהַכנִיס.
- לִבחוֹר פריט 0 תַחַת URL מזהה ולחץ פעמיים מתחת לעמודה ערך כדי להוסיף ערך. הערך הוא מזהה החבילה שלך. תוכל למצוא את מזהה החבילה שלך כמזהה חבילה ברשימת הנכסים.
- לִבחוֹר פריט 0 תַחַת URL סוגים ולחץ מהתפריט הראשי עוֹרֵך ו הוסף פריט. הזן או בחר URL תוכניות ולחץ על Enter.
- לִבחוֹר פריט 0 תַחַת URL ערכות ולחץ פעמיים מתחת ל עֵרֶך עמודה להוסיף א עֵרֶך. הערך הוא מזהה החבילה שלך עם אמזן- מוכן מראש (למשלampלה, amzn com.example.app). אתה יכול למצוא את מזהה החבילה שלך כ- מזהה צרור ברשימת הנכסים.
הוסף חריג אבטחת תחבורה באפליקציות לאמזון לאפליקציה שלך
רשימת נכסים
החל מ- iOS 9, אפל אוכפת את אבטחת האבטחה של האפליקציות (ATS) לחיבורים מאובטחים בין אפליקציה לבין web שירותים. נקודת הסיום (api.amazon.com) הכניסה עם אמזון SDK מתקשרת איתה כדי להחליף מידע עדיין אינה תואמת ל- ATS. הוסף חריג עבור api.amazon.com כדי לאפשר תקשורת חלקה בין ה- SDK לבין שרת אמזון.
- כאשר הפרויקט שלך פתוח, בחר את תומך Files ולאחר מכן בחר את -Info.plist file (אֵיפֹה הוא שם הפרויקט שלך). זה אמור לפתוח את רשימת המאפיינים לעריכה:
- וודא שאף אחד מהערכים אינו מופיע ואז, מהתפריט הראשי לחץ עוֹרֵך, ו הוסף פריט. הזן או בחר NSAppTransportSecurity ולחץ לְהַכנִיס.
- לְהַרְחִיב NSAppTransportSecurity ולחץ מהתפריט הראשי עוֹרֵך ו הוסף פריט. הזן או בחר NSExceptionDomains ולחץ לְהַכנִיס.
- לְהַרְחִיב NSExceptionDomains ולחץ מהתפריט הראשי עוֹרֵך ו הוסף פריט. היכנס ל- amazon.com ולחץ לְהַכנִיס.
- לְהַרְחִיב amazon.com ולחץ מהתפריט הראשי עוֹרֵך ו הוסף פריט.להיכנס NSExceptionRequiresForwardSecy ולחץ לְהַכנִיס.
- לִבחוֹר NSExceptionRequiresForwardSecy ולחץ פעמיים מתחת ל עֵרֶך עמודה להוסיף א בחר סוּג of בוליאנית וכן א עֵרֶך of לֹא.
הכניסה עם אמזון מספקת כמה לחצנים סטנדרטיים שבהם תוכלו להשתמש כדי לבקש ממשתמשים להיכנס מהאפליקציה שלכם. סעיף זה מספק צעדים להורדת כניסה רשמית עם תמונה של אמזון והתאמתו עם כפתור UIB של iOS.
- הוסף UIB כפתור רגיל לאפליקציה שלך.
לקבלת הדרכות ומידע כיצד להוסיף כפתור לאפליקציה, ראה יצירה ותצורה View חפצים ו התחל לפתח אפליקציות iOS עוד היום באתר developer.apple.com. - הוסף את לגעת בפנים אירוע עבור הכפתור לשיטה בשם onLoginButton נלחץ. השאר את היישום ריק לעת עתה. ה יצירה ו הגדרת תצורה View חפצים ו התחל לפתח אפליקציות iOS עוד היום המסמכים ב- apple.com כוללים שלבים להוספת אירוע כפתורים.
- בחר תמונת כפתור.
התייעץ עם הכניסה שלנו עם אמזון הנחיות סגנון לרשימת כפתורים שתוכלו להשתמש באפליקציה שלכם. הורד עותק של ה- LWA_for_iOS.zip file. מצא את הכפתור המועדף עליך הן במדריכי ה- 1x והן ב- 2x וחלץ אותם מה- zip. חלץ את הגירסה _הדחיקה של הכפתור שלך אם ברצונך להציג את הלחצן במצב נבחר. - הוסף את התמונות לפרויקט שלך.
a. ב- Xcode, כאשר הפרויקט שלך טעון, לחץ File מהתפריט הראשי ובחר לְהוֹסִיף Files ל"פרויקט ".
b. בתיבת הדו -שיח, בחר את תמונת הכפתור fileהורדות ולחצו עליהן לְהוֹסִיף.
c. הכפתורים צריכים להיות כעת בפרויקט בספריית הפרויקט שלך. העבר אותם לתמיכה Fileתיקייה. - הוסף את התמונה לכפתור שלך.
כדי לאפשר את התמונה עבור הלחצן שלך, תוכל לשנות את תכונת הכפתור או להשתמש ב setImage: forState שיטה על UIB כפתור לְהִתְנַגֵד. בצע את הצעדים הבאים לשינוי מאפיין התמונה של הכפתור שלך:
a. פתח את לוח התכנון עבור האפליקציה שלך.
b. בחר בלחצן בלוח התכנון שלך על ידי לחיצה עליו או בחירתו מתוך View בַּקָר עץ סצנה.
c. ב- כלי עזר חלון, פתח את מפקח תכונות.
d. בחלק העליון של מפקח המאפיינים, הגדר את סוג הכפתור למערכת.
e. בקבוצת ההגדרות השנייה, בחר ברירת מחדל עבור מצב תצורה.
f. בקבוצה השנייה של ההגדרות, נפתח את הגדרת התמונה.
g. בחר בתרשים כפתור התחברות באמצעות אמזון שהוספת לפרויקט. אל תבחר בגרסת 2x: היא תוטען אוטומטית במכשירי תצוגה (רשתית) בצפיפות גבוהה.
h. הגדר את אותה תמונה להגדרת הרקע.
i. אם ברצונך לציין גרסה לחוצה של הכפתור, בחר נבחר לתצורת מצב, והגדר את התמונה לגרסה _לחוצה של הלחצן שלך.
j. בלוח התכנון, התאם את גודל הכפתור שלך כך שיתאים לתמונה, במידת הצורך.
שימוש ב- SDK עבור ממשקי API של iOS
בחלק זה, תוסיף קוד לפרויקט שלך כדי להיכנס למשתמש באמצעות כניסה באמצעות אמזון.
ראה את הנושאים הבאים:
- לטפל בכפתור הכניסה וקבל פרוfile נְתוּנִים
- בדוק אם הכניסה למשתמש התחלה
- נקה את מצב ההרשאה והתנתק משתמש
חלק זה מסביר כיצד לקרוא ל- authorizeUserForScopes: נציג: ו getProfile: ממשקי API להיכנס למשתמש ולאחזר את המקצוען שלוfile נתונים. זה כולל יצירת onLoginButtonClicked: מאזין לכפתור הכניסה שלך עם אמזון.
- הוסף כניסה עם אמזון לפרויקט iOS שלך. ראה התקנת הכניסה באמצעות ספריית אמזון.
- ייבא את הכניסה באמצעות ממשק ה- API של אמזון למקור שלך file.
לייבוא הכניסה באמצעות ממשק ה- API של אמזון, הוסף את הדברים הבאים #ייבוא למקור שלך file:#יְבוּא - צור את AMZNAuthorizeUserDelegateclass ליישם
AIAuthicationDelegate.
כַּאֲשֵׁר authorizeUserForScopes: נציג: משלים, זה יקרא requestDidSuceed: or requestDidFail: שיטה על אובייקט המיישם את AIAuthicationDelegate פּרוֹטוֹקוֹל.@interface AMZNAuthorizeUserDelegate: NSObject @סוֹף למידע נוסף, ראה עבודה עם פרוטוקולים באתר developer.apple.com.
- שִׂיחָה authorizeUserForScopes: נציג: in onLoginButton נלחץ.
אם פעלת אחר השלבים ב הוסף כניסה עם לחצן אמזון לאפליקציה שלך, אתה צריך שיהיה לך onLoginButtonClicked: שיטה מקושר לכפתור התחברות עם אמזון. בשיטה זו, התקשר authorizeUserForScopes: נציג: אל בקש מהמשתמש להיכנס ולאשר את היישום שלך.
שיטה זו תאפשר למשתמש להיכנס ולהסכים למידע המבוקש באחת מהדרכים הבאות:
1.) עובר ל web view בהקשר מאובטח (אם אפליקציית קניות אמזון מותקנת במכשיר)
2.) עובר לספארי View בקר (ב- iOS 9 ואילך)
3.) עובר לדפדפן המערכת (ב- iOS 8 ומעלה)
ההקשר המאובטח של האפשרות הראשונה זמין כאשר אפליקציית Amazon Shopping מותקנת במכשיר. אם המשתמש כבר מחובר לאפליקציית Amazon Shopping, דילוג על דף הכניסה, מה שמוביל ל- כניסה יחידה (SSO) הִתנַסוּת.כאשר האפליקציה שלך מאושרת, היא מאושרת עבור מערך נתונים אחד או יותר המכונה סקופ. הפרמטר הראשון הוא מערך טווחים המקיף את נתוני המשתמש שאתה מבקש מכניסה באמצעות אמזון. בפעם הראשונה שמשתמש נכנס לאפליקציה שלך, תוצג בפניהם רשימת הנתונים שאתה מבקש ויתבקש לאשר אותם. הכניסה עם אמזון תומכת כיום בשלושה טווחים: מִקצוֹעָןfile, המכיל את שם המשתמש, כתובת הדוא"ל ותעודת חשבון אמזון; מִקצוֹעָןfile:תעודת זהות של משתמש, שמכיל רק את מזהה חשבון אמזון; ו מיקוד, המכיל את מיקוד המשתמש.
הפרמטר השני ל- authorizeUserForScopes: נציג: הוא אובייקט המיישם את אימות AIADelegateprotocol, במקרה זה מקרה של AMZNAuthorizeUserDelegate מַחלָקָה.- (IBAction) onLogInButtonClicked: (id) שולח {
// בצע הרשאה להתקשר ל- SDK כדי לקבל אסימון גישה מאובטח
// למשתמש.
// בעת ביצוע השיחה הראשונה תוכלו לציין את המינימום הבסיסי
// יש צורך בהיקפים.// מבקש את שני ההיקפים עבור המשתמש הנוכחי.
NSArray * requestScopes =
[NSArray arrayWithObjects:@”מקצועןfile”, @” מיקוד ”, אפס];AMZNAuthorizeUserDelegate * delegate =
[AIMobileLib authorizeUserForScopes: requestScopes delegate: delegate];
[[AMZNAuthorizeUserDelegate alloc] initWithParentController: self];הוסף את כותרת היישום של הנציג שלך לשיחת הכיתה
authorizeUserForScopes :. למשלampעל:#import "AMZNAuthorizeUserDelegate.h" - צור א AMZNGetProfileנָצִיג.
AMZNGetProfileנציג השם שלנו לשיעור שמיישם את
אימות AIADelegateprotocol, ויעבד את התוצאה של getProfile: שִׂיחָה. כמו authorizeUserForScopes: נציג :, getProfile: תומך ב requestDidSuceed: ו requestDidFail: שיטות פרוטוקול. requestDidSuceed: מקבל תוצאה אובייקט עם מקצועןfile נתונים בנכס התוצאה. requestDidFail: מקבל AIE שגיאה אובייקט עם מידע על השגיאה במאפיין השגיאה.
כדי ליצור כיתת נציגים מהצהרת כיתה רגילה, ייבא
AIAuthenticationDelegate.hand הוסף את הפרוטוקול להצהרה בכותרת הכיתה שלך file:#יְבוּא @ממשק AMZNGetProfileנציג: NSObject @end - ליישם requestDidSucceed: עבור שֶׁלְךָ AMZNAuthorizeUserDelegate. In requestDidSucceed :, שִׂיחָה getProfile: כדי לאחזר את מקצוען הלקוחותfile. getProfile:, כְּמוֹ authorizeUserForScopes: delegate :, משתמש בפרוטוקול AIAuthenticationDelegate.
- (void) requestDidSucceed: (APIResult *) apiResult {
// הקוד שלך לאחר שהמשתמש מאשר את היישום עבור
// היקפים מבוקשים.// טען חדש view בקר עם מידע מזהה משתמשים
// כיוון שהמשתמש מחובר כעת בהצלחה.AMZNGetProfileנציג* נציג =
[[[AMZNGetProfileDelegate alloc] initWithPrentController:parentViewבקר] שחרור אוטומטי];
[AIMobileLib getProfile:נָצִיג];
}הוסף את כותרת היישום של הנציג שלך לשיחת הכיתה getProfile:. מט"חampעל:
#ייבוא “AMZNGetProfileנציג.ה ” - ליישם requestDidSuceed: עבורך AMZNGetProfileנָצִיג.
requestDidSucceed: יש שתי משימות עיקריות: אחזור המקצועןfile נתונים מה תוצאה, ולהעביר את הנתונים לממשק המשתמש.
כדי לאחזר את המקצועןfile נתונים מה תוצאה, גישה למאפיין התוצאה. למשך getProfile:תְגוּבָה, נכס זה יכיל מילון של ערכי מאפיינים עבור משתמש המקצועיfile נכסים. המקצועןfile נכסים הם שם, דוא"ל, ו USER_ID עבור המקצועןfile היקף ו
postal_code עבור ה postal_code תְחוּם.- (void) requestDidSucceed: (APIResult *) apiResult {
// קבל מקצועןfile הבקשה הצליחה. פרק את המקצועןfile מֵידָע
// והעבירו אותו להורה view בַּקָרNSString * שם = [(NSDictionary *) apiResult.result
objectForKey: @ "שם"];
NSString * דוא"ל = [(NSDictionary *) apiResult.result
objectForKey: @ "דוא"ל"];
NSString * user_id = [(NSDictionary *) apiResult.result
objectForKey: @ "user_id"];
NSString * postal_code = [(NSDictionary *) apiResult.result
objectForKey: @ "מיקוד_קוד"];// העבר נתונים אל view בַּקָר
} - ליישם requestDidFail: עבורך AMZNGetProfileנָצִיג.
requestDidFail: כולל א APIE שגיאה אובייקט המכיל פרטים אודות השגיאה. showLogInPageis שיטה היפותטית שתאפס את העיקרית view בקר להציג את כפתור התחברות עם אמזון.- (void) requestDidFail: (APIError *) errorResponse {
// קבל פרוfile הבקשה נכשלה עבור מקצועןfile תְחוּם.
// אם קוד שגיאה = kAIApplicationNotAuthorized,
// לאפשר למשתמש להתחבר שוב.
אם (errorResponse.error.code == kAIApplicationNotAuthorized) {
// הצג לחצן משתמש הרשאה.
[הוֹרֶהViewבקר showLogInPage];
}
אחר {
// לטפל בשגיאות אחרות
[[[[UIAlertView alloc] initWithTitle:@”” הודעה: [NSString
stringWithFormat: @ "אירעה שגיאה בהודעה:% @",
errorResponse.error.message] נציג: אפס
cancelButtonTitle: @ ”OK” otherButtonTitles: nil] autorelease] show];
}
} - ליישם requestDidFail: עבור שֶׁלְךָ AMZNAuthorizeUserDelegate.
- (void) requestDidFail: (APIError *) errorResponse {
NSString * הודעה = errorResponse.error.message;
// הקוד שלך כאשר ההרשאה נכשלת. [[[[UIAlertView alloc] initWithTitle:@”” הודעה: [NSString
stringWithFormat: @ "הרשאת המשתמש נכשלה עם ההודעה:% @", errorResponse.error.message] נציג: אפס
cancelButtonTitle: @ ”OK” otherButtonTitles: nil] autorelease] show];
}10. יישום יישום: פתוחURL: source יישום: ביאור: בכיתה בפרויקט שלך המטפל ב יישום UIA אלגט פרוטוקול (כברירת מחדל זה יהיה AppDelegateclass בפרויקט שלך). כאשר האפליקציה מציגה את דף הכניסה של אמזון, והמשתמש משלים את הכניסה, היא תפנה לאפליקציה באמצעות ה- URL תכנן את האפליקציה שנרשמה קודם לכן. ההפניה הזו מועברת אל יישום: פתוחURL: source יישום: ביאור :, אשר חוזר כֵּן אם ה URL טופל בהצלחה. ידית פתחURL: source יישום: היא פונקציית ספריית SDK שתטפל בכניסה באמצעות הפניית אמזון URLבשבילך. אם ידית פתחURL: source יישום: מחזיר YES, ואז ה URL טופל.
- יישום (BOOL): יישום (UIApplication *)
לִפְתוֹחַURL: (NSURL *)url
sourceApplication: (NSString *) sourceApplication
ביאור: (id) ביאור
{
// העבירו את ה- url ל- SDK כדי לנתח את קוד ההרשאה // מה- url.
BOOL isValidRedirectSignInURL =
[AIMobileLib ידית פתחURL:url
מקור יישום קטיון: יישום חמוץ);
אם (! isValidRedirect Si gnlnURL)
החזר NO;
// האפליקציה עשויה לרצות לטפל בה url החזר כן;
}פֶּתֶק: שיטה זו הוצאה משימוש ב- iOS 9 אך יש לכלול אותה בפרויקט כדי לשמור על תמיכה במשתמשים בפלטפורמות ישנות יותר. למידע נוסף אודות יישום: פתוחURL: source יישום: ביאור :, לִרְאוֹת הפניה לפרוטוקול UIApplicationDelegate באתר developer.apple.com.
בדוק אם הכניסה למשתמש התחלה
אם משתמש נכנס לאפליקציה שלך, סוגר את האפליקציה ומפעיל מחדש את האפליקציה מאוחר יותר, האפליקציה עדיין מורשית לאחזר נתונים. המשתמש לא מנותק אוטומטית. בעת ההפעלה, תוכל להציג את המשתמש כמתחבר אם האפליקציה שלך עדיין מורשית. חלק זה מסביר כיצד להשתמש
getAccessTokenForScopes: withOverrideParams: נציג: כדי לראות אם האפליקציה עדיין מורשית.
- צור א AMZNGetAccessTokenDelegate מַחלָקָה. AMZNGetAccessTokenDelegate implements את AIAuthicationDelegate פרוטוקול, ויעבד את התוצאה של
getAccessTokenForScopes: withOverrideParams: נציג: שִׂיחָה. AIAuthicationDelegate מכיל שתי שיטות, requestDidSuceed: ו requestDidFail :. requestDidSucceed: מקבל תוצאה אובייקט עם נתוני אסימון, בעוד requestDidFail: מקבל APIE שגיאה התנגד עם מידע על השגיאה.#יְבוּא ממשק @ AMZNGetAccessTokenDelegate: NSObject
@סוֹף
הוסף את כותרת היישום של הנציג שלך לשיחת הכיתה
getAccessTokenForScopes: withOverrideParams: נציג :. פורקסampעל:#import "AMZNGetAccessTokenDelegate.h" - בעת אתחול האפליקציה, התקשר
getAccessTokenForScopes: withOverrideParams: נציג: כדי לראות אם הבקשה עדיין מורשית. getAccessTokenForScopes: withOverrideParams: נציג: מאחזר את אסימון הגישה הגולמי שבו משתמשת Login עם אמזון כדי לגשת למקצוען של לקוחותfile. אם השיטה מצליחה, האפליקציה עדיין מורשית וקריאה אל getProfile: צריך להצליח. getAccessTokenForScopes: withOverrideParams: נציג: משתמש ב- AIAuthicationDelegate פרוטוקול באותו אופן כמו authorizeUserForScopes: נציג :. העבירו את האובייקט המיישם את הפרוטוקול כפרמטר הנציג.- (בטל) checkIsUserSignedIn {
AMZNGetAccessTokenDelegate * delegate =
[[[AMZNGetAccessTokenDelegate alloc] initWithParentController:self] שחרור אוטומטי];
NSArray * requestScopes =
[NSArray arrayWithObjects:@”מקצועןfile”, @” מיקוד ”, אפס]; [AIMobileLib getAccessTokenForScopes: requestScopes withOverrideParams: נציג אפסי: נציג];
} - ליישם requestDidSuceed: על שלך AMZNGetAccessTokenDelegate. requestDidSuceed: יש משימה אחת: להתקשר getProfile:. האקסית הזוample שיחות getProfile: באמצעות אותו מאזין שהצהרת בסעיף הקודם (ראה שלבים 6-8).
#ייבוא “AMZNGetProfileנציג.ה ”
#יְבוּא- (void) requestDidSucceed: (APIResult *) apiResult {
// הקוד שלך לשימוש באסימון הגישה הולך לכאן./ / מכיוון שליישום יש הרשאה לתחום שלנו, אנחנו יכולים
[AIMobileLib getProfile:נָצִיג];
// השג את מקצוען המשתמשיםfile.
AMZNGetProfileנציג* נציג = [[[AMZNGetProfileנציג הקצאת] initWithParentController: אבViewבקר] שחרור אוטומטי];
} - ליישם requestDidFail: על שלך AMZNGetAccessTokenDelegate.
requestDidFail: כולל א APIE שגיאה אובייקט המכיל פרטים על השגיאה. אם אתה מקבל שגיאה, תוכל לאפס את העיקרי view בקר להציג את כפתור התחברות עם אמזון.- (void) requestDidFail: (APIError *) errorResponse {
// הקוד שלך לטיפול באחזור אסימון גישה נכשל.
// אם קוד שגיאה = kAIApplicationNotAuthorized, אפשר למשתמש
// להיכנס שוב.
אם (errorResponse.error.code == kAIApplicationNotAuthorized) {
// הצג כניסה באמצעות כפתור אמזון.
}
אחר {
// לטפל בשגיאות אחרות
[[[[UIAlertView alloc] initWithTitle:@”” הודעה: [NSString
stringWithFormat: @ "אירעה שגיאה בהודעה:% @", errorResponse.error.message] נציג: אפס
cancelButtonTitle:@”OK” otherButtonTitles:nil] autorelease] show];
}
}
ה clearAuthorizationState: השיטה תמחק את נתוני ההרשאה של המשתמש מה- AIMObileLib מאגר נתונים מקומי. משתמש יצטרך להיכנס שוב על מנת שהאפליקציה תוכל לאחזר מקצועניםfile נתונים. השתמש בשיטה זו כדי להתנתק מהמשתמש או לפתור בעיות התחברות באפליקציה.
- הכריז על AMZN יציאה אלגנטי. זהו מעמד המיישם את
אימות AIADelegateprotocol. לענייננו אנו יכולים לרשת את הכיתה NSOobject:
#יְבוּא ממשק @ AMZNLogoutDelegate NSObject
@סוֹף
הוסף את כותרת היישום של הנציג שלך לשיחת הכיתה clearAuthorizationState :. למשלampעל:
#import "AMZNLogoutDelegate.h" - שִׂיחָה clearAuthorizationState :.
כאשר משתמש התחבר בהצלחה, תוכל לספק מנגנון יציאה כדי שיוכל לנקות את נתוני ההרשאה שלו. המנגנון שלך עשוי להיות היפר -קישור או פריט בתפריט, אך עבור תרחיש זה האקסample תיצור א logoutButtonClickedmethod לכפתור התנתקות.- (IBAction) logoutButtonClicked: (id) שולח {
AMZNLogoutDelegate* delegate = [[[AMZNLogoutDelegate alloc] initWithParentController:self] שחרור אוטומטי]; [AIMobileLib clearAuthorizationState:delegate];
}הפרמטר היחיד ל- clearAuthorizationState הוא AIAuthicationDelegate שמיישם requestDidSuceed: ו requestDidFail :.
- ליישם requestDidSucceed :. שיטה זו תיקרא לאחר ניקוי פרטי המשתמש. לאחר מכן עליך להציג אותם כמנוקדים.
- (void) requestDidSucceed: (APIResult *) apiResult {
// ההיגיון הנוסף שלך לאחר אישור המשתמש
// המדינה מנוקה.
[[[UIAlertView alloc] initWithTitle:@”” הודעה:@”משתמש התנתק.”
delegate:nil cancelButtonTitle:@”OK” otherButtonTitles:nil] show];
} - ליישם requestDidFail :. שיטה זו תיקרא אם מסיבה כלשהי לא ניתן לנקות את פרטי המשתמש מהמטמון. במקרה כזה, אתה לא צריך להראות אותם כמנותקים.
- (void) requestDidFail: (APIError *) errorResponse {
// ההיגיון הנוסף שלך לאחר SDK נכשל
// מצב ההרשאה. [[[[UIAlertView alloc] initWithTitle:@”” הודעה: [NSString
stringWithFormat: @ "יציאת המשתמש נכשלה עם ההודעה:% @",
errorResponse.error.message] נציג: אפס
cancelButtonTitle:@”OK” otherButtonTitles:nil] autorelease] show];
}
בדוק את האינטגרציה שלך
הפעל את האפליקציה שלך במכשיר iOS או סימולטור ואשר שאתה יכול להיכנס באמצעות אישורי Amazon.com שלך.
פֶּתֶק: בעת בדיקה בסימולטורים של iOS10, ייתכן שתראה את הודעת השגיאה APIKey עבור היישום אינו חוקי עבור בקשת authoriserUserForScopes, או קוד שגיאה לא ידוע לבקשת clearAuthorizationState. זה באג ידוע עם אפל המתרחש כאשר ה- SDK מנסה לגשת למחזיק המפתחות. עד שאפל תפתור את הבאג, תוכל לעקוף אותו על ידי הפעלת שיתוף מחזיקי מפתחות עבור האפליקציה שלך בכרטיסייה יכולות ביעד היישום שלך. באג זה משפיע רק על סימולטורים. אתה יכול לבדוק במכשירי iOS10 בפועל מבלי להשתמש בפתרון כלשהו.
התחבר עם מדריך תחילת העבודה של אמזון עבור iOS גרסה 2.1.2 - הורד [מותאם]
התחבר עם מדריך תחילת העבודה של אמזון עבור iOS גרסה 2.1.2 - הורד