Case Studies
איך FotMob השתמשו באיתור מקושר למכשיר אחר כדי להשיג שיעור אימוץ שיא של Wear OS
משך הקריאה: 3 דקות
לאחרונה, אפליקציית FotMob חוותה את העלייה הגדולה ביותר שלה ביום אחד ב-Wear OS בקרב קהל המשתמשים שהתקינו אותה ב-5 השנים האחרונות, והעלייה הייתה פי 2 עד פי 3 מהממוצע היומי. הסוד? תהליך התקנה פשוט מקושר למכשיר אחר שעוזר למשתמשים לגלות את האפליקציה ל-Wear OS שלהם ישירות מהטלפון.
FotMob היא אחת מפלטפורמות הכדורגל הפופולריות בעולם, והיא ידועה באפליקציה לנייד שלה שבה אפשר לראות תוצאות בזמן אמת, ניתוחים סטטיסטיים וחדשות.
בנוסף לאפליקציה לנייד, אפליקציית FotMob זמינה ב-Wear OS, ומאפשרת למשתמשים להתעדכן בתוצאות ובציונים האחרונים ישירות מפרק כף היד.
הרבה משתמשים ב-FotMob עוקבים אחרי משחקים בשידור חי, ולרוב זה קורה כשהם לא משתמשים באופן פעיל בטלפון שלהם, אומר רוי סולברג, מנהל טכנולוגיות Android ב-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, כדי שהמשתמש יוכל לראות מיד איך האפליקציה תיראה בשעון שלו.
כדי להתחיל את ההתקנה, האפליקציה משתמשת בממשק 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()
תוצאות
“הטמעת ממשקי ה-API של Wearable הייתה פשוטה”, אומר רוי."היכולת לזהות מכשירים מחוברים ולשאול לגבי היכולות שלהם אפשרה לנו לקבוע במהירות אם אפליקציית השעון החכם כבר מותקנת. משם, בעיקר התמקדנו בעיצוב הנחיה שתהיה מועילה למשתמשים ולא פולשנית".
ההשקה של תכונת ההתקנה מקושר למכשיר אחר הביאה לגידול הגדול ביותר ביום אחד בקהל המשתמשים המותקן של FotMob ב-Wear OS ב-5 שנים האחרונות, פי 2-3 יותר משיעור ההתקנות הרגיל. תוך 48 שעות מהרגע שבו ההשקה הגיעה ל-100%, אפליקציית שעון חכם צברה יותר מ-1,500 התקנות חדשות¹.
"במהלך 10 הימים הראשונים ראינו עלייה משמעותית במספר ההתקנות החדשות של 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
להמשך הקריאה
-
מקרים לדוגמה
ירידות בביצועים קשות מאוד לשחזור, ולכן הן מהוות צוואר בקבוק משמעותי למפתחים של אפליקציות לנייד.
Alice Yuan, Arti Arutiunov, Nikita Ogorodnikov • משך הקריאה: 4 דקות
-
מקרים לדוגמה
אפליקציית המיינדפולנס Gratitude מעודדת עקביות באמצעות יומן מיקרו יומי, הצהרות חיוביות ולוחות חזון. האפליקציה הורדה יותר מ-6 מיליון פעמים, קיבלה 150 אלף דירוגים של 5 כוכבים ונרשמו בה 100 מיליון רשומות ביומן.
Amrit Sanjeev, Ash Nohe • משך הקריאה: 3 דקות
-
מקרים לדוגמה
Karrot היא אפליקציה של שוק עמית לעמית (P2P) שמבוססת על קהילה וממוקדת במיקום גיאוגרפי. היא מאפשרת למשתמשים לקנות, למכור ולסחור בפריטים עם משתמשים מאומתים אחרים. מאז ההשקה שלה בקוריאה הדרומית בשנת 2015, הפלטפורמה התרחבה לשווקים גלובליים וצברה יותר מ-43 מיליון משתמשים רשומים.
Thomas Ezan, Tracy Agyemang • משך הקריאה: 2 דקות
כדאי תמיד להיות בעניינים
רוצים לקבל טיפים עדכניים לפיתוח Android ישירות לאימייל כל שבוע?