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

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

قراءة لمدة 3 دقائق
Garan Jenkin
مهندسة علاقات المطوّرين

حقّق تطبيق FotMob مؤخرًا أكبر زيادة في عدد المستخدمين على Wear OS في يوم واحد خلال 5 سنوات، حيث بلغ عدد المستخدمين ضِعفَي أو ثلاثة أضعاف المتوسط اليومي. السرّ؟ مسار بسيط للتثبيت يعمل من خلال جهاز آخر يساعد المستخدمين في العثور على تطبيق 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()

النتائج

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

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

يقول "روي": "خلال الأيام العشرة الأولى، لاحظنا زيادة كبيرة في عمليات تثبيت تطبيق 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

تأليف:

متابعة القراءة