ב-Wear OS 6 נוסף ממשק API חדש, Watch Face Push, שמאפשר לכם ליצור תרחישי שימוש מתקדמים יותר לפרסום של תצוגות שעון.
מתי כדאי להשתמש בתכונה 'דחיפה של חזית השעון'
Watch Face Push הוא ממשק API ב-Wear OS שמאפשר למפתחים להוסיף, לעדכן או להסיר תצוגות שעון ישירות. היא לא נדרשת לפיתוח של תצוגות שעון רגילות.
תצוגות שעון שמשמשות ל-Watch Face Push חייבות להיכתב באמצעות Watch Face Format. אלה יכולות להיות תצוגות שעון שתוכננו באמצעות Watch Face Studio או כל כלי אחר ליצירת תצוגות שעון שמשתמש ב-Watch Face Format.
אפשר להשתמש ב-Watch Face Push API במספר דרכים, אבל הטבלה הבאה יכולה לשמש כמדריך לתרחישי השימוש העיקריים:
תרחיש לדוגמה | פתרון מומלץ | מורכבות |
---|---|---|
אני רוצה ליצור תצוגות שעון ספציפיות ולפרסם אותן. | להשתמש ב-Watch Face Format, באופן ישיר או באמצעות כלי כמו Watch Face Studio, ולפרסם אותן ב-Google Play. | נמוכה |
אני רוצה ליצור אפליקציה לטלפון שמאפשרת למשתמשים לבחור תצוגות שעון מתוך אוסף שנבחר בקפידה, או לעצב ולהתאים אישית תצוגות שעון להתקנה ישירות בשעון Wear OS שלהם. | יוצרים אפליקציה לשעון ולטלפון באמצעות Watch Face Push API בשעון. | רחב |
מטרה
התרחיש הקנוני לשימוש ב-Watch Face Push API הוא ליצירת אפליקציית זירת מסחר. באפליקציה הזו, המשתמשים יכולים לבחור תצוגות שעון מתוך אוסף שנבחר בטלפון, ולשלוט ישירות בהתקנה של תצוגות השעון האלה בשעון המחובר.
שיקולים
לפרטים על פיתוח תצוגות השעון, אפשר לעיין בהנחיות בנושא Watch Face Format: תצוגות שעון שנפרסות באמצעות Watch Face Push הן תצוגות שעון רגילות ב-Watch Face Format.
כשיוצרים את תצוגת השעון, חשוב לזכור את הנקודות הבאות.
שמות חבילות
תצוגות שעון שמותקנות באמצעות Watch Face Push חייבות לעמוד במוסכמה הבאה:
<app name>.watchfacepush.<watchface name>
... כאשר <app name>
הוא שם החבילה של האפליקציה שמפעילה את Watch Face Push API.
לדוגמה, לאפליקציה עם שם החבילה com.example.mymarketplace
, אלה שמות חבילות תקינים של חזיתות שעון:
com.example.mymarketplace.watchfacepush.watchface1
com.example.mymarketplace.watchfacepush.watchface2
com.example.mymarketplace.watchfacepush.another_watchface
תצוגות שעון שלא עומדות במוסכמה הזו נדחות על ידי ה-API.
תוכן החבילה
אנחנו אוכפים בקפדנות את תוכן ה-APK. חשוב לוודא שהקובץ בפורמט Watch Face עומד באילוצים הבאים: מבחינה טכנית, אפשר ליצור קובצי APK בפורמט Watch Face שמכילים קובצי מטא-נתונים לא מזיקים וארטיפקטים אחרים, שעשויים להתקבל ב-Google Play אבל לא עוברים את האימות של Watch Face Push (ראו בהמשך).
רק הקבצים או הנתיבים הבאים קבילים בכל קובץ APK של תצוגת שעון:
/AndroidManifest.xml
/resources.arsc
/res/**
/META-INF/**
בנוסף, מותר להשתמש רק בתגים הבאים בקובץ AndroidManifest.xml
:
<manifest>
<uses-feature>
<uses-sdk>
<application>
<property>
<meta-data>
לבסוף, החבילה צריכה לציין minSdk
של לפחות 33
, והתג <application>
צריך לציין את המאפיין android:hasCode="false"
.
אימות
בניגוד לתצוגות שעון רגילות שמופצות דרך Google Play, ב-Watch Face Push האפליקציה ב-Marketplace אחראית לוודא שכל תצוגת שעון תקינה וביצועיה טובים.
כדי לאמת את האיכות של כל תצוגת שעון שמשתמשת ב-Watch Face Push, אנחנו משתמשים בבדיקות האימות הבאות ב-Google Play:
- כל תצוגות השעון שמותקנות או מתעדכנות דרך Watch Face Push API חייבות לעבור את הכלי לאימות של Watch Face Push.
- מותר להשתמש רק בכלי האימות הרשמי כדי ליצור אסימוני אימות לשימוש עם ה-API.
- כלי האימות שבו נעשה שימוש צריך להיות עדכני בזמן הפעלת האימות.
אין צורך לבצע אימות מחדש של קובץ APK שלא השתנה. תוקף הטוקנים לא פג, גם אם הגרסה של כלי האימות שבה נעשה שימוש הוחלפה.
עם זאת, מומלץ להריץ מחדש את האימות מדי פעם, כי מאמת ה-JSON מתעדכן מדי פעם.
הרצת כלי התיקוף
כדי להריץ את המאמת בקובץ APK של תצוגת שעון:
- מקבלים את המאמת ממאגר Maven של Google.
מפעילים את הכלי באופן הבא:
java -jar validator-push-cli-1.0.0-alpha01.jar \ --apk_path=youwatchface.apk \ --package_name=<your marketplace package name>
אם הפעולה תתבצע בהצלחה, הפלט יכלול אסימון אימות, שצריך לספק ל-Watch Face Push API כשמוסיפים או מעדכנים תצוגת שעון.
אם מתרחשת שגיאה, הפלט כולל פרטים על הבדיקה הספציפית שנכשלה.
דוגמה לשילוב של כלי ה-CLI לאימות ב-build של Gradle מופיעה בדוגמה של Watch Face Push ב-GitHub.
גודל ה-APK
חשוב להקפיד במיוחד על תצוגות שעון מסוג Watch Face Push כדי לוודא שגודל ה-APK יהיה קטן ככל האפשר: סביר להניח ש-APK של תצוגת השעון יועבר מאפליקציית הטלפון לאפליקציית השעון דרך Bluetooth, והתהליך הזה עשוי להיות איטי.
העברת קובץ APK גדול מדי עשויה להימשך זמן רב, מה שעלול להוביל לחוויית משתמש גרועה ולדליפת אנרגיה מהסוללה.
- כדאי להשתמש בספריות מתאימות כמו
pngquant
כדי לצמצם את גודל קובצי התמונות למינימום.- צריך לכלול את זה בתהליך ה-build של אוסף תצוגות השעון
- בודקים שהמידות של התמונה מתאימות לקנה המידה שבו היא תוצג.
- חשוב לוודא שהתמונות חתוכות בצורה נכונה כדי להסיר את הרקע שמסביב.
- הקטנת הגודל של קובצי הגופן
- לדוגמה, אם משתמשים בגופן מסוים רק כדי להציג את השעה, בפורמט
HH:MM
, אפשר להשתמש בכלי כמוpyftsubset
כדי להגביל את קובץ הגופן כך שיכיל רק את הגליפים הנחוצים. הפעולה הזו יכולה להקטין באופן משמעותי את הגודל של קובץ הגופן ושל קובץ ה-APK שייווצרו. בפוסט הזה בבלוג מוסבר איך לצמצם את גודל קובץ הגופן במקרים אחרים.
- לדוגמה, אם משתמשים בגופן מסוים רק כדי להציג את השעה, בפורמט
הנחיות לאופטימיזציה של שימוש בזיכרון – הצעות נוספות לצמצום גודל ה-APK.
חתימה על קובצי APK
כמו כל חבילת APK רגילה, כל תצוגות השעון צריכות להיות חתומות. יוצרים מפתח שונה מהמפתח שמשמש את האפליקציה הראשית, ומשתמשים במפתח הזה בכל תצוגות השעון.
ארכיטקטורה
אלה שלושת הרכיבים העיקריים של המערכת:
- אחסון בענן: באפליקציית Marketplace הקנונית, חזיתות השעון נוצרות ונשמרות בענן, ומוכנות לשימוש על ידי המשתמשים. תצוגות השעון הן:
- חבילות APK שנוצרו מראש בפורמט רגיל של תצוגת שעון
- כל אחת מהן מכילה רק תצוגת שעון אחת שמבוססת על פורמט תצוגת השעון
- אומתו באמצעות תהליך האימות של Watch Face Push, ונשמרו יחד עם אסימון האימות המשויך.
- הם מוכנים לאחזור על ידי האפליקציה בטלפון בכל שלב.
- אפליקציית הטלפון: אפליקציית הטלפון היא הדרך העיקרית שבה המשתמשים יוצרים אינטראקציה עם המערכת. היא מאפשרת להם:
- איך מדפדפים בקטלוג של תצוגות השעון ומחפשים בהן
- התקנה או החלפה של תצוגת שעון בשעון
- אפליקציית השעון: בדרך כלל לאפליקציית השעון אין ממשק משתמש משמעותי. הוא משמש בעיקר כגשר בין אפליקציית הטלפון לבין ממשקי ה-API של Watch Face Push, עם הפונקציונליות הבאה:
- שימוש ב-Watch Face Push API כדי להתקין, לעדכן או להחליף תצוגות שעון
- בקשת ההרשאות הנדרשות והצגת בקשה למשתמש
- הצגת תצוגת שעון שמוגדרת כברירת מחדל
- שמירת מטמון מינימלי של תצוגות שעון
- תקשורת בין הטלפון לשעון: התקשורת בין הטלפון לאפליקציה בשעון היא קריטית להצלחה של חוויית השימוש הכוללת. להשתמש בממשקי API של שכבת הנתונים של Wear OS, שמאפשרים:
- זיהוי התקנה: באמצעות היכולות והסמל
CapabilityClient
, אפליקציית הטלפון יכולה לזהות את היעדר אפליקציית השעון, ולהפך. לאחר מכן אפשר להפעיל כוונה לחנות Play כדי להתקין את גורם הצורה החסר. - ניהול המצב: באמצעות
DataClient
אוMessageClient
אפשר לשמור על סנכרון בין הטלפון למצב של השעון. לדוגמה, לוודא שהטלפון יודע איזו תצוגת שעון מוגדרת. - העברת חבילות APK: אפשר לשלוח חבילות APK מהטלפון לשעון באמצעות
ChannelClient
אוMessageClient
. - הפעלה מרחוק: באמצעות
Messageclient
, הטלפון יכול להורות לשעון לבצע קריאה ל-Watch Face Push API, למשל כדי להתקין תצוגת שעון.
- זיהוי התקנה: באמצעות היכולות והסמל
פרטים נוספים זמינים במדריך ל-API של שכבת הנתונים.