يمكنك إنشاء روابط ديناميكية قصيرة باستخدام واجهة برمجة تطبيقات REST للروابط الديناميكية في Firebase. تقبل واجهة برمجة التطبيقات هذه إما ارتباطًا ديناميكيًا طويلاً أو كائنًا يحتوي على معلمات ارتباط ديناميكي ، وتُرجع عنوان URL مثل المثال التالي:
https://example.page.link/WXYZ
الروابط الديناميكية القصيرة التي تم إنشاؤها باستخدام API والعميل (Android / Apple) SDK لا تظهر في وحدة تحكم Firebase. هذه الروابط الديناميكية مخصصة للمشاركة بين مستخدم وآخر. بالنسبة لحالات الاستخدام التسويقي ، استمر في إنشاء الروابط الخاصة بك مباشرةً من خلال صفحة الروابط الديناميكية بوحدة تحكم Firebase.
قبل ان تبدأ
- احصل على مفتاح API الخاص بك. ستحتاج إلى مفتاح API لمصادقة طلباتك إلى API. للعثور على مفتاح API الخاص بك:
- افتح صفحة الإعدادات في وحدة تحكم Firebase. إذا طُلب منك اختيار مشروع ، فحدد مشروع Firebase من القائمة.
- لاحظ قيمة حقل Web API Key .
- في وحدة تحكم Firebase ، افتح قسم الروابط الديناميكية .
إذا لم تكن قد وافقت بالفعل على شروط الخدمة وقمت بتعيين مجال للروابط الديناميكية الخاصة بك ، فافعل ذلك عندما يُطلب منك ذلك.
إذا كان لديك بالفعل مجال روابط ديناميكية ، فقم بتدوين ذلك. تحتاج إلى توفير مجال ارتباطات ديناميكية عند إنشاء روابط ديناميكية برمجيًا.
إنشاء ارتباط ديناميكي قصير
قم بإنشاء ارتباط قصير من رابط طويل
يمكنك استخدام Firebase Dynamic Links API لتقصير ارتباط ديناميكي طويل. للقيام بذلك ، قم بإجراء طلب 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
، راجع مرجع API .
اضبط طول ارتباط ديناميكي قصير
يمكنك أيضًا تعيين معلمة 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 / ثانية ، و 200000 طلب / يوم. إذا تم تجاوزها ، فستُرجع الاستجابة رمز خطأ HTTP 429. لطلب المزيد من الحصة ، املأ هذا النموذج .