יצירה של אפליקציות ל-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.

ממשק API של Fused Location Provider

אם אתם משתמשים ב-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 יש כמה כוונות קוליות שמבוססות על פעולות של המשתמש, כמו '_'Show' קצב הלב"_ או _"הגדרת שעון מעורר"_. כך המשתמשים יכולים לומר מה הם רוצים לעשות, והמערכת כדי להבין מהי הפעילות שהכי כדאי להתחיל.

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

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

קטגוריה דוגמה המפרט של Intent
רכב ברד 打车去三里屯 פעולה

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

תוספות

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:קו רוחב,אורך?q=融科资讯中心

Assistant יכולה להשתמש גם בקיים כוונות נפוצות ב-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

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

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

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

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

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

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

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

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

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

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

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

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

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