نقل ميزة تسجيل الدخول باستخدام رابط البريد الإلكتروني من "روابط Firebase الديناميكية" (لنظام التشغيل iOS)

كانت مصادقة الروابط عبر البريد الإلكتروني تعتمد سابقًا على Firebase Dynamic Links، وسيتم إيقافها نهائيًا في 25 أغسطس 2025. لقد نشرنا حلاً بديلاً في Firebase Authentication الإصدار 11.8.0 أو إصدار أحدث من حزمة تطوير البرامج (SDK) لنظام التشغيل iOS. إذا كان تطبيقك يستخدم Firebase Dynamic Links، عليك نقل بيانات تطبيقك إلى نظام Firebase Hosting الجديد.

نقل نطاق Firebase Dynamic Links المرتبط بحسابك إلى نطاق Firebase Hosting

بدلاً من استخدام النطاق Firebase Dynamic Links، سيستخدم Firebase Authentication النطاق التلقائي Firebase Hosting لمشروعك من أجل إنشاء روابط لإجراءات الروابط عبر البريد الإلكتروني وغيرها من إجراءات الروابط خارج النطاق في تطبيقات الأجهزة الجوّالة. وهذا يعني أنّه يجب أيضًا تعديل تطبيقك لاستخدام النطاق التلقائي كنطاق مرتبط لروابط مصادقة البريد الإلكتروني المؤدية إلى تطبيقك على الأجهزة الجوّالة.

يمكنك اتّباع التعليمات الواردة في المصادقة باستخدام Firebase من خلال رابط البريد الإلكتروني على منصات Apple لتعديل تطبيقك لاستخدام نطاق Firebase Hosting تلقائي جديد يتم توفيره تلقائيًا.

استخدِم التعليمات التالية للتعامل مع الروابط من النطاق الجديد ولتوجيه Firebase Authentication إلى البدء في استخدام النطاق Firebase Hosting لإنشاء روابط تطبيقات الأجهزة الجوّالة من الآن فصاعدًا.

إذا أردت مواصلة استخدام أي من نطاقات Firebase Hosting المخصّصة أو حتى نطاق Firebase Dynamic Links المخصّص ليكون نطاقك المرتبط الجديد، اتّبِع التعليمات الواردة في قسم تخصيص روابط الأجهزة الجوّالة وعدِّل الخطوات لتتطابق مع النطاق المطلوب استخدامه.

  1. ربط نطاق Firebase Hosting بنطاق تطبيقك المرتبط

    عليك ضبط النطاق المحدّد كنطاق مرتبط بروابط التطبيقات. لإعداد إذن الوصول في تطبيقك، افتح علامة التبويب التوقيع والقدرات الخاصة بالهدف في Xcode وأضِف نطاقات Firebase Hosting من الخطوة السابقة إلى إمكانية النطاقات المرتبطة. في حال استخدام النطاق التلقائي Firebase Hosting، سيكون هذا النطاق applinks:PROJECT_ID.firebaseapp.com.

    يمكنك الاطّلاع على إتاحة النطاقات المرتبطة على الموقع الإلكتروني المخصّص للمستندات من Apple للحصول على مزيد من المعلومات.

    تم نشر ملف نطاق مرتبط ضمن جميع نطاقاتك Firebase Hosting. للوصول إلى هذه الصفحة، انتقِل إلى PROJECT_ID.firebaseapp.com/.well-known/apple-app-site-association. يمكن استبدال ملف AASA هذا. لمزيد من المعلومات، يُرجى الاطّلاع على إنشاء ملفات إعدادات الروابط العامة واستضافتها.

  2. إعداد مشروعك لاستخدام الروابط الجديدة

    عندما تصبح جاهزًا للتعامل مع روابط النطاق الجديدة، يمكنك استخدام Firebase Admin SDK لتعديل طريقة إنشاء روابط البريد الإلكتروني وإخبار الخلفية ببدء إنشاء الروابط باستخدام النطاق الجديد Firebase Hosting.

    import { getAuth } from 'firebase-admin/auth';
    
    const updateEmailAuthDomain = async () => {
        const updateRequest = {
            mobileLinksConfig: {
                domain: 'HOSTING_DOMAIN',
            },
        };
    
        const projectConfigManager = getAuth().projectConfigManager();
    
        try {
            const response = await projectConfigManager.updateProjectConfig(updateRequest);
            // Updated project config
            console.log('Project configuration updated successfully:', response);
        } catch (error) {
            console.error('Error updating the project:', error);
        }
    };
    
  3. إرسال رابط البريد الإلكتروني واسترداده

    أرسِل رابط تسجيل الدخول عبر البريد الإلكتروني كما كان من قبل. عندما ينقر مستخدم نهائي على الرابط، ستتم إعادة توجيهه إلى التطبيق إذا كان مثبّتًا لإكمال عملية تسجيل الدخول.

يمكنك استخدام نطاق Firebase Hosting مخصّص أو إعادة استخدام نطاقك المخصّص Firebase Dynamic Links ليكون نطاق روابطك الجديد على الأجهزة الجوّالة.

استخدام نطاق Firebase Hosting مخصّص

  1. اتّبِع دليل Firebase Hosting لإعداد نطاق مخصّص.
  2. اربط النطاق المخصّص بنطاق تطبيقك المرتبط.
  3. إرسال رابط مصادقة إلى عنوان البريد الإلكتروني للمستخدم مع كائن ActionCodeSettings معدَّل يتضمّن نطاقًا مخصّصًا على النحو التالي: linkDomain
  1. يمكنك إعادة استخدام أي من نطاقات Firebase Dynamic Links كنطاق مخصّص. ومع ذلك، لن يعود أي من وظائف Firebase Dynamic Links متوافقًا (على سبيل المثال، لا يمكن إعادة توجيه المستخدمين إلى متجر التطبيقات إذا لم يكن التطبيق مثبَّتًا على أجهزتهم).
  2. إرسال رابط مصادقة إلى عنوان البريد الإلكتروني للمستخدم مع كائن ActionCodeSettings معدَّل يتضمّن نطاقًا مخصّصًا على النحو التالي: linkDomain