Başarılı Örnekler

FotMob, cihazlar arası keşiften yararlanarak Wear OS kullanımında nasıl rekor kırdı?

Okuma süresi: 3 dk.
Garan Jenkin'in profilini görüntüle
Garan Jenkin Geliştirici İlişkileri Mühendisi

FotMob, son 5 yılda Wear OS'teki yüklü kullanıcı kitlesinde en büyük tek günlük artışını yaşadı ve günlük ortalamanın 2-3 katına ulaştı. Sırrı ne mi? Kullanıcıların Wear OS uygulamasını doğrudan telefonlarından keşfetmelerine yardımcı olan basit bir cihazlar arası yükleme akışı.

FotMob, anlık skorlar, istatistiksel analizler ve haberler sunan mobil uygulamasıyla tanınan, dünyanın en popüler futbol platformlarından biridir.

fotmob-side-by-side.png

Mobil uygulamanın yanı sıra Wear OS'te de kullanılabilen FotMob, kullanıcıların en son skorları ve sonuçları doğrudan bileklerinden takip etmelerine olanak tanıyor.

FotMob'da Android Teknik Lideri olan Roy Solberg, "Birçok FotMob kullanıcısı maçları canlı takip ediyor ve bu genellikle telefonlarını aktif olarak kullanmadıkları zamanlarda oluyor" diyor. "Wear OS, taraftarların skorlara, maç etkinliklerine ve güncellemelere doğrudan bileklerinden hızlıca göz atmalarını sağlıyor. Bu nedenle, Wear OS'i FotMob deneyiminin doğal bir uzantısı olarak gördük."

FotMob, farklı form faktörlerinde sorunsuz bir deneyim sunarak kullanıcılarının platformdan en uygun şekilde yararlanmaya devam etmesini sağlıyor. Buna, favori takımlar gibi ayarların ve tercihlerin cihazlar arasında senkronize edilmesi de dahildir.

Keşif Eksikliği

FotMob, birçok kullanıcısının Wear OS cihazı olmasına rağmen bazılarının Wear OS uygulamasından haberdar olmayabileceğini fark etti. Bu nedenle ekip, kullanıcıları Wear OS uygulaması hakkında bilgilendirmek ve uygulamanın doğrudan ana telefon uygulamasından yüklenmesini sağlamak için teknik seçenekleri değerlendirdi.

Neyse ki Android ve Wear OS'teki Wearable kitaplığı, FotMob'un kullanıcılarına bu imkanı sunacak bir uygulama deneyimi oluşturmak için ihtiyaç duyduğu yapı taşlarını sağlıyor.

Uygun Wear OS Cihazları Tespit Etme

Ekip, FotMob telefon uygulamasında bağlı Wear OS cihazlarını (Wear OS uygulaması için adaylar) tanımlamak için NodeClient kullandı:

val connectedNodes = nodeClient.connectedNodes.await()

Ayrıca ekip, Wear OS uygulamasında FotMob'un cihaza yüklendiğini belirten bir özellik tanımladı. Bu, Wear OS paketinde bir XML kaynağı olarak tanımlanır ve ardından telefon uygulamasında sorgulanır:

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

Ekip, yalnızca bu özelliğe sahip olmayan düğümleri arayarak FotMob telefon uygulamasının yalnızca uygulamaya sahip olmayan Wear OS cihazları listelemesini sağladı.

Yükleme akışı başlatılıyor

FotMob ekibi, kullanıcıyı fırsattan hızlıca haberdar eden ve yükleme akışını başlatmasına veya kapatmasına olanak tanıyan yarım sayfalık eğitici bir istem tasarladı. Bu sayede, Wear OS deneyiminin belirgin bir ekran görüntüsü gösterilerek kullanıcının, uygulamanın saatinde nasıl görünebileceğini hemen anlaması sağlandı.

fotmob_wear_wrist.png

Uygulama, yükleme işlemini başlatmak için RemoteActivityHelper API'yi kullanarak saatte Google Play Store'u açar:

val remoteActivityHelper = RemoteActivityHelper(context)

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

Sonuçlar

Roy, "Wearable API'leri sayesinde uygulama süreci çok kolaylaştı" diyor. "Bağlı cihazları algılayabilmek ve özellikleri sorgulayabilmek, saat uygulamasının zaten yüklü olup olmadığını hızlıca belirleyebileceğimiz anlamına geliyordu. Sonrasında ise kullanıcıları rahatsız etmeyecek, faydalı bir istem tasarlamaya odaklandık." 

Cihazlar arası yükleme özelliğinin kullanıma sunulmasıyla birlikte, FotMob'un Wear OS'teki yükleme kitlesinde son 5 yılın en büyük tek günlük artışı görüldü. Bu artış, normal yükleme oranından 2-3 kat daha yüksekti. Kullanıma sunma süreci %100'e ulaştıktan sonraki 48 saat içinde saat uygulaması 1.500'den fazla yeni yükleme¹ aldı.

Roy, "İlk 10 gün içinde yeni Wear OS yüklemelerinde önemli bir artış gördük" diyor. "Saat uygulaması yıllardır kullanılıyor ancak bu durum, uyumlu cihazlara sahip birçok kullanıcının uygulamanın varlığından haberdar olmadığını doğruladı."

Cihazlar arası yüklemeler gelişiyor

FotMob'un kullandığı çözüme ek olarak, Uygulama İçi Yükleme İstemleri kitaplığı aracılığıyla bu cihazlar arası yükleme yolculuklarını uygulamayı daha da kolaylaştırmak için bir kitaplık kullanıma sunduk.

Aşağıda, uygulamanızın uygun bir noktasına yükleme istemi ekleme örneği verilmiştir:

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)
}

Sonraki adımlar: Cihazlar arası yolculuğunuzu oluşturmaya hemen başlayın

Uygulamanıza cihazlar arası işlevsellik ekleme hakkında daha fazla bilgi edinmek için DataLayer örneğini inceleyin ve kullanıcılarınızın cihazlar arası yükleme yapmasına yardımcı olacak seçenekler sunan yeni Uygulama İçi Yükleme İstemleri kitaplığını keşfedin.

[1]. Play Console'dan yükleme verileri

Yazan:
Okumaya devam et