قبل نظام التشغيل iOS 9، كان التنقل بين مواقع الويب للجوال وتطبيقات iPhone الأصلية تجربة خرقاء وغير متوقعة. اعتمد المطورون على بروتوكولات URI المخصصة مثل instagram:// أو mybank://. أدت هذه المخططات في كثير من الأحيان إلى إطلاق تنبيهات النظام المتناقضة التي تطلب "فتح في التطبيق؟"، وتتعطل تمامًا إذا كان التطبيق مفقودًا، وتعاني من ثغرات أمنية خطيرة. ولحل هذه العيوب الأساسية، كشفت شركة Apple النقاب عن Universal Links. ولكن ما هو الرابط العالمي، ولماذا أحدث تحولًا في بنية برامج الهاتف المحمول؟

في جوهره، يعد Universal Link عنوان URL قياسيًا وآمنًا على الويب HTTPS والذي يوجه بسلاسة إلى وحدات تحكم عرض محددة داخل تطبيق iOS مثبت. إذا تم تثبيت التطبيق، يقوم iOS بتشغيله على الفور دون فتح Safari. إذا كان التطبيق مفقودًا، فسيقوم نظام التشغيل بتحميل صفحة الويب سريعة الاستجابة في Safari دون عرض مربعات حوار الأخطاء. في هذا التعمق الفني، نقوم بفحص الأعمال الداخلية لـ Apple Universal Links، واستكشاف ملف تكوين AASA، وشرح سبب اعتماد التوجيه المحمول الحديث على هذا البروتوكول.

يعد فهم الروابط العامة أمرًا بالغ الأهمية لأي مهندس iOS أو مسوق رقمي يسعى إلى تقديم رحلات عملاء خالية من الاحتكاك من حملات البريد الإلكتروني والمنصات الاجتماعية ونتائج محركات البحث.

رسم تخطيطي يوضح كيفية قيام Apple Universal Links بتوجيه طلبات ويب iOS مباشرة إلى تطبيقات الهاتف المحمول الأصلية
تتحقق Apple Universal Links من ارتباطات النطاق لتشغيل التطبيقات المثبتة مباشرة مع توفير إمكانية الرجوع السلس إلى Safari.

لفهم الغرض من الروابط العامة، يجب على المرء فحص أوجه القصور في أنظمة عناوين URL المخصصة القديمة. لم يكن للمخططات المخصصة سجل مركزي. يمكن لأي مطور إنشاء تطبيق يطالب بنظام paypal://، ويعترض المعلمات المالية الحساسة المخصصة لخدمة مشروعة، كما هو موضح في دليلنا حول مخططات عناوين URL للجوال. علاوة على ذلك، إذا قام مستخدم بدون التطبيق بالنقر فوق رابط مخطط مخصص في Safari، فسيعرض iOS خطأ فادحًا في النظام: "لا يمكن لـ Safari فتح الصفحة لأن العنوان غير صالح."

قامت شركة Apple بتصميم Universal Links لإنشاء ثلاثة معايير تشغيلية مهمة:

  • التفرد والأمان: نظرًا لأن Universal Links تستخدم نطاقات الويب القياسية (على سبيل المثال، https://dslink.me/path)، فلا يستطيع أي مطور آخر المطالبة بالرابط الخاص بك إلا إذا كان يتحكم في سجلات DNS وشهادات SSL التي تم التحقق منها.
  • الرجوع السهل: إذا لم يكن تطبيقك مثبتًا لدى مستخدم iPhone، فسيفتح عنوان URL نفسه تلقائيًا موقع الويب للجوال الخاص بك في Safari. لا توجد روابط معطلة ولا توجد مطالبات بالخطأ.
  • هوية واحدة: يحتاج المسوقون والمطورون فقط إلى مشاركة عنوان URL واحد يخدم كلاً من زوار الويب على أجهزة الكمبيوتر المكتبية ومستخدمي التطبيق الأصلي على أجهزة الجوال.

أدى هذا التصميم أيضًا إلى حل مشكلات التي تفتح رابطًا في Safari بدلاً من التطبيق بسبب عمليات تسليم البروتوكول المعطلة.

بنية جمعية موقع تطبيقات Apple (AASA)

الأساس التشغيلي لـ Universal Links هو المصافحة الآمنة بين نظام تشغيل Apple وخادم الويب الخاص بك. تتم عملية المصافحة هذه بواسطة ملف Apple App Site Association (AASA)، وهو مستند JSON مستضاف على:

https://yourdomain.com/.well-known/apple-app-site-association

يحدد هذا الملف معرفات التطبيقات المسموح لها بالتعامل مع مسارات URL محددة في المجال الخاص بك. فيما يلي مثال على تنسيق AASA JSON الحديث:

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "TEAMID1234.com.example.myapp",
        "paths": ["/video/*", "/product/*", "/user/*"],
        "components": [
          {
            "/": "/video/*",
            "comment": "Matches all video detail pages"
          }
        ]
      }
    ]
  }
}

تنطبق قواعد الاستضافة الفنية الرئيسية على ملف AASA:

  • ويجب تقديمه عبر HTTPS باستخدام شهادة SSL موثوقة.
  • يجب أن يُرجع نوع المحتوى الخاص بـapplication/json.
  • ويجب أن يُرجع رمز حالة HTTP 200 OK دون أي عمليات إعادة توجيه من HTTP إلى HTTPS.
  • تقوم Apple بتخزين هذا الملف مؤقتًا على شبكة توصيل المحتوى (CDN)؛ قد تستغرق التغييرات التي تم إجراؤها على الخادم الخاص بك بعض الوقت لنشرها عبر جميع أجهزة iOS.

أنشئ رابطًا عميقًا ذكيًا في ثوانٍ

توقف عن فقدان زوار الهاتف المحمول بسبب شاشات تسجيل الدخول المزعجة للمتصفح داخل التطبيق. استخدم DSLink لإنشاء روابط عميقة نظيفة تفتح التطبيق باستخدام التحليلات في الوقت الفعلي.

Open Universal Links vs schemes guide

يساعد فهم الاختلافات المعمارية بين الروابط العامة والأنظمة المخصصة المطورين على تصميم أنظمة توجيه مرنة عبر الأنظمة الأساسية، كما تم استكشافه في المقارنة بين الارتباطات العامة مقابل أنظمة URL:

ميزة روابط Apple العالمية مخططات URI المخصصة
تنسيق عنوان URL HTTPS القياسي (https://brand.com) بروتوكول الملكية (brand://)
الأمان والملكية تم التحقق منه عبر DNS وAASA JSON لم يتم التحقق منه؛ عرضة لاختطاف المخطط
التعامل مع الفشل تحميل موقع الويب في Safari بأمان يعرض الخطأ "لا يمكن لـ Safari فتح الصفحة".
السلوك الفوري يفتح التطبيق على الفور دون أي مطالبات غالبًا ما يتم تشغيل رسالة "فتح في التطبيق؟" حوارات النظام
دعم المتصفح داخل التطبيق غالبًا ما تكون مقيدة بمشاهد الويب الاجتماعية يمكن تشغيلها عبر عمليات إعادة توجيه JavaScript

على الرغم من أن الروابط العامة تتميز بتفوقها من حيث الأمان وتجربة المستخدم، إلا أنه لا يزال يتم الاحتفاظ بالأنظمة المخصصة في كثير من الأحيان كإجراءات احتياطية عند التعامل مع متصفحات الوسائط الاجتماعية العنيدة داخل التطبيق، والتي تم تفصيلها في دليلنا حول التنقل داخل المتصفح داخل التطبيق.

عندما ينقر مستخدم iPhone على رابط في Apple Mail أو الرسائل أو تطبيق تابع لجهة خارجية، يقوم iOS بتنفيذ سير عمل دقيق لاتخاذ القرار:

  1. البحث في قاعدة البيانات المحلية: يتحقق نظام iOS من قاعدة البيانات المحلية المفهرسة للنطاقات التي تم التحقق منها والمخزنة أثناء تثبيت التطبيق.
  2. تقييم المسار: إذا كان النطاق مطابقًا، يقوم iOS بتقييم ما إذا كان مسار عنوان URL يطابق الأنماط المحددة في مستند AASA.
  3. التحقق من تفضيلات المستخدم: يتحقق نظام iOS مما إذا كان المستخدم قد قام مسبقًا بتبديل تفضيلات Safari من خلال النقر على زر التنقل للنطاق العلوي الأيمن.
  4. التسليم الأصلي: إذا نجحت جميع عمليات التحقق، يقوم iOS بتشغيل التطبيق الأصلي وتمرير كائن NSUserActivity الذي يحتوي على عنوان URL الذي تم النقر عليه إلى مفوض التطبيق أو معالج دورة حياة SwiftUI.
  5. الرجوع إلى Safari: إذا كان التطبيق مفقودًا، أو المسار غير متطابق، أو لم يتم التحقق من النطاق، يقوم iOS بتشغيل Safari وجلب صفحة الويب بشكل طبيعي.

يمكن للمطورين اختبار انتقالات التوجيه هذه باستخدام أداة فحص الارتباط التفاعلية الخاصة بنا للتحقق من رموز الاستجابة وتعيينات النطاق.

لضمان توجيه الرابط العالمي بشكل لا تشوبه شائبة عبر حملاتك التسويقية والبنية التحتية للمطورين، التزم بأفضل الممارسات التي تم اختبارها في المعركة:

  • لا تقم أبدًا بتضمين الروابط العامة في عمليات إعادة التوجيه القياسية: إذا مر الرابط عبر عملية إعادة توجيه 301/302 عامة على نطاق غير مرتبط، فسيقوم نظام التشغيل iOS بكسر السلسلة وتوجيه النقرة إلى Safari. تعرف على المزيد في دليل الارتباط العميق مقابل المختصر.
  • حساب متصفحات التواصل الاجتماعي داخل التطبيق: تلتقط تطبيقات مثل Instagram وTikTok وFacebook النقرات داخل عروض الويب في وضع الحماية. استخدم الروابط العميقة الذكية التي تدعمها DSLink والتي تكتشف عرض الويب وتطلق المصافحة للهروب.
  • دعم مسارات المحتوى العامة: تأكد من أن تطبيق الجوال الأصلي وخادم الويب الخاص بك يشتركان في مسارات توجيه URL متسقة (على سبيل المثال، /item/123 يوجهان إلى نفس المنتج على كل من الويب والتطبيق).
  • التحقق من صحة بنية AASA بشكل مستمر: استخدم أداة التحقق من صحة واجهة برمجة التطبيقات لبحث التطبيقات من Apple للتحقق من أن ملف AASA الخاص بك يظل صالحًا وغير تالف ومنسق بشكل صحيح بعد كل عملية نشر للخادم.

من خلال إتقان Apple Universal Links وإقرانها بالتوجيه الذكي متعدد المنصات، فإنك تقدم تجارب جوال سلسة تجعل المستخدمين منغمسين في برامجك الأصلية.

الأسئلة المتداولة

ما هو الرابط العالمي في iOS؟

الرابط العالمي هو عنوان ويب HTTPS قياسي يتعرف عليه Apple iOS باعتباره مرتبطًا بتطبيق مثبت، مما يسمح لنظام التشغيل بفتح التطبيق الأصلي مباشرةً بدلاً من تحميل Safari.

كيف تتحقق Apple من أن التطبيق يمتلك نطاقًا؟

تتحقق Apple من الملكية من خلال ملف apple-app-site-association (AASA) JSON المستضاف على نطاق الويب. يقوم iOS بتنزيل هذا الملف عند تثبيت التطبيق للتحقق من تطابق معرف التطبيق والمسار.

ماذا يحدث إذا نقر المستخدم على الرابط العالمي ولكن لم يكن التطبيق مثبتًا عليه؟

إذا لم يتم تثبيت التطبيق، فسيقوم iOS بتحميل صفحة الويب الوجهة بسلاسة في Safari دون إظهار أي مطالبات بالخطأ أو مربعات حوار تحذيرية أو شاشات معطلة.

هل يمكن استخدام الروابط العامة على أجهزة Android؟

لا، الروابط العامة هي أحد معايير iOS وiPadOS الخاصة بشركة Apple. يستخدم Android تقنية مكافئة تسمى Android App Links، والتي تعتمد على التحقق من روابط الأصول الرقمية.