چگونه FotMob از کاوش بیندستگاهی برای ثبت رکورد پذیرش Wear OS استفاده کرد
۳ دقیقه خواندن
FotMob اخیراً بزرگترین افزایش یکروزه خود را در Wear OS در میان مخاطبان نصبشده خود در ۵ سال گذشته تجربه کرده است که ۲ تا ۳ برابر میانگین روزانه است. راز؟ جریان نصب ساده بیندستگاهی که به کاربران کمک میکند برنامه Wear OS خود را مستقیماً از تلفنشان پیدا کنند.
FotMob یکی از محبوبترین پلاتفرمهای فوتبال در جهان است که بهخاطر برنامه تلفن همراه خود که نتایج همزمان، تحلیلهای آماری، و اخبار را ارائه میدهد شناخته شده است.
علاوهبر برنامه تلفن همراه، FotMob در Wear OS نیز دردسترس است و به کاربران امکان میدهد مستقیماً از مچ دستشان از جدیدترین امتیازها و نتایج مطلع شوند.
روی سولبرگ، سرپرست فنی Android در FotMob، میگوید: «بسیاری از کاربران FotMob مسابقات را بهصورت زنده دنبال میکنند و این اغلب زمانی اتفاق میافتد که آنها بهطور فعال از تلفن خود استفاده نمیکنند.» «Wear OS به طرفداران امکان میدهد بهسرعت امتیازها، رویدادهای مسابقه، و بهروزرسانیها را مستقیماً از مچ دستشان ببینند، بنابراین ما آن را بهعنوان یک افزونه طبیعی برای تجربه FotMob دیدیم.»
FotMob با ارائه تجربهای روان در انواع مختلف دستگاهها، اطمینان حاصل میکند که کاربرانش میتوانند همچنان بیشترین بهره را از پلاتفرم آن، به راحتترین شکل ممکن، ببرند. این شامل اطمینان از همگامسازی تنظیمات و اولویتها (مانند تیمهای دلخواه) در دستگاههای مختلف میشود.
The Discovery Gap
باوجود اینکه بسیاری از کاربران 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 را نشان میداد که به کاربر اجازه میداد فوراً ببیند برنامه در ساعت او چگونه نشان داده میشود.
برای شروع نصب، برنامه از RemoteActivityHelper API استفاده میکند تا «فروشگاه 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 پیادهسازی را ساده کرد.» «توانایی شناسایی دستگاههای متصل و قابلیتهای پرسمان به این معنی بود که میتوانستیم بهسرعت تشخیص دهیم که آیا برنامه ساعت ازقبل نصب شده است یا نه. از آنجا به بعد، بیشتر کار طراحی پیاموارهای بود که برای کاربران مفید باشد نه مزاحم.»
عرضه ویژگی نصب بیندستگاهی باعث شد FotMob بیشترین افزایش یکروزه را در تعداد مخاطبان نصبکننده در Wear OS طی ۵ سال گذشته تجربه کند، یعنی ۲ تا ۳ برابر بیشتر از نرخ نصب عادی. ظرف ۴۸ ساعت پساز رسیدن عرضه به ۱۰۰٪، برنامه ساعت بیشاز ۱٬۵۰۰ نصب جدید¹ بهدست آورد.
روی میگوید: «در ۱۰ روز اول، شاهد جهش قابلتوجهی در نصبهای جدید 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 مراجعه کنید و کتابخانه جدید «درخواستهای نصب درونبرنامه» را کاوش کنید که گزینههایی برای کمک به کاربران جهت نصب بیندستگاهی ارائه میدهد.
[۱]. دادههای نصب از «کنسول توسعهدهندگان Play»
-
مطالعات موردیGrab اَبَربرنامه پیشرو در آسیای جنوب شرقی است که خدمات تحویل، جابهجایی، و مالی را ازطریق یک برنامه به میلیونها کاربر در هشت کشور ارائه میدهد.
Ajesh Pai, Nguyen Van Minh, Tracy Agyemang • ۵ دقیقه خواندن -
مطالعات موردیاین تیم یک پایگاه کد میانای کاربر مبتنی بر هوش مصنوعی ساخت که ۵۰٪ کوچکتر از پیادهسازی اصلی است، درحالیکه زمان اجرای عامل هوش مصنوعی را ۳۵٪ کاهش میدهد، تبادلات مهندس-عامل را ۳۲٪ کمتر میکند، و هزینه توکن را ۳۳٪ کاهش میدهد.
Pavlo Stavytskyi, Rebecca Franks • زمان خواندن: ۱۱ دقیقه -
مطالعات موردی«واتساپ» بزرگترین پلاتفرم پیامرسانی در جهان است که به میلیاردها کاربر در سراسر جهان خدمات ارائه میدهد. این برنامه ابزار ارتباطی پیشفرض برای افراد در مناطق مختلف است و کاربران را ازطریق پیامرسانی خصوصی، قابلاعتماد، و امن به یکدیگر متصل میکند.
Niharika Arora, Tracy Agyemang, Mayank Jain • ۸ دقیقه خواندن
جدیدترین اطلاعات آماری توسعه Android را بهصورت هفتگی در صندوق ورودیتان دریافت کنید.