केस स्टडी

FotMob ने Wear OS को अपनाने के लिए, क्रॉस-डिवाइस डिस्कवरी का इस्तेमाल कैसे किया

तीन मिनट में पढ़ें
Garan Jenkin
डेवलपर रिलेशंस इंजीनियर

हाल ही में, FotMob को Wear OS पर इंस्टॉल करने वाले लोगों की संख्या में एक दिन में सबसे ज़्यादा बढ़ोतरी देखने को मिली. यह बढ़ोतरी, पिछले पांच सालों में एक दिन में हुई सबसे ज़्यादा बढ़ोतरी थी. यह बढ़ोतरी, रोज़ाना के औसत से दो से तीन गुना ज़्यादा थी. इसका सीक्रेट क्या है? क्रॉस-डिवाइस इंस्टॉलेशन का आसान तरीका. इससे लोग सीधे अपने फ़ोन से Wear OS ऐप्लिकेशन खोज पाते हैं.

FotMob, दुनिया के सबसे लोकप्रिय फ़ुटबॉल (कुछ लोग इसे सॉकर कहते हैं!) प्लैटफ़ॉर्म में से एक है. यह अपने मोबाइल ऐप्लिकेशन के लिए जाना जाता है. इस ऐप्लिकेशन पर रीयल-टाइम में स्कोर, आंकड़ों का विश्लेषण, और खबरें मिलती हैं.

fotmob-side-by-side.png

FotMob, मोबाइल ऐप्लिकेशन के साथ-साथ Wear OS पर भी उपलब्ध है. इससे उपयोगकर्ता, सीधे अपनी स्मार्टवॉच से स्कोर और नतीजों के बारे में अप-टू-डेट रह सकते हैं.

“FotMob के कई उपयोगकर्ता, मैच को लाइव फ़ॉलो करते हैं. ऐसा अक्सर तब होता है, जब वे अपने फ़ोन का इस्तेमाल नहीं कर रहे होते हैं,” FotMob के Android Tech Lead, रॉय सोलबर्ग ने कहा. “Wear OS की मदद से, प्रशंसक अपनी कलाई पर बंधी स्मार्टवॉच से ही स्कोर, मैच के इवेंट, और अपडेट देख सकते हैं. इसलिए, हमें लगा कि यह FotMob के अनुभव को बेहतर बनाने का एक स्वाभाविक तरीका है.”

FotMob, अलग-अलग डिवाइसों पर एक जैसा अनुभव देता है. इससे यह पक्का होता है कि उपयोगकर्ता, अपने पसंदीदा प्लैटफ़ॉर्म का इस्तेमाल आसानी से कर सकें. इसमें यह पक्का करना भी शामिल है कि सेटिंग और प्राथमिकताएं, जैसे कि पसंदीदा टीमें, सभी डिवाइसों पर सिंक हों.

खोज नतीजों में दिखने और न दिखने के बीच का अंतर

FotMob के कई उपयोगकर्ताओं के पास Wear OS डिवाइस है. हालांकि, FotMob को यह पता चला कि कुछ उपयोगकर्ताओं को Wear OS ऐप्लिकेशन के बारे में जानकारी नहीं है. इसलिए, टीम ने तकनीकी विकल्पों पर विचार किया. इन विकल्पों की मदद से, उपयोगकर्ताओं को Wear OS ऐप्लिकेशन के बारे में जानकारी दी जा सकती है. साथ ही, उन्हें सीधे तौर पर फ़ोन पर मौजूद मुख्य ऐप्लिकेशन से Wear OS ऐप्लिकेशन इंस्टॉल करने का विकल्प दिया जा सकता है.

फ़ॉर्च्यूनटली, Android और Wear OS पर Wearable लाइब्रेरी, ठीक वही बिल्डिंग ब्लॉक उपलब्ध कराती है जिनकी ज़रूरत FotMob को ऐप्लिकेशन में ऐसा अनुभव बनाने के लिए थी जिससे उपयोगकर्ता ऐसा कर सकें.

ज़रूरी शर्तें पूरी करने वाले Wear OS डिवाइसों का पता लगाना

FotMob के फ़ोन ऐप्लिकेशन में, टीम ने NodeClient का इस्तेमाल करके, Wear OS से कनेक्ट किए गए डिवाइसों की पहचान की. ये डिवाइस, Wear OS ऐप्लिकेशन के लिए उपलब्ध हैं:

val connectedNodes = nodeClient.connectedNodes.await()

इसके अलावा, टीम ने Wear OS ऐप्लिकेशन में एक सुविधा तय की है. इससे यह पता चलता है कि डिवाइस पर FotMob इंस्टॉल है. इसे 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 API का इस्तेमाल करता है, ताकि घड़ी पर Play Store लॉन्च किया जा सके:

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 की मदद से, इसे आसानी से लागू किया जा सका.” “कनेक्ट किए गए डिवाइसों का पता लगाने और केपबिलिटी की क्वेरी करने की मदद से, हमें यह तुरंत पता चल सका कि स्मार्टवॉच के लिए ऐप्लिकेशन पहले से इंस्टॉल है या नहीं. इसके बाद, हमारा मुख्य मकसद ऐसा प्रॉम्प्ट डिज़ाइन करना था जो लोगों के लिए मददगार हो, न कि दखल देने वाला.” 

क्रॉस-डिवाइस पर ऐप्लिकेशन इंस्टॉल करने की सुविधा लॉन्च होने के बाद, Wear OS पर FotMob ऐप्लिकेशन इंस्टॉल करने वाले लोगों की संख्या में एक दिन में सबसे ज़्यादा बढ़ोतरी हुई. यह बढ़ोतरी, ऐप्लिकेशन इंस्टॉल करने की सामान्य दर से दो से तीन गुना ज़्यादा थी. इस सुविधा को 100% रोल आउट होने के 48 घंटों के अंदर, स्मार्टवॉच के लिए ऐप्लिकेशन को 1,500 से ज़्यादा नए इंस्टॉल मिले¹.

रॉय ने कहा, “पहले 10 दिनों में, हमने 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 के सैंपल के बारे में ज़्यादा जानें. इससे आपको यह पता चलेगा कि अपने ऐप्लिकेशन में क्रॉस-डिवाइस फ़ंक्शनैलिटी कैसे जोड़ी जाती है. साथ ही, ऐप्लिकेशन में इंस्टॉल करने के लिए प्रॉम्प्ट दिखाने वाली नई लाइब्रेरी के बारे में जानें. इससे आपको यह पता चलेगा कि उपयोगकर्ताओं को क्रॉस-डिवाइस इंस्टॉल करने में कैसे मदद की जाती है.

[1]. Play कंसोल से इंस्टॉल किया गया डेटा

लेखक:

पढ़ना जारी रखें