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

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

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

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

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

Fused Location Provider API

אם אתם משתמשים ב-Fused Location Provider 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")
}

ממשק 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")
}

אימות

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

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

מידע נוסף זמין במאמר דוגמה ל-OAuth של Wear OS ב-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

נוסף

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 ל-86400 (מספר השניות ב-24 שעות), שמייצג את משך הטיימר

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

com.google.android.wearable.action.STOPWATCH

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

vnd.google.fitness.TRACK

סוג MIME

vnd.google.fitness.activity/biking

Extras

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=融科资讯中心

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

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

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

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

  1. מתקינים את Android Emulator.
  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

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

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

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

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

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

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