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

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

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

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

הערה: למרות ש-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 2.0. כדי לעשות את זה, צריך להשתמש בתהליך 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. משתמשים בגרסה ל-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, כמו: