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

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

https://example.page.link/aSDf

قبل البدء

قبل أن تتمكّن من استخدام روابط Firebase الديناميكية، عليك إجراء ما يلي:

  • سجِّل مشروعك على Unity واضبطه لاستخدام Firebase.

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

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

  • أضِف حزمة تطوير برامج Unity من Firebase (خصوصًا FirebaseDynamicLinks.unitypackage) إلى مشروع Unity.

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

إعداد بادئة معرّف الموارد المنتظم (URI) للروابط الديناميكية

  1. في "وحدة تحكُّم Firebase"، افتح قسم الروابط الديناميكية.

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

    إذا كان لديك بادئة معرّف الموارد المنتظم (URI) للروابط الديناميكية من قبل، يُرجى أخذها في الاعتبار. يجب توفير بادئة معرّف الموارد المنتظم (URI) للروابط الديناميكية عند إنشاء "الروابط الديناميكية" آليًا.

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

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

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

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

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

استخدام واجهة برمجة تطبيقات الروابط الديناميكية في Firebase

إنشاء رابط ديناميكي طويل من المعلمات

لإنشاء رابط ديناميكي، يمكنك إنشاء كائن 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

إنشاء رابط ديناميكي قصير

لإنشاء رابط ديناميكي قصير، مرِّر رابطًا طويلاً تم إنشاؤه سابقًا إلى 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 الذي يتم تشغيله عند اكتمال المهمة.