יצירה של אפליקציות ל-Wear OS לסין

כשיוצרים אפליקציות ל-Wear OS בסין, צריך לקחת בחשבון טלפונים ניידים ששירותי Google Play לא מותקנים בהם מראש. בדף הזה מפורטים שינויים נפוצים שמפתחים צריכים לבצע כדי להתאים את האפליקציות שלהם לשוק הסיני.

שימוש בגרסה הנכונה של Google Play Services

‫Google Play Services בגרסה 10.2.0 מספק תמיכה עולמית ב- Fused Location Provider API וב- Data Layer API. אם אתם משתמשים בממשקי ה-API האלה כדי לוודא תמיכה במגוון רחב יותר של מכשירי WearOS בסין, אתם צריכים להשתמש בגרסה הזו של Google Play Services. במקרים אחרים, התלות הזו היא אופציונלית.

הערה: למרות ש-Google Play Services מכיל ממשקי API לאפליקציות ל-Wear OS, אפליקציות ל-Wear OS בסין צריכות להמשיך להשתמש בממשקי API שקשורים ל-GoogleApiClient. אפשר לעיין במאמר גישה ל-Wearable API.

‫Fused Location Provider API

אם משתמשים ב-API של ספק מיקום משולב, צריך לכלול את התלות הבאה בקובץ build.gradle של מודול Wear OS:

מגניב

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-location:10.2.0'
}

Kotlin

dependencies {
    ...
    implementation("com.google.android.gms:play-services-location:10.2.0")
}

Data Layer API

אם האפליקציה שלכם משתמשת ב-Data Layer API, צריך להוסיף את השורה הבאה לקובץ build.gradle של מודול Wear OS. בשורה הזו נדרש שימוש בגרסה 10.2.0 של ספריית הלקוח.

מגניב

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-wearable:10.2.0'
    ...
}

Kotlin

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:10.2.0")
    ...
}

מוסיפים את השורה הבאה לקובץ build.gradle של מודול הנייד. מחליפים את התלות ב-Google Play Services בהפניה לגרסה 10.2.0.

מגניב

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-wearable:10.2.0'
}

Kotlin

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:10.2.0")
}

אימות

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

אם אתם צריכים אימות, מומלץ להשתמש בספריית AndroidX Oauth. כדי לעשות את זה, צריך להשתמש בתהליך Authorization Code Grant with PKCE. אפשר גם להשתמש באחת מהשיטות האחרות שמתוארות במאמר בנושא אימות במכשירים לבישים. לא מומלץ להשתמש בספריית התמיכה של Wearable.

מידע נוסף זמין במאמר בנושא Wear OS OAuth Sample ב-GitHub.

התראות מקושרות

אין תמיכה ב התראות מגשרות בסין. ההתראות מהטלפון מועברות ל-Wear OS רק אם מכשיר Wear OS מחובר לטלפון באמצעות Bluetooth.

תאימות של קואורדינטות של מיקום ומיפוי

כדי לזהות את מיקום המשתמש בסין, אפשר להשתמש ב- FusedLocationProvider (FLP), כמו בכל מקום אחר בעולם. כך האפליקציה תוכל להתבסס על המידע הכי טוב, בלי קשר לחומרה של השעון ולפלטפורמת הטלפון שהשעון משויך אליה. השימוש ב-FLP מוסיף גם ייעול חיי הסוללה, שמובנה בפלטפורמת Wear OS.

כשמשלבים את FusedLocationProvider עם ערכות SDK של מפות של צד שלישי, צריך לקחת בחשבון את התאימות של הקואורדינטות בין הספקים. ‫FusedLocationProvider מדווח על המיקום לפי התקן WGS84. חשוב להמיר מערכות קואורדינטות לפי הצורך.

תמיכה ב-Google Fit

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

תמיכה בפעולות קוליות

פלטפורמת Wear OS מספקת כמה כוונות קוליות שמבוססות על פעולות של המשתמש, כמו _"הצגת הדופק"_ או _"הגדרת שעון מעורר"_. כך המשתמשים יכולים להגיד מה הם רוצים לעשות, והמערכת תמצא את הפעילות הכי טובה להתחיל איתה.

כשמשתמשים אומרים פעולה קולית, האפליקציה יכולה לסנן את הכוונה שמופעלת כדי להתחיל פעילות. כדי להפעיל שירות ברקע, צריך להציג פעילות כרמז חזותי ולהפעיל את השירות בפעילות. כדי להסיר את הרמז החזותי, צריך להתקשר אל finish().

זו רשימה של כוונות קוליות שפלטפורמת Wear OS תומכת בהן:

קטגוריה דוגמה מפרט כוונת הרכישה
הזמנת נסיעה 打车去三里屯 פעולה

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

Extra

to: היעד שזוהה

התוספת היא אופציונלית.

הגדר התראה 设置一个明早七点的闹钟 פעולה

android.intent.action.SET_ALARM

תוספות

android.provider.AlarmClock.EXTRA_HOUR: מספר שלם עם השעה של ההתראה

android.provider.AlarmClock.EXTRA_MINUTES: מספר שלם שמייצג את הדקה של השעון המעורר

התוספות האלה הן אופציונליות. אפשר להוסיף את התוספים האלה, את אחד מהם או לא להוסיף אף אחד מהם.

הגדרת טיימר 设置一个三分钟的倒计时 פעולה

android.intent.action.SET_TIMER

תוספות

android.provider.AlarmClock.EXTRA_LENGTH: מספר שלם בטווח 1 עד 86,400 (מספר השניות ב-24 שעות), שמייצג את אורך הטיימר

הפעלת שעון עצר 开始计时 פעולה

com.google.android.wearable.action.STOPWATCH

התחלה או הפסקה של רכיבה על אופניים 开始骑车 פעולה

vnd.google.fitness.TRACK

סוג MIME

vnd.google.fitness.activity/biking

תוספות

actionStatus: מחרוזת עם הערך ActiveActionStatus כשההקלטה מתחילה ו-CompletedActionStatus כשהיא מסתיימת

התחלה או הפסקה של ריצה 开始跑步 פעולה

vnd.google.fitness.TRACK

סוג MIME

vnd.google.fitness.activity/running

תוספות

actionStatus: מחרוזת עם הערך ActiveActionStatus כשההקלטה מתחילה, ועם הערך CompletedActionStatus כשהיא מסתיימת

התחלה או הפסקה של אימון כושר 开始锻炼 פעולה

vnd.google.fitness.TRACK

סוג MIME

vnd.google.fitness.activity/other

תוספות

actionStatus: מחרוזת עם הערך ActiveActionStatus כשההקלטה מתחילה, ועם הערך CompletedActionStatus כשהיא מסתיימת

הצגת הדופק 查看心率 פעולה

vnd.google.fitness.VIEW

סוג MIME

vnd.google.fitness.data_type/com.google.heart_rate.bpm

הצגת מספר הצעדים 查看步数 פעולה

vnd.google.fitness.VIEW

סוג MIME

vnd.google.fitness.data_type/com.google.step_count.cumulative

ניווט 导航去三里屯 פעולה

android.intent.action.VIEW

נתונים

geo:latitude,longitude?q=融科资讯中心

העוזר הקולי יכול גם להשתמש בכוונות נפוצות של Android כדי להפעיל התנהגויות מסוימות במקרים הרלוונטיים.

תמיכה באמולטור

אתם יכולים להשתמש בגרסה הסינית של תמונת האמולטור של Wear OS כדי לבדוק את האפליקציות שלכם. ‫Android Studio מגרסה 3.0 ואילך תומך בזה.

כדי לבדוק את האפליקציות בגרסה הסינית של האמולטור, פועלים לפי השלבים הבאים:

  1. מתקינים את אמולטור Android.
  2. מורידים את התמונות של Wear OS לסין מ-SDK Manager. משתמשים בגרסה ל-Wear OS 3.5 (רמת API ‏30).
  3. כשיוצרים פרופיל AVD, בוחרים את תמונת Wear OS לסין.
  4. מריצים את האמולטור של Wear OS בסין לצורך פיתוח.
  5. איור 1. דוגמאות לגרסה הסינית של אמולטור Wear OS.

הגרסה הזו של אמולטור Wear OS מגיעה עם כמה אפליקציות שמותקנות מראש:

  • מצב רגישות לסביבה
  • אנשי קשר
  • קלט כתב יד של Google
  • Google Play Services
  • שירותי בריאות ל-Wear OS
  • זיהוי מילת הפעלה במכשירי LE
  • פיניין
  • חנות Play (מותאמת למכשירים בסין)
  • שעון כיס
  • TalkBack
  • תצוגות שעון (גרסאות אנלוגיות ודיגיטליות)
  • שירותי ליבה של Wear

הפעלת ערוץ Bluetooth ו-Wi-Fi ספציפי לאפליקציה

מערכת Wear OS מנתבת אוטומטית בקשות לרשת. ברוב המקרים, אין דרישה שהאפליקציה תפתח ערוץ Bluetooth ו-Wi-Fi ספציפי לאפליקציה.

אם אפליקציה מבקשת ערוץ Bluetooth ו-Wi-Fi ספציפי לאפליקציה בסין, הבקשה נכשלת ללא הודעה. במקום זאת, תוצג תיבת דו-שיח שבה המשתמש יתבקש לאשר את הפעולה. אם המשתמש מאשר, הערוץ נפתח. הפעולה הזו מתבצעת בכל פעם, ולא רק בשימוש הראשון. ‫BluetoothAdapter.enable() או WifiManager.setEnabled(true) נקראים.

הערה: כדי שאפליקציה שמטרגטת ל-Android 10 (רמת API 29) ואילך תוכל לקרוא ל-WifiManager.setEnabled(), היא צריכה להיות אפליקציית מערכת או בקר מדיניות מכשיר (DPC).

מצב בדיקת הרשאות

בסין, מערכת Wear OS למכשירים בסין פועלת במצב בדיקת הרשאות, שבו מוטלות מגבלות מסוימות על השימוש באפליקציות עם targetApiLevel גרסה נמוכה מ-23. כדאי לעיין במגבלות הבאות:

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

לכן מומלץ להשתמש בגרסה targetApiLevel 23 ומעלה וליישם את השיטות המומלצות בנושא הרשאות שניתנות לאפליקציה.

שימוש בממשקי API אחרים של Google Play Services

אם האפליקציה שלכם משתמשת ב Google Play services APIs שאינם Wearable API, האפליקציה צריכה לבדוק אם ממשקי ה-API האלה זמינים לשימוש במהלך זמן הריצה ולהגיב בהתאם. יש שתי דרכים לבדוק את הזמינות של ממשקי API של Google Play Services:

  1. כדאי להשתמש במופע נפרד של GoogleApiClient כדי להתחבר לממשקי API אחרים. הממשק הזה מכיל קריאות חוזרות (callback) כדי להודיע לאפליקציה על הצלחה או על כשל בחיבור. אם החיבור נכשל, הסמל ConnectionResult משתנה ל- API_UNAVAILABLE. מידע על טיפול בכשלים בחיבור זמין במאמר גישה לממשקי API של Google.
  2. משתמשים ב-method ‏addApiIfAvailable() של GoogleApiClient.Builder כדי להתחבר לממשקי ה-API הנדרשים. אחרי שהקריאה החוזרת (callback) של onConnected() מופעלת, משתמשים בשיטה hasConnectedApi() כדי לוודא שכל אחד מממשקי ה-API המבוקשים מחובר בצורה תקינה.

הפצת אפליקציות בסין

כדי להגיע ביעילות למשתמשי Wear OS בסין, אפשר להפיץ דרך חנויות אפליקציות של צד שלישי ל-Wear OS, כמו: