חדשות על המוצר

העברת Androidify ל-Wear OS באמצעות Watch Face Push

משך הקריאה: 3 דקות
לצפייה בפרופיל של גארן ג'נקינס
Garan Jenkin מהנדס קשרי מפתחים

 

 

לפני כמה חודשים השקנו מחדש את Androidify כאפליקציה ליצירת רובוטים מותאמים אישית של Android. התכונה "אנדרואיד לעצמך" הופכת את תמונת הסלפי שלכם לרובוט Android משעשע באמצעות Gemini ו-Imagen.

אבל מכיוון ש-Android כוללת כמה גורמי צורה, כולל התוספת האחרונה שלנו, XR, חשבנו איך אפשר להביא את הכיף של Androidify ל-Wear OS.

תצוגת שעון של Androidify

הבוטים של Androidify מותאמים אישית, ולכן המקום הטבעי להציג אותם הוא בתצוגת השעון. זה לא רק המקום שרואים הכי הרבה, אלא גם המקום הכי אישי, שמאפשר לכם להציג את עצמכם.

demonstration.gif

תצוגת שעון מותאמת אישית של Androidify, שנוצרה מתמונת סלפי

עכשיו אפשר ליצור ב-Androidify תצוגת שעון באופן דינמי באפליקציה לטלפון, ואז לשלוח אותה לשעון, שם היא תוגדר באופן אוטומטי כתצוגת השעון. כל זה קורה תוך שניות.

העיצוב הכללי

image.png

תהליך מקצה לקצה ליצירה והתקנה של צגי שעון

כדי להשיג את החוויה מקצה לקצה, צריך לשלב כמה טכנולוגיות, כמו שמוצג בתרשים העיצוב הכללי הזה.

קודם כל, האווטאר של המשתמש משולב עם תבנית קיימת של Watch Face Format, ואז נארז ב-APK. הטענה הזו נכונה, והסיבות לכך יוסברו בהמשך. - ונשלח לשעון.

כשהשעון מקבל את תצוגת השעון, Watch Face Push API החדש – חלק מ-Wear OS 6 – משמש להתקנה ולהפעלה של תצוגת השעון.

בואו נבחן את הפרטים:

יצירת התבניות של תצוגת השעון

תצוגת השעון נוצרת מתבנית, שעוצבה ב-Watch Face Designer. זהו הפלאגין החדש שלנו ל-Figma שמאפשר ליצור תצוגות שעון בפורמט תצוגת השעון ישירות ב-Figma.

image.png

תבנית של תצוגת שעון Androidify בכלי לעיצוב תצוגות שעון

הפלאגין מאפשר לייצא את תצוגת השעון במגוון דרכים שונות, כולל כמשאבים של Watch Face Format‏ (WFF). לאחר מכן, אפשר לשלב אותם בקלות כנכסים באפליקציית Androidify, כדי ליצור באופן דינמי את תצוגת השעון הסופית.

אריזה ואימות

אחרי שהתבנית והדמות משולבות, ערכת הכלים Portable Asset Compiler Kit (Pack) משמשת להרכבת קובץ APK.

ב-Androidify, נעשה שימוש ב-Pack כספריית Native בטלפון. לפרטים נוספים על הממשק של Androidify עם ספריית Pack, אפשר לעיין במאגר GitHub.

כשלב אחרון לפני ההעברה, ה-APK נבדק על ידי המאמת של Watch Face Push.

הכלי הזה בודק אם קובץ ה-APK מתאים להתקנה. הבדיקה כוללת את התוכן של ה-APK כדי לוודא שמדובר בתצוגת שעון תקינה, וגם כמה בדיקות ביצועים. אם הוא תקין, המאמת מפיק אסימון.

האסימון הזה נדרש לשעון לצורך ההתקנה.

תצוגת השעון נשלחת

אפליקציית Androidify ב-Wear OS משתמשת ב-WearableListenerService כדי להאזין לאירועים בשכבת הנתונים של המכשיר הלביש.

אפליקציית הטלפון מעבירה את תצוגת השעון באמצעות שילוב של MessageClient כדי להגדיר את התהליך, ואז ChannelClient כדי להעביר את ה-APK בסטרימינג.

תצוגת השעון מותקנת בשעון

אחרי שתצוגת השעון מתקבלת במכשיר Wear OS, אפליקציית Androidify משתמשת ב-Watch Face Push API החדש כדי להתקין את תצוגת השעון:

val wfpManager = 

    WatchFacePushManagerFactory.createWatchFacePushManager(context)

val response = wfpManager.listWatchFaces()



try {

    if (response.remainingSlotCount > 0) {

        wfpManager.addWatchFace(apkFd, token)

    } else {

        val slotId = response.installedWatchFaceDetails.first().slotId

        wfpManager.updateWatchFace(slotId, apkFd, token)

    }

} catch (a: WatchFacePushManager.AddWatchFaceException) {

    return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR

} catch (u: WatchFacePushManager.UpdateWatchFaceException) {

    return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR

}

ב-Androidify משתמשים בשיטה addWatchFace או updateWatchFace, בהתאם לתרחיש: Watch Face Push מגדיר קונספט של "משבצות" – כמה תצוגות שעון אפשר להתקין באפליקציה נתונה בכל זמן נתון. ב-Wear OS 6, הערך הזה הוא למעשה 1.

ב-Androidify, אם יש מקום פנוי, תצוגת השעון מותקנת. אם אין מקום פנוי, תצוגת השעון החדשה מחליפה את אחת מתצוגות השעון הקיימות.

הגדרת תצוגת השעון הפעילה

התקנת תצוגת השעון באופן פרוגרמטי היא שלב מצוין, אבל Androidify שואפת לוודא שתצוגת השעון היא גם תצוגת השעון הפעילה. 

ב-Watch Face Push יש הרשאה חדשה בתחילת ההפעלה שצריך לתת כדי שהאפליקציות יוכלו:

com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE

אחרי שמקבלים את ההרשאה הזו, אפשר להפעיל את ה-method‏ wfpManager.setWatchFaceAsActive() כדי להגדיר תצוגת שעון מותקנת כתצוגת השעון הפעילה.

עם זאת, יש כמה שיקולים שצריך להביא בחשבון כשמשתמשים ב-Androidify:

  • אפשר להשתמש בsetWatchFaceAsActive רק פעם אחת.
  • אי אפשר לבקש שוב את SET_PUSHED_WATCH_FACE_AS_ACTIVE אחרי שהמשתמש דחה את הבקשה.
  • יכול להיות ש-Androidify כבר שולט בתצוגת השעון הפעילה.

לפרטים נוספים, אפשר לקרוא איך Androidify מיישמת את הלוגיקה של הגדרת הפעילות.

איך מתחילים להשתמש ב-Watch Face Push ל-Wear OS

‫Watch Face Push הוא API רב-תכליתי, שמתאים גם לשיפור של Androidify וגם ליצירת זירות מסחר עם כל התכונות לתצוגות השעון.

אולי יש לכם אפליקציה קיימת לטלפון ואתם מחפשים הזדמנויות להגביר את המעורבות של המשתמשים ולשפר את החוויה שלהם?

או שאולי אתם מפתחים של תצוגות שעון ורוצים ליצור קהילה וגלריה משלכם על ידי פרסום אפליקציה בזירת המסחר?

כדאי לעיין במקורות המידע הבאים:

כדאי גם לצפות בסרטון הנלווה כדי לראות לעומק איך הבאנו את Androidify ל-Wear OS.

אנחנו סקרנים לראות מה תיצרו באמצעות Watch Face Push.

כותב/ת המסמך:
להמשך קריאה