إنشاء روابط ديناميكية من خلال Unity

يمكنك إنشاء Dynamic Links قصيرة أو طويلة باستخدام واجهة برمجة التطبيقات Firebase Dynamic Links. تتطلّب واجهة برمجة التطبيقات عدّة بنى مَعلمات اختيارية لإنشاء الروابط. يمكن أيضًا إنشاء الروابط القصيرة من رابط طويل تم إنشاؤه مسبقًا. ستنشئ واجهة برمجة تطبيقات الروابط الديناميكية عنوان URL مثل ما يلي:

https://example.page.link/aSDf

قبل البدء

قبل أن تتمكّن من استخدام Firebase Dynamic Links، عليك تنفيذ ما يلي:

  • سجِّل مشروع Unity الخاص بك وأعدَّه لاستخدام Firebase.

    • إذا كان مشروع Unity يستخدم Firebase، يعني ذلك أنّه سبق تسجيله وإعداده لاستخدام Firebase.

    • إذا لم يكن لديك مشروع Unity، يمكنك تنزيل نموذج تطبيق.

  • أضِف حزمة تطوير البرامج (SDK) لـ Firebase Unity (على وجه التحديد، FirebaseDynamicLinks.unitypackage) إلى مشروع Unity الخاص بك.

يُرجى العِلم أنّ إضافة Firebase إلى مشروع Unity تتضمّن مهامًا في كلّ من وحدة تحكّم Firebase ومشروع Unity المفتوح (على سبيل المثال، يمكنك تنزيل ملفات إعداد Firebase من وحدة التحكّم، ثم نقلها إلى مشروع Unity).

ضبط بادئة معرّف الموارد المنتظم (URI) لـ Dynamic Links

  1. في وحدة تحكّم Firebase، افتح قسم Dynamic Links.

  2. إذا لم يسبق لك قبول بنود الخدمة وضبط بادئة معرّف الموارد المنتظم (URI) لـ Dynamic Links، يمكنك إجراء ذلك عندما يُطلب منك.

    إذا كان لديك بادئة عنوان URI لـ Dynamic Links، دوِّنها. يجب تقديم بادئة معرّف موارد منتظم (URI) لـ Dynamic Links عند إنشاء Dynamic Links آليًا.

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

استخدام وحدة تحكّم "Firebase"

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

النطاقات الخاصة

يمكنك التحكّم بشكل أكبر في هوية علامتك التجارية في "Dynamic Link" باستخدام نطاقك الخاص بدلاً من نطاق فرعي في "goo.gl" أو "page.link". اتّبِع هذه التعليمات لإعداد نطاق خاص لمشروعك.

استخدام واجهة برمجة التطبيقات Firebase Dynamic Links

جارٍ إنشاء Dynamic Link طويل من المَعلمات

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

ينشئ المثال البسيط التالي رابطًا ديناميكيًا طويلاً يؤدي إلى https://www.example.com/ ويتم فتحه باستخدام تطبيق Android com.example.android على نظام التشغيل Android وتطبيق com.example.ios على نظام التشغيل iOS:

var components = new Firebase.DynamicLinks.DynamicLinkComponents(
    // The base Link.
    new System.Uri("https://www.example.com/"),
    // The dynamic link URI prefix.
    "https://example.page.link") {
      IOSParameters = new Firebase.DynamicLinks.IOSParameters("com.example.ios"),
      AndroidParameters = new Firebase.DynamicLinks.AndroidParameters(
        "com.example.android.package_name"),
    };
// do something with: components.LongDynamicLink

جارٍ إنشاء فيديو Shorts قصير بعنوان "Dynamic Link"

لإنشاء رابط ديناميكي قصير، يمكنك تمرير رابط طويل تم إنشاؤه سابقًا إلى Firebase.DynamicLinks.GetShortLinkAsync أو إنشاء DynamicLinkComponents بالطريقة نفسها الموضّحة أعلاه.

تتلقّى الدالة GetShortLinkAsync بشكل اختياري مَعلمة ضبط DynamicLinkOptions إضافية مع السمة PathLength، ما يتيح لك التحكّم في كيفية إنشاء الرابط. يتطلّب إنشاء الروابط القصيرة إرسال طلب شبكة إلى خلفية Firebase، لذا يتم تنفيذ طريقة GetShortLinkAsync بشكل غير متزامن. تعرض الدالة GetShortLinkAsync القيمة Task<Firebase.DynamicLinks.ShortDynamicLink>.

على سبيل المثال:

var options = new Firebase.DynamicLinks.DynamicLinkOptions {
  PathLength = DynamicLinkPathLength.Unguessable
};

Firebase.DynamicLinks.DynamicLinks.GetShortLinkAsync(components, options).ContinueWith(task => {
  if (task.IsCanceled) {
    Debug.LogError("GetShortLinkAsync was canceled.");
    return;
  }
  if (task.IsFaulted) {
    Debug.LogError("GetShortLinkAsync encountered an error: " + task.Exception);
    return;
  }

  // Short Link has been created.
  Firebase.DynamicLinks.ShortDynamicLink link = task.Result;
  Debug.LogFormat("Generated short link {0}", link.Url);

  var warnings = new System.Collections.Generic.List<string>(link.Warnings);
  if (warnings.Count > 0) {
    // Debug logging for warnings generating the short link.
  }
});

يستخدم المثال أعلاه تعبير lambda يتم تشغيله عند اكتمال المهمة.