كيفية تقديم ملفات روابط تطبيقات iOS وAndroid بشكل صحيح

يشرح كيفية استضافة ملف `apple-app-site-association` وتقديمه بشكل صحيح │ من أجل روابط iOS Universal Links وملف `assetlinks.json` من أجل روابط تطبيقات Android.

Intermediate

لتقديم ملفات "App Link" الخاصة بنظامي iOS وAndroid بشكل صحيح، يتعين عليك تهيئة كل من موقعك الإلكتروني وتطبيقاتك على الأجهزة المحمولة. ويتضمن ذلك إنشاء ملفات محددة واستضافتها على خادم الويب الخاص بك، بالإضافة إلى إجراء التهيئات اللازمة ضمن مشاريع iOS وAndroid الخاصة بك.

روابط iOS العالمية

بالنسبة لنظام iOS، تحتاج إلى إعداد الروابط العامة، التي تتيح للمستخدمين النقر على رابط لموقعك الإلكتروني ليتم توجيههم بسلاسة إلى تطبيقك المثبت.

  1. قم بإنشاء ملف apple-app-site-association:

    • أنشئ ملف JSON باسم apple-app-site-association (بدون .json ).
    • يحدد هذا الملف عناوين URL التي يمكن لتطبيقك التعامل معها.
    • يجب أن يحتوي الملف على applinks قاموس. داخل applinks، قم بتضمين apps مصفوفة فارغة ومصفوفة details مصفوفة. يجب أن يحدد كل كائن في details المصفوفة يجب أن يحدد appID (معرف فريق Apple الخاص بك متبوعًا بمعرف حزمة التطبيق) ومصفوفة من paths يمكن لتطبيقك معالجتها. يمكنك استخدام أحرف البدل (* و ?) لمطابقة المسار.
    • مثال على محتوى ملف apple-app-site-association: json { "applinks": { "apps": [], "details": [ { "appID": "YOUR_TEAM_ID.com.yourcompany.yourapp", "paths": [ "/path/to/content/*", "/another/path/*", "NOT /path/to/exclude" ] } ] } }
  2. استضافة الملف على خادم الويب الخاص بك:

    • يجب apple-app-site-association يجب استضافة الملف في جذر نطاقك أو داخل .well-known (على سبيل المثال، https://yourdomain.com/apple-app-site-association أو https://yourdomain.com/.well-known/apple-app-site-association).
    • يجب تقديمه عبر HTTPS باستخدام شهادة SSL صالحة.
    • يجب أن يكون الملف متاحًا مباشرةً دون أي عمليات إعادة توجيه HTTP (301 أو 302).
    • يجب أن يكون نوع MIME للملف application/json.
    • يجب ألا يتجاوز حجم الملف غير المضغوط 128 كيلوبايت.
    • إذا كنت تدعم عدة نطاقات أو نطاقات فرعية، فيجب أن يكون لكل نطاق ملف apple-app-site-association .
  3. قم بتكوين تطبيق iOS الخاص بك:

    • في Xcode، قم بتمكين ميزة "المجالات المرتبطة" لمشروعك.
    • أضف النطاقات التي سيدعمها تطبيقك إلى قائمة "Associated Domains"، مع إضافة البادئة applinks: (على سبيل المثال، applinks:yourdomain.com).
    • قم بتنفيذ الطرق اللازمة في AppDelegate أو SceneDelegate لتعامل مع عناوين URL للروابط العالمية الواردة.

روابط تطبيقات Android

بالنسبة لنظام Android، توفر روابط التطبيقات تجربة سلسة مماثلة، حيث تسمح بفتح الروابط التي تم التحقق منها مباشرةً في تطبيقك دون ظهور مربع حوار لإزالة الغموض.

  1. قم بإنشاء ملف "assetlinks.json":

    • قم بإنشاء ملف JSON باسم assetlinks.json.
    • يُنشئ هذا الملف ارتباطًا موثوقًا به بين موقع الويب الخاص بك وتطبيق Android الخاص بك.
    • يجب أن يحتوي الملف على مصفوفة JSON مع كائن يحدد relation (على سبيل المثال، delegate_permission/common.handle_all_urls), target (بما في ذلك namespace باعتباره android_app، package_name، و sha256_cert_fingerprints شهادة توقيع تطبيقك).
    • يمكنك الحصول على بصمة SHA256 باستخدام keytool الأمر أو من Google Play Console إذا كنت تستخدم Play App Signing.
    • مثال على محتوى ملف assetlinks.json: json [{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.yourcompany.yourapp", "sha256_cert_fingerprints": ["AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00:11:22:33:44:55:66:77:88:99:00:AA:BB:CC:DD:EE:FF"] } }]
  2. استضافة الملف على خادم الويب الخاص بك:

    • يجب assetlinks.json يجب استضافة الملف على https://yourdomain.com/.well-known/assetlinks.json.
    • يجب تقديمه عبر HTTPS باستخدام شهادة SSL صالحة.
    • يجب أن يكون الملف متاحًا مباشرةً دون أي عمليات إعادة توجيه HTTP (301 أو 302).
    • يجب أن يكون نوع MIME للملف application/json.
    • إذا كانت روابط تطبيقك تدعم نطاقات مضيف متعددة، فيجب عليك نشر assetlinks.json على كل نطاق.
  3. تكوين تطبيق Android الخاص بك:

    • أضف <intent-filter> إلى AndroidManifest.xml لعناوين URL التي تريد معالجتها.
    • قم بتضمين android:autoVerify="true" في <intent-filter>. هذا يطلب من Android التحقق من نطاق المضيف.
    • يجب <intent-filter> يجب أن يتضمن ACTION_VIEW, BROWSABLE، و DEFAULT الفئات.
    • حدد <data> المخطط (على سبيل المثال، https)، والمضيف، وأي بادئات مسار أو أنماط اختيارية.
    • مثال على مرشح النوايا AndroidManifest.xml: xml <activity android:name=".MainActivity"> <intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="https" android:host="yourdomain.com" android:pathPrefix="/path/to/content" /> </intent-filter> </activity>
    • تعامل مع Intent في نشاط تطبيقك لاستخراج البيانات من عنوان URL والانتقال إلى المحتوى المناسب.

أفضل الممارسات العامة

  • يُعد HTTPS إلزاميًا لكل من روابط iOS العالمية وروابط تطبيقات Android.
  • تجنب عمليات إعادة التوجيه عند تقديم ملفات الارتباط هذه.
  • اختبر جيدًا على أجهزة حقيقية واستخدم أدوات التحقق من الصحة (مثل واجهة برمجة تطبيقات روابط الأصول الرقمية من Google لنظام Android، ومختلف أدوات التحقق عبر الإنترنت لملفات AASA الخاصة بنظام iOS) لضمان الإعداد الصحيح.
  • تأكد من أنك تمتلك النطاقات التي تقوم بتكوين روابط التطبيق لها.