civil-and-structural-engineering
שימוש ב- iOS URL Scheme עבור קישור עמוק לתוכן ספציפי
Table of Contents
קישור עמוק הוא טכניקה רבת עוצמה המאפשרת יישומים ניידים לפתוח ישירות לתוכן מסוים או דפים בתוך האפליקציה. על מכשירים iOS, זה מושג באמצעות שימוש תוכניות כתובת URL, אשר הם כתובות URL מותאם אישית אשר מעוררות פעולות ספציפיות אפליקציה. בשילוב עם CMS חסר ראש כמו Directus, אתה יכול לנהל דינמי את התוכן כי קישורים עמוקים אלה נקודה, המאפשר חוויית מודולרית, מונחה על ידי הבנה סלולרית כיצד להשתמש ב- iOS ו- iOS כדי לשפר את ה- Windows באמצעות שימוש באמצעות ממשק המשתמש באמצעות ממשק המשתמש באמצעות יישום דרך ממשקים חלקה באמצעות יישום דרך ממשק המשתמש באמצעות ממשק המשתמש, תוך כדי לספק את התוכן עם ממשקים דרך ממשקים חלקה דרך האינטרנט באמצעות שימוש באמצעות שימוש באמצעות יישום דרך האינטרנט באמצעות שימוש ב-Windows דרך ממשקים דרך ממשקים דרך ממשקים ניידים עם ממשקים ניידים עם ממשקים דרך ממשקים ניידים עם ממשקים עם ממשקים ניידים עם ממשקים דרך ממשקים דרך ממשקים דרך ממשקים דרך ממשקים דרך ממשקים דרך ממשקים ניידים, תוך כדי לספק את התוכן זה יכול באופן דינמי עם גישה חלקה עם גישה חלקה, תוך כדי לספק את התוכן זה יכול לשפר באופן דינמיט.
מה זה iOS URL Scheme?
תוכנית ה- iOS היא פרוטוקול המאפשר לאפליקציות לתקשר אחד עם השני באמצעות כתובות מותאמות אישית.כל אפליקציה יכולה לרשום אחת או יותר תוכניות כתובות URL מותאמות אישית (למשל, FLT:0,FLT:1) ב-FLT:2 קובץ.2 כאשר המערכת נתקלה בקישור החל באחת התוכניות הללו, היא משיקה את האפליקציה המתאימה ומעבירה את ה-URL המלאה ל-URL הזה, אך לא רק כדי לנווט את ה-URL הספציפית אל היעד.
לדוגמה, התוכנית הידועה (FLT 3: 3) יכולה לקחת משתמשים ישירות לציוץ, פרופיל משתמש, או מסך האנסמבל בהתאם לדרך המוערכת.
מנקודת מבט טכנית, תוכניות כתובות משתמשות באותם אלמנטים מבניים ככתובות אינטרנט: תוכנית, מארח, נתיב אופציונלי ופרמטרי השאילתה.הההבדל העיקרי הוא שהתוכנית אינה FLT:5 או FLT:6 אלא מחרוזת מותאם אישית רשומה על ידי האפליקציה.זה מאפשר למערכת ההפעלה לזהות באופן ייחודי את יישום יש לטפל בקישור.
כמה עמוק קישור עובד עם כתובת URL
קישור עמוק עם תוכניות כתובת ה- iOS כרוך בבניית כתובת URL שמספרת את האפליקציה בדיוק לאן ללכת.המבנה הטיפוסי הוא:
- (ב) ויקרא י"ד: ויקרא י"ד: "ה', כ"ד: ויקרא י"ד ," (בראשית כ"ד, כ"ד).
- (ב) ויקרא י"ד: "בְּבְּבְתָּבְתָּבְתָּבְתָּבָה" (במדבר כ"ד, כ"ד).
- (ב) ויקרא י"א: "ב' א' א' א' א' א' א' א': "וַיָּבְתָּבוּ" (ב)
- (ב) ויקרא: ויקרא י"א: ויקרא י"ד: ויקרא י"ד:
כאשר משתמש מקל על קישור כזה במכשיר iOS, המערכת בודקת אם אפליקציה מותקנת רשומה את התוכנית.אם כן, היא משיקה את האפליקציה ומעבירה את כתובת ה-URL לשיטת הציר של האפליקציה.ה אפליקציה מפצה את כתובת ה-URL ונ לנווט לתצוגה המקבילה או למסך.אם אין אפליקציה רשומה, המערכת עשויה ליפול חזרה לדפדפן ברירת המחדל, אך רק אם הקישור משתמש בקישור אוניברסלי (מאוחר יותר).
עבור קישור עמוק לעבוד באופן אמין, מפתחים חייבים להבטיח כי מבנה ה-URL עקבי הן בתוכן האינטרנט המארח את הקישורים והן בלוגיקה של היישום.זה המקום שבו מערכת ניהול תוכן כמו Directus יכול לעזור על ידי אחסון האתרים canonical או תעודות זהות שמניעים את הניווט של האפליקציה.
קישורים אוניברסליים לעומת כתובת ה-URL של סיגמס
אפל הציגה קישורים אוניברסליים ב- iOS 9 כחלופה מאובטחת יותר וחלקית יותר לתוכניות כתובות URL HTTP / HTTPS סטנדרטיות (למשל, FLT:12) ודורשת אימות בצד השרת באמצעות קובץ FLT:13 רגיל.כאשר משתמש מקל על קישור אוניברסלי, בודק את הקובץ, פותח את האפליקציה ישירות אם הוא מותקן, ולא משאיר שום דפדפן ישר אם הוא נפתח קישור.
תוכניות כתובות מותאמות אישית, לעומת זאת, יש כמה חסרונות: הם יכולים להתמודד עם יישומים אחרים (שני יישומים יכולים לרשום את אותה תוכנית), הם לא נופלים בחסד (המערכת מציגה שגיאה אם האפליקציה חסרה), והם יכולים להיות נחטפים על ידי יישומים זדוניים.למרות מגבלות אלה, תוכניות כתובות URL מותאמות אישית עדיין בשימוש נרחב, במיוחד עבור קישורים עמוקים בתוך אפליקציה אחת או עבור תקשורת בין-אישית כאשר קישורים לא נתמכת קישורים לא תקינים.
עבור יישומי ייצור, אפל ממליצה להשתמש בקישורים יוניברסל כמנגנון המניעה העמוק העיקרי ונפילה חזרה לתוכניות כתובות מותאמות אישית לתמיכה במורשת או במקרים ספציפיים לשימוש. יישומים מודרניים רבים, כולל אלה המשולבים עם Directus, ליישם את שניהם כדי להבטיח תאימות מקסימלית על פני גרסאות iOS והעדפות משתמש.
קישור עמוק עם Directus Content
Directus הוא CMS חסר ראש המספק API גמיש לניהול תוכן.כאשר בניית אפליקציית iOS המשתמשת קישור עמוק, אתה יכול למנף Directus כדי לאחסן את המיפוי בין מסלולי כתובת אתר ופריטים תוכן.לדוגמה, כל מאמר או מוצר ב Directus יכול להיות בעל מבנה משותף (FLT:14 או FLT:15 שדה הופך חלק של הקישור העמוק.
הנה איך שילוב טיפוסי עובד:
- (ב) ב[[1924]], [[1924]]]], [[1924]]]]
- (ב) ,ב[[1924]], [[1924]], [[1924]]]], [[1924]], [[1924]]]], [[1924]], [[1924]]]], [[1924]]]], [[1924]]]], [[1924]]]], [[1924]]]]
- (FLT:0) בנו את כתובת ה-URL העמוקה של ה-URL (FLT:1 ), דינמיות ב- Web Front-end או Server באמצעות ממשק API Directus כדי להביא את ה-Selfug של הפריט.
- (ב) ,0) , רשם את תוכנית ה-URL של ה-iOS (למשל, ).
- (ב) ויקרא ה-Directus API כדי להחזיר את התוכן המלא עבור ה-SelfLT.
דפוס זה מבטיח כי כאשר עורך תוכן מעדכן מאמר ב Directus, הקישור העמוק מציין באופן אוטומטי את הגרסה האחרונה - אין צורך בנתיבים קודרים קשים.
תוכן חטוף מ Directus for Deep קישורים
כדי להמחיש, נניח שיש לך אוסף Directus Collection FLT:22 עם שדה (FLT:23) כאשר בניית דף אינטרנט המקשר אפליקציית iOS, אתה יוצר תג עוגן כגון:
<a href="directusapp://article/how-to-deep-link">Read in App</a>
בתוך אפליקציית iOS, לאחר קבלת כתובת ה-URL, היית מסלק את ה-FLT:25 ויגרום לבקשה GET:
https://your-directus-project.example.com/items/articles?filter[slug][_eq]=how-to-deep-link
תגובת ה- API מכילה את נתוני המאמר המלא, אשר לאחר מכן אתה משתמש כדי למפות את הנוף.זה מקלקל את האפליקציה מתכנים קודרים וגורם לקשר העמוק דינמי באמת.
Directus תומך גם בתחומים יחסיים, כך שתוכל להתחבר עמוק לפרופיל של משתמש מסוים או אוסף קשור.
בניית כתובת קישורים עמוקה בתוכן
כאשר יצירת קישורים עמוקים מהשורה הראשונה שלך, בדרך כלל יש לך שתי אפשרויות: ליצור את ה-URL באופן ידני באמצעות התוכנית המותאמות אישית של האפליקציה, או להשתמש ב- Universal קישורים. with Universal קישורים, כתובת האתר היא פשוט כתובת האתר הציבורי (למשל, , ⁇ :29) מערכת iOS מטפל באופן אוטומטי בהפניה המבוססת על ה-FLT:30 קובץ זה לעתים קרובות מועדף כי עובד גם אם למשתמש אין אפשרות אחרת, לא תוכל למנוע את השגיאה "לא" ולא "פות" (לא" לא יכול למנוע את ה- Pages Open apps) באופן אוטומטי להפעיל את ה- Pagest.
כדי ליישם קישורים אוניברסליים עם Directus, עליך:
- (ב) כתוב (ב) בפרשת ה' (ב') ב'[[1924]], [[1924]]
- ודא את ה- API של Directus ו- Web Front-end שלך לרוץ באותו תחום, או להגדיר את קובץ ה- Association על התחום האינטרנט.
- באפליקציית iOS, ניתן "לעמודי תווך" בכרטיסיה של Xcode ולהוסיף את התחום (למשל, FLT:33).
- קישורי יוניברסל ב-FLT:34 שיטת הציר.
באמצעות קישורים אוניברסליים, אתה מקבל ניסיון רב עוצמה, מאובטח עמוק קישור כי מכבד את ההקשר של המשתמש. גמישות של Directus פירושה שאתה יכול לנהל את התוכן עבור קישורים אלה באופן מרכזי, עדכון סלוגים, כותרות, או אפילו הפניית קישורים ישנים לתוכן חדש ללא נגיעה באפליקציה.
יישום כתובת ה-URL Custom Schemes ב- iOS App שלך
כדי להתחיל עם תוכניות כתובות מותאמות אישית בפרויקט Xcode, פתח את האפליקציה שלך (FLT:35 ולהוסיף מפתח בשם FLT:36 תחת זה, ליצור מילון עם FLT:37 (בדרך כלל המזהה החבילה של האפליקציה שלך) ומערך של FLT:38 המכיל את התוכנית שלך מותאם אישית (למשל, FLT:39).
לאחר מכן, ליישם את השיטה (FLT:40) ב-TitFLT:41 (או מחזור החיים SwiftUI שווה ערך) שיטה זו מקבלת את כתובת ה-URL, ואתה יכול לפצח את מרכיביה.
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
let scheme = url.scheme // "directusapp"
let host = url.host // "article"
let path = url.path // "/how-to-deep-link"
let params = url.queryParameters // ["ref": "campaign"]
// Handle routing based on host and path
if host == "article" {
let slug = path.dropFirst() // remove leading "/"
navigateToArticle(withSlug: String(slug))
} else if host == "product" {
// ...
}
return true
}
קוד זה snippet מניח שיש לך הרחבה כדי לחלץ פרמטרים של שאילתה כמילון.עם ה-Selg מופק, אתה יכול לקרוא ללקוח API Directus כדי להביא את הפריט התוכן ולדחוף את בקר התצוגה המתאים.
עקבו אחרי Fallbacks Gracely
מכיוון שתוכניות כתובות מותאמות אישית אינן מציעות נפילה מובנה, עליך ליישם אחת באופן ידני.גישה נפוצה היא להשתמש בהפניה של JavaScript או בדיקה בצד השרת.לדוגמה, באתר האינטרנט שלך, באפשרותך לזהות את המכשיר של המשתמש ולנסות לפתוח את הקישור התוכנית מותאם אישית.אם הוא נכשל (כלומר, האפליקציה אינה מותקנת), באפשרותך להפנות את המשתמש ל-App Store או לתכנים ניידים של גירסה של Web.
אחת הדרכים היא להשתמש בטריק של ה-FLT:43 עם חלוף זמן:
<script>
window.location = "directusapp://article/how-to-deep-link";
setTimeout(function() {
window.location = "https://apps.apple.com/your-app-id";
}, 500);
</script>
זה עובד על מכשירים רבים, אבל יכול להיות לא אמין אם האפליקציה נפתחת לאט. שיטה חזקה יותר היא להשתמש בגישה של FPLT:45 ל- iOS או לשלב שירות קישור עמוק צד שלישי כמו הזרוע או קישורים דינמיים Fire.כאשר באמצעות Directus, אתה יכול גם לאחסן את App Store באוסף מערכת ולהביא אותו דינמי עבור הנפילה.
Best Practices for Deep Linking in Directus-Powered Apps
כדי ליצור מערכת חיבור עמוקה עם Directus, בצע את ההנחיות האלה:
- (ב) ,0) , שמור כתובות של אדם לקריאה: (ב) השתמש בשטרות במקום תעודות זהות ⁇ במידת האפשר.
- (FLT:0) תמיד לספק נפילה.FLT:1 עבור תוכניות כתובות מותאמות אישית, ירידה בגרסה או App Store היא חיונית. עבור קישורים אוניברסליים, הנפילה היא אוטומטית (Safari).
- (FLT:0) ניתוחי ניתוח (FLT:1 Track קישורים עמוקים נפתחים ב Directus על ידי קידוד כתובת האתר או שימוש באוסף ייעודי כדי להקליט אילו קישורים נצמדים.זה עוזר לצוותי תוכן להבין מעורבות.
- (FLT:0) מבחנים אמיתיים של סימולטור 1FLT) לא יכולים לשכפל באופן מלא את התנהגות הקישור האוניברסלי.מבחן על מכשירים פיזיים הפועלים בגרסאות שונות של iOS.
- (ב) § 0 § § § 1 השתמש בקישורים אוניברסליים על תוכניות מותאמות אישית כאשר ניתן למנוע משיכת תוכנה.אם אתה חייב להשתמש בתכנית אישית, להפוך אותה ייחודית - להעריך את התחום הפוך של החברה שלך, למשל, .
- (ב) אם ה-Directus API מחזיר שגיאה (למשל, ה-Selftt) מראה מסך שגיאה ידידותי או הפניה למסך ביתי בתוך האפליקציה.
על ידי דבקות בפרקטיקה זו, אתה מבטיח למשתמשים אשר להתחבר עמוק יש ניסיון חלק, בין אם יש להם את היישום מותקן או לא.
בדיקה ודיון קישורים עמוקים
קישורים עמוקים יכולים להיות מורכבים כי המערכת לעתים קרובות מקליד קבצים או נכשל בשקט.כאן כמה טיפים:
- (ב) ב-[[1924]], [[1924]], [[1924]]]], [[1924]]]], [[1924]]]], [[1924]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]
- (FLT:0) ,Simulate קישורים מ- Safari.FLT:1) ניתן לבחון תוכניות כתובות מותאמות אישית על ידי הקלדה FLT:50 ישירות לתוך בר כתובת הספאר.עבור קישורים אוניברסליים, עליך לארח את קובץ ההתאגדות ולבדוק מתחום אמיתי.
- (ב) [13] ,0) ,Validate קובץ ה-Apple-app-site-association.FLT:1 Apple מספק כלי בקונסולת מפתח Apple כדי לבדוק את הקובץ.You יכול גם להשתמש ב- אימותים מקוונים כגון FLT:2Branch's AASA אימותatorFLT 3: 3.
- (FLT:0) צ'ק יומני השרת.FLT:1 אם משתמשים ב-Directus כ-Backend, ודא שנקודת קצה ה- API שלך עבור הבאת תוכן היא זמינה ומחזירה את הנתונים הצפויים.
- (FLT:0) פתח את המכשיר cache.FLT:1 iOS מצמיד את קובץ ההתאגדות באופן אגרסיבי.You יכול לכפות רענון על ידי הפעלת המכשיר או מצב המטוס.
עבור בדיקה יסודית, ליצור רשימת צ'ק מכסה הן תרחישים יישומים מותקנים ולא מותקנות, גרסאות iOS שונות, ופורמטים שונים של קישורים (עם וללא פרמטרים).
מסקנה
שילוב תוכניות iOS לקישור עמוק עם CMS חסר ראש כמו Directus יוצר מערכת חזקה וגמישה לספק תוכן ישירות למשתמשים ביישום הנייד שלך. על ידי מרכזי ניהול תוכן ב Directus, אתה יכול לעדכן יעדי קישור עמוקים, להוסיף מסלולים חדשים, לעקוב אחר מעורבות ללא שינוי אי פעם מחדש של היישום.אם אתה בוחר תוכניות כתובות כתובות כתובות מותאמות אישית או קישורים אוניברסליים - אידיאלי - התוצאה היא חלקה בין תוכניות אינטרנט והתחל כדי להפחית את ה- API שלך.
לקריאה נוספת, עיין בתיעוד התעודה הרשמי של אפל:0 (הידוע בנוגע לקישור עמוק ב-FLT:1, TheFLT:2Directus CMS DocumentsFLT 3:2, and thisFLT:4Raywender, on Universal קישורים בינלאומיים:5 for Step-by-Step-by-Step Applications applicationדוגמאות.