איך 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, שאיפשר למשתמשים לראות מיד איך האפליקציה תיראה בשעון שלהם.
כדי להתחיל את ההתקנה, האפליקציה משתמשת ב-API של RemoteActivityHelper כדי להפעיל את חנות 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
-
מקרים לדוגמה Grab מפחיתה את שגיאות ה-ANR ב-32% ומשפרת את זמן ההפעלה ב-35% באמצעות R8 ואופטימיזציה מבוססת-פרופיל
Grab היא אפליקציית-העל המובילה בדרום-מזרח אסיה, שמציעה משלוחים, ניידות ושירותים פיננסיים למיליוני משתמשים בשמונה מדינות באמצעות אפליקציה אחת.
Ajesh Pai, Nguyen Van Minh, Tracy Agyemang • משך הקריאה: 5 דקות -
מקרים לדוגמההצוות בנה בסיס קוד לממשק משתמש מבוסס-AI שקטן ב-50% מההטמעה המקורית, ובו-זמנית השיג הפחתה של 35% בזמן הביצוע של סוכן ה-AI, הפחתה של 32% בחילופי המידע בין המהנדסים לסוכן והפחתה של 33% בעלות הטוקנים.
Pavlo Stavytskyi, Rebecca Franks • משך הקריאה: 11 דקות -
מקרים לדוגמהוואטסאפ היא פלטפורמת ההודעות הגדולה בעולם, עם מיליארדי משתמשים ברחבי העולם. היא כלי התקשורת שמשמש כברירת מחדל אנשים באזורים שונים, ומחברת בין משתמשים באמצעות הודעות פרטיות, אמינות ומאובטחות.
Niharika Arora, Tracy Agyemang, Mayank Jain • משך הקריאה: 8 דקות
רוצים לקבל טיפים עדכניים לפיתוח Android ישירות לאימייל כל שבוע?