دراسات الحالة

كيف استفاد تطبيق FotMob من ميزة "اكتشاف التطبيقات على أجهزة متعددة" لتحقيق معدّل استخدام قياسي على Wear OS

مدّة القراءة: 3 دقائق
عرض الملف الشخصي لـ "غاران جينكين"
Garan Jenkin مهندسة علاقات المطوّرين

شهد تطبيق FotMob مؤخرًا أكبر زيادة في يوم واحد على Wear OS بين جمهوره الذي ثبّت التطبيق خلال 5 سنوات، بمعدل يتراوح بين ضعفين و3 أضعاف المتوسط اليومي. ما هو السرّ؟ عملية تثبيت بسيطة على أجهزة متعددة تساعد المستخدمين في العثور على تطبيق Wear OS مباشرةً من هواتفهم

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

fotmob-side-by-side.png

بالإضافة إلى تطبيق الأجهزة الجوّالة، يتوفّر FotMob على Wear OS، ما يتيح للمستخدمين متابعة آخر النتائج مباشرةً من معصمهم.

يقول "روي سولبرغ"، رئيس قسم تكنولوجيا Android في FotMob: "يتابع العديد من مستخدمي FotMob المباريات مباشرةً، وغالبًا ما يحدث ذلك عندما لا يستخدمون هواتفهم بشكل نشط". "يوفّر نظام Wear OS للمشجّعين طريقة سريعة للاطّلاع على النتائج وأحداث المباريات وآخر الأخبار مباشرةً من معصمهم، لذا رأينا أنّه امتداد طبيعي لتجربة FotMob".

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

الفجوة في الاستكشاف

على الرغم من أنّ العديد من مستخدمي FotMob لديهم أجهزة Wear OS، أدرك فريق FotMob أنّ بعض المستخدمين قد لا يكونون على دراية بتطبيق Wear OS. دفع ذلك الفريق إلى النظر في الخيارات الفنية لكيفية توعية المستخدمين بتطبيق Wear OS وتثبيته في النهاية مباشرةً من داخل تطبيق الهاتف الأساسي.

لحسن الحظ، توفّر مكتبة Wearable على Android وWear OS العناصر الأساسية التي يحتاجها تطبيق FotMob لإنشاء تجربة داخل التطبيق تتيح للمستخدمين القيام بذلك.

رصد أجهزة Wear OS المؤهَّلة

في تطبيق FotMob للهاتف، استخدم الفريق NodeClient لتحديد أجهزة Wear OS المتصلة والمرشحة لتطبيق Wear OS:

val connectedNodes = nodeClient.connectedNodes.await()

بالإضافة إلى ذلك، حدّد الفريق إمكانية ضمن تطبيق Wear OS، تشير إلى أنّه تم تثبيت FotMob على الجهاز. يتم تحديد ذلك كمورد XML في حزمة Wear OS، ثم يتم الاستعلام عنه داخل تطبيق الهاتف:

val nodesWithApp = capabilityClient
    .getCapability(CAPABILITY_WEAR_APP, CapabilityClient.FILTER_REACHABLE)
    .await()
    .nodes

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

بدء عملية التثبيت

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

fotmob_wear_wrist.png

لبدء التثبيت، يستخدم التطبيق واجهة برمجة التطبيقات RemoteActivityHelper لتشغيل "متجر Play" على الساعة:

val remoteActivityHelper = RemoteActivityHelper(context)

remoteActivityHelper.startRemoteActivity(
    Intent(Intent.ACTION_VIEW)
        .setData("market://details?id=${context.packageName}".toUri())
        .addCategory(Intent.CATEGORY_BROWSABLE),
    nodeId
).await()

النتائج

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

أدّى طرح ميزة التثبيت على أجهزة متعدّدة إلى تحقيق أكبر زيادة في يوم واحد في عدد مستخدمي تطبيق FotMob على Wear OS خلال 5 سنوات، أي أعلى بمرتين إلى ثلاث مرات من معدّل التثبيت العادي. وفي غضون 48 ساعة من وصول عملية الطرح إلى نسبة %100، حقّق تطبيق الساعة الذكية أكثر من 1,500 عملية تثبيت جديدة¹.

يقول "روي": "خلال أول 10 أيام، شهدنا زيادة كبيرة في عمليات التثبيت الجديدة على Wear OS". "لقد كان تطبيق الساعة الذكية متاحًا لسنوات، ولكن هذا أكّد أنّ العديد من المستخدمين الذين لديهم أجهزة متوافقة لم يكونوا على عِلم بوجوده".

تطوير عمليات التثبيت على أجهزة متعددة

بالإضافة إلى الحلّ الذي استخدمه تطبيق FotMob، أطلقنا الآن مكتبة لتسهيل تنفيذ عمليات التثبيت على أجهزة متعدّدة من خلال مكتبة طلبات التثبيت داخل التطبيق.

في ما يلي مثال على إضافة طلب تثبيت في النقطة المناسبة في تطبيقك:

val crossDevicePromptManager = CrossDevicePromptManagerFactory.create(activity)
val request = CrossDevicePromptInstallationRequest.create()

try {
    val info = crossDevicePromptManager.requestInstallationPromptFlow(request).await()
    crossDevicePromptManager.launchPromptFlow(activity, info).await()
} catch (e: CrossDevicePromptException) {
    Log.e(TAG, "Cross-device prompt failed with error: ${e.errorCode}", e)
}

الخطوات التالية: ابدأ في إنشاء رحلتك الخاصة عبر الأجهزة اليوم

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

[1]. بيانات التثبيت من Play Console

من كتابة:
متابعة القراءة