إنشاء روابط ديناميكية باستخدام واجهة برمجة تطبيقات REST

يمكنك إنشاء روابط ديناميكية قصيرة باستخدام واجهة برمجة تطبيقات REST للروابط الديناميكية في Firebase. تقبل واجهة برمجة التطبيقات هذه إما الرابط الديناميكي الطويل أو كائنًا يحتوي على معلمات رابط ديناميكي، وتعرض عنوان URL مثل المثال التالي:

https://example.page.link/WXYZ

لا تظهر الروابط الديناميكية القصيرة التي تم إنشاؤها باستخدام واجهة برمجة التطبيقات وحزمة تطوير البرامج (SDK) للعميل (Android/Apple) في وحدة تحكُّم Firebase. هذه الروابط الديناميكية مخصصة للمشاركة من مستخدم إلى آخر. بالنسبة إلى حالات الاستخدام التسويقي، عليك مواصلة إنشاء الروابط مباشرةً من خلال صفحة الروابط الديناميكية في "وحدة تحكُّم Firebase".

قبل البدء

  1. احصل على مفتاح واجهة برمجة التطبيقات. ستحتاج إلى مفتاح واجهة برمجة التطبيقات لمصادقة طلباتك إلى واجهة برمجة التطبيقات. للعثور على مفتاح واجهة برمجة التطبيقات:
    1. افتح صفحة الإعدادات في "وحدة تحكُّم Firebase". إذا طُلب منك اختيار مشروع، اختَر مشروع Firebase من القائمة.
    2. دوِّن قيمة الحقل مفتاح واجهة برمجة تطبيقات الويب.
  2. في "وحدة تحكُّم Firebase"، افتح قسم الروابط الديناميكية.
  3. في حال لم تكن قد قبلت بنود الخدمة واخترت نطاقًا للروابط الديناميكية، عليك إجراء ذلك عندما يُطلب منك ذلك.

    إذا كان لديك نطاق "الروابط الديناميكية" من قبل، دوّنه. تحتاج إلى توفير نطاق "الروابط الديناميكية" عند إنشاء "روابط ديناميكية" بشكل آلي.

يمكنك استخدام واجهة برمجة التطبيقات للروابط الديناميكية في Firebase لتقصير رابط ديناميكي طويل. لإجراء ذلك، قدِّم طلب HTTP POST إلى نقطة النهاية shortLinks، مع تحديد الرابط الديناميكي الطويل في مَعلمة longDynamicLink. على سبيل المثال:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
   "longDynamicLink": "https://example.page.link/?link=https://www.example.com/&apn=com.example.android&ibi=com.example.ios"
}

اطّلع على إنشاء عنوان URL يدويًا لمعرفة كيفية إنشاء روابط ديناميكية طويلة.

يمكنك أيضًا إنشاء رابط ديناميكي قصير عن طريق تحديد مَعلمات الرابط الديناميكي مباشرةً. لإجراء ذلك، قدِّم طلب HTTP POST إلى نقطة نهاية shortLinks، مع تحديد معلَمات الرابط الديناميكي في معلَمة dynamicLinkInfo. على سبيل المثال:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
  "dynamicLinkInfo": {
    "domainUriPrefix": "https://example.page.link",
    "link": "https://www.example.com/",
    "androidInfo": {
      "androidPackageName": "com.example.android"
    },
    "iosInfo": {
      "iosBundleId": "com.example.ios"
    }
  }
}

للاطّلاع على المواصفات الكاملة للكائن dynamicLinkInfo، يمكنك الاطّلاع على مرجع واجهة برمجة التطبيقات.

ضبط طول رابط ديناميكي قصير

يمكنك أيضًا ضبط المَعلمة suffix لتحديد كيفية إنشاء مكوّن المسار للرابط الديناميكي القصير.

بشكل تلقائي، أو إذا ضبطت المَعلمة على "UNGUESSABLE"، سيكون مكوّن المسار سلسلة من 17 حرفًا، كما في المثال التالي:

https://example.page.link/UVWXYZuvwxyz12345

يتمّ إنشاء هذه السلاسل من خلال ترميز base62 بأرقام 96 بت يتم إنشاؤها عشوائيًا. يمكنك استخدام هذا الإعداد لمنع تخمين عناوين URL للروابط الديناميكية والزحف إليها، ما قد يؤدي إلى كشف معلومات حساسة لمستلِمين غير مقصودين.

إذا ضبطت المَعلمة على "SHORT"، سيكون عنصر المسار عبارة عن سلسلة يجب أن تكون فريدة فقط، ولا يقلّ طولها عن 4 أحرف.

https://example.page.link/WXYZ

استخدِم هذه الطريقة إذا لم يتم الكشف عن معلومات حساسة في حال تخمين عنوان URL مختصر للرابط الديناميكي.

يوضّح المثال التالي كيفية ضبط مَعلمة suffix:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
   "longDynamicLink": "https://example.page.link/?link=http://www.example.com/&apn=com.example.android&ibi=com.example.ios",
   "suffix": {
     "option": "UNGUESSABLE"
   }
}

على الأقل، يجب أن تبدأ قيمة الرابط لصفحة في التطبيق المقدّمة بمخططات http:// أو https:// . ويجب أيضًا أن يطابق أي قائمة بيضاء لأنماط عناوين URL تم إدخالها في وحدة التحكم. إذا لم يكن هذا ممكنًا، فستفشل واجهة برمجة التطبيقات للإنشاء مع ظهور رمز خطأ HTTP 400.

الخطوات اللاحقة

الآن بعد أن أنشأت الروابط الديناميكية، تحتاج إلى إعداد تطبيقك لتلقي الروابط الديناميكية وإرسال المستخدمين إلى المكان المناسب في تطبيقك بعد أن يفتحهم المستخدم.

لتلقّي "الروابط الديناميكية" في تطبيقك، يمكنك مراجعة مستندات iOS وAndroid وC++ وUnity.

تقتصر الطلبات على 5 طلبات لكل عنوان IP في الثانية، و200,000 طلب في اليوم. في حال تجاوز هذه القيمة، ستعرض الاستجابة رمز خطأ HTTP 429. لطلب الحصول على حصة أكبر، يُرجى ملء هذا النموذج.