الانتقال من دعوات Firebase إلى الروابط الديناميكية باستخدام المشاركة المخصّصة

وفّرت شركة Firebase Invites آلية لتلقّي Firebase Dynamic Links في تطبيقك، بالإضافة إلى ميزة لمشاركة هذا الرابط عبر الرسائل القصيرة أو البريد الإلكتروني. لقد طوّرنا Firebase Invites لمساعدتك في زيادة عدد مستخدمي تطبيقك من خلال توصياتهم، ولكن بمرور الوقت، تبيّن لنا أنّك عثرت على طرق أفضل لتشجيع المستخدمين على مشاركة تطبيقاتهم المفضّلة مع أصدقائهم، وذلك بخلاف ما يوفّره Firebase Invites اليوم.

لاحظنا أيضًا أنّه على الرغم من انخفاض استخدام Firebase Invites، إلا أنّ العديد منكم لا يزالون يستخدمون Firebase Dynamic Links كمكوّن رئيسي لحل المشاركة من مستخدم إلى آخر. لذلك، نحن بصدد تعزيز تركيزنا ونزيد جهودنا لجعل Firebase Dynamic Links أفضل طريقة لتحسين إمكانات المشاركة بين المستخدمين في تطبيقك. وكجزء من عملية التغيير هذه، أوقفنا ميزة Firebase Invites نهائيًا وسنتوقف عن دعمها اعتبارًا من 24 كانون الثاني (يناير) 2020.

ما معنى ذلك وكيف سيؤثر فيّ؟

اعتبارًا من 24 كانون الثاني (يناير) 2020، لن يتمكّن المستخدمون من إرسال Firebase Invites أو استلامها، وستبدأ خدمة الخلفية للدعوات في عرض ردود على الأخطاء عند إجراء مكالمات لإرسال رابط دعوة وتلقّيه. تتضمّن حِزم تطوير البرامج (SDK) الحالية معالجة الأخطاء للمساعدة في ضمان تقديم حالات تعطُّل بسيطة لاستجابات الخادم هذه، لكي يتمكّن المستخدمون من مواصلة استخدام تطبيقك بدون تعطّل، إلا أنّنا ننصحك بعدم استخدام Firebase Invites والتبديل إلى حل بديل باستخدام Firebase Dynamic Links مع حل مشاركة مخصّص.

إليك كيفية القيام بذلك!

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

إنشاء حلّ مشاركة

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

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

من المفترض أن يعمل رمز مشابه للمثال التالي هنا (ننصحك باستخدام موارد سلاسل ثابتة في الرمز الخاص بك):

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "Here's a new lesson for" +
        " learning more Miwok vocabulary:\n\n" + dynamicLink);
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Let's Learn Miwok!");
sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent,
        getResources().getText(R.string.send_to)));

للحصول على مثال كامل ومزيد من التفاصيل، يمكنك الاطّلاع على هذا الدليل حول إرسال بيانات بسيطة إلى تطبيقات أخرى.

سيؤدي مقتطف الرمز البرمجي أعلاه إلى إنشاء مسار دعوة مشابه لما هو موضّح في الشاشات أدناه:

المشاركة على Android

بالنسبة إلى مطوّري تطبيقات iOS، يمكن استخدام UIActivityViewController، لإدخال الرابط الذي تم إنشاؤه كجزء من البيانات إلى مؤتمرات الفيديو (VC) المخصّصة. ستوفر هذه الطريقة تدفق مشاركة مشابهًا للشاشات أدناه:

المشاركة على أجهزة iOS

تلقّي Dynamic Link في تطبيقك

أخيرًا، تتمثل الخطوة الأخيرة لتوفير إمكانية المشاركة من مستخدم إلى آخر لتطبيقك بعد الإيقاف النهائي في تلقّي Dynamic Link في تطبيقك.

بالنسبة إلى أجهزة Android، تظل هذه العملية كما هي، لذا لن تحتاج إلى إجراء تغييرات كثيرة هنا. والفرق الوحيد هو أنّه بدون Firebase Invites، لن يكون هناك معرّف دعوة، لذا عليك إزالة الطلب لاستخراج معرّف الدعوة من خلال FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(data)، إذا كان تطبيقك يُجري هذا الطلب. لمزيد من التفاصيل حول هذه القطعة، يُرجى الاطّلاع على الدليل حول تلقّي الروابط الديناميكية في تطبيق Android.

بالنسبة إلى أجهزة iOS، سيتطلب ذلك التغيير من عنصر FIRReceivedInvite إلى عنصر FIRDynamicLink ، وكلاهما يحتوي على بيانات مشابهة. يُرجى الاطّلاع على الدليل حول استلام الروابط الديناميكية في تطبيق iOS للحصول على مزيد من التفاصيل.

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

لقد كان Firebase Invites أداة رائعة نعتز ببنائها. في المستقبل، يسرّنا تحسين Firebase Dynamic Links بشكل أكبر لمنحك المزيد من المرونة والتحكّم في كيفية تشجيع المستخدمين على دعوة الآخرين إلى تطبيقك. إذا كانت لديك أي أسئلة بشأن إعداد Firebase Dynamic Links وحلول المشاركة المخصّصة، يُرجى التواصل معنا على StackOverflow أو أي من منتديات الدعم الإضافية.