กรณีศึกษา

FotMob ใช้ประโยชน์จากการค้นหาข้ามอุปกรณ์อย่างไรเพื่อให้การใช้งาน Wear OS สูงสุดเป็นประวัติการณ์

ใช้เวลาอ่าน 3 นาที
Garan Jenkin
วิศวกรนักพัฒนาซอฟต์แวร์สัมพันธ์

เมื่อเร็วๆ นี้ FotMob มีผู้ใช้ Wear OS เพิ่มขึ้นมากที่สุดในวันเดียวในกลุ่มผู้ชมที่ติดตั้งแอปในช่วง 5 ปีที่ผ่านมา โดยมีผู้ใช้เพิ่มขึ้น 2-3 เท่าของค่าเฉลี่ยรายวัน เคล็ดลับคือ ขั้นตอนการติดตั้งข้ามอุปกรณ์ที่ง่ายดายซึ่งช่วยให้ผู้ใช้ค้นพบแอป Wear OS ได้โดยตรงจากโทรศัพท์

FotMob เป็นหนึ่งในแพลตฟอร์มฟุตบอล (บางคนเรียกว่าซอคเกอร์) ที่ได้รับความนิยมมากที่สุดในโลก ซึ่งเป็นที่รู้จักจากแอปบนอุปกรณ์เคลื่อนที่ที่ให้คะแนนแบบเรียลไทม์ การวิเคราะห์ทางสถิติ และข่าวสาร

fotmob-side-by-side.png

นอกจากแอปบนอุปกรณ์เคลื่อนที่แล้ว FotMob ยังพร้อมให้บริการบน Wear OS ซึ่งช่วยให้ผู้ใช้ติดตามคะแนนและผลการแข่งขันล่าสุดได้จากข้อมือโดยตรง

"ผู้ใช้ FotMob จำนวนมากติดตามการแข่งขันแบบเรียลไทม์ ซึ่งมักเกิดขึ้นเมื่อผู้ใช้ไม่ได้ใช้งานโทรศัพท์อยู่" Roy Solberg หัวหน้าฝ่ายเทคโนโลยี Android ของ FotMob กล่าว "Wear OS ช่วยให้แฟนๆ ดูคะแนน เหตุการณ์การแข่งขัน และข้อมูลอัปเดตได้อย่างรวดเร็วจากข้อมือ เราจึงมองว่านี่เป็นการขยายประสบการณ์การใช้งาน FotMob อย่างเป็นธรรมชาติ"

FotMob มอบประสบการณ์การใช้งานที่ราบรื่นในอุปกรณ์รูปแบบต่างๆ เพื่อให้มั่นใจว่าผู้ใช้จะได้รับประโยชน์สูงสุดจากแพลตฟอร์มในรูปแบบที่สะดวกที่สุด ซึ่งรวมถึงการซิงค์การตั้งค่าและค่ากำหนด เช่น ทีมโปรด ในอุปกรณ์ต่างๆ

ช่องว่างในการค้นพบ

แม้ว่าผู้ใช้ FotMob จำนวนมากจะมีอุปกรณ์ Wear OS แต่ FotMob ก็ตระหนักว่าผู้ใช้บางรายอาจไม่ทราบเกี่ยวกับแอป Wear OS ทีมจึงพิจารณาตัวเลือกทางเทคนิคเกี่ยวกับวิธีให้ความรู้แก่ผู้ใช้และติดตั้งแอป Wear OS โดยตรงจากภายในแอปหลักบนโทรศัพท์

โชคดีที่คลังอุปกรณ์ที่สวมใส่ได้ใน 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 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 API ทำให้การติดตั้งใช้งานเป็นไปอย่างตรงไปตรงมา" รอยกล่าว "การตรวจหาอุปกรณ์ที่เชื่อมต่อและความสามารถในการค้นหาช่วยให้เราทราบได้อย่างรวดเร็วว่ามีการติดตั้งแอปในสมาร์ทวอทช์แล้วหรือไม่ จากนั้นก็เป็นการออกแบบพรอมต์ที่รู้สึกว่ามีประโยชน์ต่อผู้ใช้มากกว่าที่จะเป็นการรบกวน" 

การเปิดตัวฟีเจอร์การติดตั้งข้ามอุปกรณ์ทำให้ผู้ชมที่ติดตั้ง FotMob บน Wear OS เพิ่มขึ้นมากที่สุดในวันเดียวในรอบ 5 ปี ซึ่งสูงกว่าอัตราการติดตั้งปกติ 2-3 เท่า ภายใน 48 ชั่วโมงหลังจากที่การเปิดตัวเข้าถึง 100% แอปสมาร์ทวอทช์มีการติดตั้งใหม่เพิ่มขึ้นกว่า 1,500 ครั้ง¹

"ภายใน 10 วันแรก เราเห็นการติดตั้ง Wear OS ใหม่เพิ่มขึ้นอย่างมาก" Roy กล่าว "แอปสมาร์ทวอทช์มีมาหลายปีแล้ว แต่การโปรโมตครั้งนี้ยืนยันว่าผู้ใช้จำนวนมากที่มีอุปกรณ์ที่เข้ากันได้ไม่ทราบว่ามีแอปนี้อยู่"

การติดตั้งข้ามอุปกรณ์ที่พัฒนาขึ้น

นอกเหนือจากโซลูชันที่ 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 Developer Console

เขียนโดย

อ่านต่อ