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

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

https://example.page.link/WXYZ

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

قبل البدء

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

    إذا كان لديك نطاق Dynamic Links من قبل، دوِّنه. عليك إجراء ما يلي: توفير نطاق Dynamic Links عند إنشاء Dynamic Links آليًا.

يمكنك استخدام Firebase Dynamic Links API لتقصير قيمة Dynamic Link الطويلة. لإجراء ذلك، إرسال طلب HTTP POST إلى نقطة النهاية shortLinks، مع تحديد Dynamic Link الطويل في المعلمة 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 يدويًا لمعرفة كيفية إجراء ذلك. لإنشاء Dynamic Links طويل.

يمكنك أيضًا إنشاء Dynamic Link قصير من خلال تحديد مَعلمات Dynamic Link. مباشرةً. لإجراء ذلك، قدِّم طلب HTTP POST إلى "shortLinks". نقطة نهاية، مع تحديد المعلمات Dynamic Link في المعلمة 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، يمكنك مراجعة مرجع واجهة برمجة التطبيقات.

ضبط طول فيديو Dynamic Link القصير

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

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

https://example.page.link/UVWXYZuvwxyz12345

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

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

https://example.page.link/WXYZ

استخدِم هذه الطريقة إذا لم يتم الكشف عن معلومات حساسة إذا كانت قيمة Dynamic Link قصيرة تم تخمين عنوان 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.

الخطوات التالية

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

لتلقّي مبلغ Dynamic Links في تطبيقك، يُرجى الاطّلاع على مستندات iOS وAndroid C++ وUnity.

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