הגדרת Universal Links ל-iOS: מ-AASA לניווט

משתמשים לא יכולים לפתוח את האפליקציה דרך קישור ממייל או אתר, מה שפוגע בהמרות ומתסכל לקוחות. אנחנו מגדירים Universal Links ל-iOS כך שהקשות מובילות ישירות למסך האפליקציה הנכון, תוך עקיפת הדפדפן. אנחנו מספקים פתרון turnkey—מבדיקות תצורה ועד תמיכה מתמשכת—בסמכות מלאה, עם מומחיות הצוות שלנו ועמידה בזמנים.

פיתוח ותמיכה בכל סוגי היישומים הניידים:

יישומים ניידים למידע ובידור
אפליקציות חדשות, משחקים, מדריכים, קטלוגים מקוונים, אפליקציות מזג אוויר, אפליקציות כושר ובריאות, אפליקציות נסיעות, אפליקציות חינוכיות, רשתות חברתיות ומסנג'רים, חידונים, בלוגים ופודקאסטים, פורומים, אגרגטורים
יישומים ניידים למסחר אלקטרוני
חנויות מקוונות, אפליקציות B2B, מרקטפלייסים, בורסות מקוונות, שירותי קאשבק, בורסות, פלטפורמות דרופשיפינג, תוכניות נאמנות, משלוחי מזון ומוצרים, מערכות תשלום.
יישומים ניידים לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, ניהול פרויקטים, כלים לצוותי מכירות, ניהול פיננסי, ניהול ייצור, ניהול לוגיסטיקה ומשלוחים, ניהול משאבי אנוש, מערכות ניטור נתונים
יישומים ניידים לשירותים אלקטרוניים
פלטפורמות מודעות מסווגות, בתי ספר מקוונים, בתי קולנוע מקוונים, פלטפורמות שירות אלקטרוניות, פלטפורמות קאשבק, אירוח וידאו, פורטלים נושאיים, פלטפורמות הזמנות ותזמון מקוונות, פלטפורמות מסחר מקוונות

אלה הם רק חלק מסוגי היישומים הניידים שאנו עובדים איתם, ולכל אחד מהם עשויים להיות מאפיינים ופונקציונליות ספציפיים משלו, המותאמים לצרכים ולמטרות הספציפיות של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
הגדרת Universal Links ל-iOS: מ-AASA לניווט
בינוני
מ- 1 יום עד 3 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

האפליקציה לא נפתחת מקישור באימייל? משתמשים מתלוננים שהאתר נפתח בדפדפן במקום באפליקציה? Universal Links פותרים זאת ישירות: קישור כמו https://example.com/product/123 פותח את האפליקציה במסך הנכון, תוך עקיפת הדפדפן. אין צורך ב-schemes מותאמים אישית (myapp://product/123) שלא עובדים ב-Safari ונחסמים על ידי MDM ארגוני. אנחנו צוות פיתוח מובייל עם ניסיון של למעלה מ-5 שנים; הגדרנו deep linking באמצעות universal links ליותר מ-15 פרויקטים של iOS עם קהל כולל של למעלה מ-2 מיליון משתמשים. בפרויקט אחד עם 500 אלף משתמשים, גילינו שמשתמשים לא יכלו לנווט מקמפיין אימייל למוצר ספציפי—ההמרה ירדה ב-20%. לאחר הטמעת universal linking, היא התאוששה וגדלה ב-15%. מאמר זה מכסה מתודולוגיה מוכחת ומלכודות נפוצות. להגדרת deep linking ל-iOS, בצעו את השלבים הבאים.

למה Universal Links עדיפים על Custom Schemes

ל-URL schemes מותאמים אישית (myapp://) יש חסרונות מהותיים:

  • הם לא עובדים ב-Safari כברירת מחדל—המשתמש רואה שגיאה "Cannot Open App".
  • הם לא נתמכים בסביבות MDM ארגוניות.
  • אין להם fallback לגרסת האינטרנט.

Universal Links נקיים מהבעיות הללו: הם משתמשים ב-HTTPS סטנדרטי, תומכים ב-fallback לאתר, ואינם דורשים פעולה נוספת מהמשתמש. האבטחה גבוהה יותר—לא ניתן ליירט את ה-scheme על ידי אפליקציה אחרת.

קריטריון Universal Links Custom URL Scheme
עובד ב-Safari כן לא (שגיאה)
Fallback לאתר אוטומטי דורש JS
תאימות MDM כן לא
אבטחה גבוהה (https) נמוכה

איך Universal Links עובדים ואיפה הם נשברים

קובץ AASA. הקובץ ב-https://example.com/.well-known/apple-app-site-association על השרת חייב להיות JSON ללא סיומת קובץ, מוגש עם Content-Type: application/json, נגיש דרך HTTPS ללא הפניות. Apple מנתחת קובץ זה בעת התקנת האפליקציה ומאחסנת אותו במטמון ב-CDN—העדכון יכול לקחת עד 24 שעות. יש לשמור על קובץ AASA מתחת ל-50KB לביצועים מיטביים.

הטעות הנפוצה ביותר: השרת מגיש את הקובץ עם הפניה מ-http ל-https, או 301 לגרסת www של הדומיין. Apple לא עוקבת אחר הפניות בעת הורדת AASA. בדקו עם curl -v https://example.com/.well-known/apple-app-site-association—הוא אמור להחזיר 200 עם Content-Type נכון. השתמשו בפקודת applinks ב-macOS כדי לאמת entitlements.

פורמט ל-iOS 13+ (details עם { "applinks": { "details": [{ "appIDs": ["TEAMID.com.example.app"], "components": [ { "/": "/product/*", "comment": "Product pages" }, { "/": "/order/*" } ] }] } } ):

{ "applinks": {
  "details": [
    {
      "appIDs": ["TEAMID.com.example.app"],
      "components": [
        { "/": "/product/*", "comment": "Product pages" },
        { "/": "/order/*" }
      ]
    }
  ]
} }

App Entitlements. ב-Entitlements.plist יש צורך ב-com.apple.developer.associated-domains עם רשומה applinks:example.com. entitlement שנשכח פירושו שהאפליקציה פשוט לא מקבלת את קריאת ה-universal link. הפעילו associated domains iOS דרך Xcode capabilities.

טיפול בקוד. ב-AppDelegate או SceneDelegate, הטמיעו application(_:continue:restorationHandler:) (UIKit) או onOpenURL (SwiftUI). אתם מקבלים NSUserActivity עם סוג NSUserActivityTypeBrowsingWeb ו-webpageURL. פרסו את הנתיב באמצעות webpageURL כדי לקבוע את מסך היעד ולבנות את מחסנית הניווט. טיפול ב-Universal link ב-AppDelegate כולל הטמעת מתודה זו. לטיפול ב-deep link ב-SwiftUI, השתמשו ב-modifier URLComponents.

פרסור URL חייב להיות חזק: xcrun simctl openurl booted 'https://example.com/product/123' עשוי להגיע עם פרמטרים של שאילתה, קטעים או אותיות גדולות. השתמשו ב-swcutil במקום פרסור ידני של מחרוזות כדי להימנע מבעיות קידוד. הטמיעו לוגיקת ניתוב URL ל-iOS באמצעות Console.app.

בדיקות. בסימולטור, universal links עובדים דרך swcd. במכשיר אמיתי, השתמשו ב-Safari (לחיצה ארוכה על הקישור → "Open in App"). Xcode → Diagnostics לא יציג בעיות AASA—יש צורך ב-applinks:example.com?mode=developer ב-Mac ו-curl -v https://example.com/.well-known/apple-app-site-association עבור לוגים של HTTP/1.1 200 OK (ה-daemon של universal links של Apple).

טעות נפוצה פתרון
קובץ AASA מוגש עם הפניה הסירו כל הפניה מ-HTTP ל-HTTPS או www; הגישו ישירות באותו דומיין כמו הקישור.
entitlement חסר הוסיפו Content-Type: application/json עם swcd בכל ה-targets.
פורמט JSON שגוי ל-iOS 13+ השתמשו במערך com.apple.developer.associated-domains במקום מערך SceneDelegate; כללו AppDelegate ו-components.
מצב מפתח

עבור אפליקציות ארגוניות או סביבות staging, הוסיפו applinks:yourapp.com?mode=developer ל-entitlements. במצב זה, iOS לא מאחסנת את ה-AASA במטמון ומביאה את הקובץ ישירות מהשרת—נוח במהלך הפיתוח.

איך לוודא שקובץ ה-AASA תקין

  1. הריצו curl -v https://yourapp.com/.well-known/apple-app-site-association. צפו ל-HTTP/1.1 200 OK ו-Content-Type: application/json.
  2. השתמשו ב-AASA Validator של Apple (מובנה ב-Apple Developer).
  3. ב-Mac, פתחו את Console.app, סננו לפי swcd—תראו לוגים של הורדת AASA.
  4. ב-iOS: הזינו את הקישור ב-Safari, לאחר פתיחת האפליקציה בדקו לוגים דרך המכשיר.

Apple משתמשת ב-CDN כדי לאחסן את קובץ ה-AASA במטמון ומאמתת את הדומיין דרך תעודת SSL. זה מונע מאפליקציות לא מורשות לתבוע את הדומיין שלכם.

בעיות נפוצות במהלך ההגדרה

לעתים קרובות מפתחים נתקלים בכך שהקישור פותח את האתר במקום האפליקציה. הסיבה היא קובץ AASA לא נגיש או שגוי: השרת מגיש הפניה או פורמט שגוי. פתרון: הסירו הפניות וודאו שהפורמט תואם ל-iOS 13+. בעיה נוספת: universal link לא מטופל כי ה-entitlement com.apple.developer.associated-domains חסר ב-target. שלישית: קובץ ה-AASA לא מתעדכן בגלל מטמון של Apple (עד 24 שעות). השתמשו במצב מפתח כדי לזרז.

תרחישים ומקרי קצה

דומיינים מרובים. אפליקציה יכולה לטפל בעד 5 דומיינים—פשוט הוסיפו רשומות מרובות ב-entitlements. יש צורך בקובץ AASA בכל דומיין בנפרד.

קישורים מלקוחות אימייל. Gmail ו-Outlook באפליקציות iOS עוטפים קישורים דרך שירותי ההפניות שלהם. Universal links לא יפעלו במקרה זה—Apple רואה את כתובת ההפניה, לא את היעד. זו מגבלת פלטפורמה, לא באג.

תוצרי השירות

  • הגדרת קובץ AASA על השרת עם תבניות נתיב נדרשות
  • Entitlements ותצורת Xcode לכל ה-targets וה-schemes (Debug, Release, Staging)
  • הטמעת handler ב-SceneDelegate / AppDelegate עם ניתוב למסכי יעד באמצעות URLComponents
  • בדיקות על מכשירים אמיתיים ודרך סימולטור
  • אימות דרך ה-validator של Apple ולוגים של swcd
  • תיעוד פרויקט כולל הוראות גישה לשרת ותצורת entitlements
  • תמיכה של 30 יום לאחר ההשקה לכל בעיה
  • הדרכה אופציונלית לצוות שלכם (שעה) לתחזוקת ההגדרה

התמחור מתחיל ב-$499 עבור דומיין יחיד עם עד 5 תבניות נתיב. עבור דומיינים מרובים או לוגיקה מותאמת אישית, העלות מחושבת בנפרד. על סמך הניסיון שלנו, החיסכון הממוצע הוא 40% בהשוואה להגדרה פנימית עקב צמצום ניסוי וטעייה. אנו מציעים פתרונות iOS deep linking turnkey החל מ-$499. עלות ה-iOS deep linking תלויה במורכבות; הגדרות טיפוסיות עם דומיינים מרובים נעות בין $799 ל-$1,299.

לוחות זמנים

הטמעה בסיסית עם מספר תבניות נתיב ושילוב בניווט קיים: 1 עד 2 ימים. עם תמיכה בדומיינים מרובים ולוגיקת ניתוב מותאמת אישית: 2 עד 3 ימים. לוחות הזמנים מוערכים באופן שמרני; למעלה מ-95% מהפרויקטים עומדים במועד.

קבלו ייעוץ מהנדס—נעזור לכם עם הפרויקט שלכם.