כשאתם יוצרים אפליקציות ל-Wear OS בסין, אתם צריכים לקחת בחשבון טלפונים ניידים ללא שירותי Google Play שמותקנים מראש. בדף הזה מפורטים שינויים נפוצים שמפתחים עשויים להידרש לבצע בשביל לשווק את האפליקציות שלהם בשוק הסיני.
שימוש בגרסה הנכונה של Google Play Services
בגרסה 10.2.0 של Google Play Services יש תמיכה גלובלית ב-Fused Location Provider API וב-Data Layer API. אם אתם משתמשים בממשקי ה-API האלה, עליכם להשתמש בגרסה הזו של Google Play Services כדי להבטיח תמיכה במגוון רחב יותר של מכשירי 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") }
Data Layer API
אם באפליקציה נעשה שימוש ב-Data Layer API, צריך להוסיף את השורה הבאה
לקובץ build.gradle
של מודול Wear OS. בשורה הזו נדרש שימוש בגרסה 10.2.0 של ספריית הלקוח.
Groovy
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.
Groovy
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. לשם כך, צריך להשתמש בתהליך הקצאת קוד הרשאה באמצעות PKCE. אפשר גם להשתמש באחת מהשיטות האחרות שמתוארות במאמר אימות במכשירים לבישים. לא מומלץ להשתמש בספריית התמיכה של Wearable.
למידע נוסף, אפשר לעיין בדוגמה של Wear OS OAuth ב-GitHub.
התראות מחוברות
התראות גישור לא נתמכות בסין. התראות מהטלפון מועברות ל-Wear OS רק אם מכשיר Wear OS מחובר לטלפון באמצעות Bluetooth.
תאימות של קואורדינטות של מיקום ומיפוי
משתמשים ב-FusedLocationProvider
(FLP) כדי לזהות את המיקום של המשתמש בסין, כמו שאפשר לעשות בשאר העולם. כך האפליקציה תוכל להשתמש במידע הטוב ביותר, ללא קשר לחומרה של השעון ולפלטפורמת הטלפון שאליו השעון מותאם.
השימוש ב-FLP מוסיף גם אופטימיזציה של הסוללה שמובנית בפלטפורמת Wear OS.
כשמשלבים את FusedLocationProvider
עם ערכות SDK של מפות של צד שלישי,
צריך להביא בחשבון את תאימות הקואורדינטות בין הספקים.
המיקום מדווח על ידי FusedLocationProvider
בהתאם לתקן WGS84.
חשוב להמיר את מערכות הקואורדינטות בהתאם.
תמיכה ב-Google Fit
ב-Google Fit יש תמיכה במספר הצעדים המצטבר, בדק' הפעילות ובדק' אימון הקרדיו בסין, עם היסטוריה של עד שבעה ימים. אפשר לגשת אליו בלי לספק פרטי כניסה של משתמש.
תמיכה בפעולות קוליות
פלטפורמת Wear OS מספקת כמה כוונות קוליות שמבוססות על פעולות של משתמשים, כמו _'הצגת קצב הלב'_ או _'הגדרת שעון מעורר'_. כך המשתמשים יכולים לומר מה הם רוצים לעשות, והמערכת יכולה להבין איזו פעילות הכי כדאי להתחיל.
כשמשתמשים מדברים על פעולה קולית, האפליקציה יכולה לסנן את הכוונה שמופיעה כדי להתחיל פעילות. כדי להפעיל שירות ברקע, מציגים פעילות כאות ויזואלי ומפעילים את השירות בפעילות. עדיף להתקשר אל
finish()
כדי להסיר את הסימן החזותי.
זוהי רשימת כוונת הדיבור שנתמכות בפלטפורמת Wear OS:
קטגוריה | דוגמה | מפרט הכוונה |
נסיעה בהזמנה | 打车去三里屯 | פעולה
Extra
האפשרות הזו היא אופציונלית. |
הגדר התראה | 设睮个及早七点的闹钟 | פעולה
Extras
התוספים האלה הם אופציונליים. אפשר לספק את אחד מהפריטים האלה, את שניהם או לא לספק אף אחד מהם. |
הגדר טיימר | יצירת ספירה לאחור של שלוש דקות | פעולה
Extras
|
הפעלת שעון עצר | 开始计时 | פעולה
|
התחלה או הפסקה של רכיבה על אופניים | 开始骑车 | פעולה
סוג MIME
Extras
|
התחלה או הפסקה של ריצה | 开始跑步 | פעולה
סוג MIME
תוספות
|
התחלה או הפסקה של אימון | 開始鍛鍊 | פעולה
סוג MIME
תוספות
|
הצגת הדופק | 查看心率 | פעולה
סוג MIME
|
הצגת מספר הצעדים | 查看步数 | פעולה
סוג MIME
|
ניווט | 导航去三里屯 | פעולה
נתונים geo:latitude,longitude?q=融科资讯中心 |
Voice Assistant יכולה גם להשתמש בכוונות נפוצות של Android כדי להפעיל התנהגויות מסוימות במקרים הרלוונטיים.
תמיכה באמולטור
כדי לבדוק את האפליקציות, אפשר להשתמש בגרסה של תמונת האמולטור של Wear OS בגרסה סין. התכונה הזו נתמכת ב-Android Studio 3.0 ואילך.
כדי לבדוק את האפליקציות בגרסה הסינית של הסימולטור:
- מתקינים את האמולטור של Android.
- מורידים את התמונות של Wear OS לסין מהמנהל של SDK. משתמשים בגרסה ל-Wear OS 3.5 (רמת API 30).
- בוחרים את התמונה של Wear OS for China כשיוצרים פרופיל AVD.
- מפעילים את אמולטור Wear OS for China לצורכי פיתוח.
הגרסה הזו של אמולטור Wear OS מגיעה עם כמה אפליקציות מותקנות מראש:
- מצב רגישות לסביבה
- אנשי קשר
- קלט בכתב יד של Google
- Google Play Services
- שירותי בריאות ל-Wear OS
- זיהוי מילות הפעלה למכשירי LE
- פיניין
- חנות Play (מותאמת למכשירים בסין)
- Pocketwatch
- TalkBack
- תצוגות שעון (גרסאות אנלוגיות ודיגיטליות)
- שירותי ליבה של Wear
התחלת ערוץ Bluetooth ו-Wi-Fi ספציפי לאפליקציה
Wear OS מנתבת באופן אוטומטי בקשות ברשת. ברוב המקרים, אין צורך שהאפליקציה תפתח ערוץ Bluetooth ו-Wi-Fi ספציפי לאפליקציה.
אם אפליקציה מבקשת ערוץ Bluetooth ו-Wi-Fi ספציפי לאפליקציה בסין, הבקשה תיכשל ללא הודעה. במקום זאת, תופיע תיבת דו-שיח שבה תתבקשו לאשר את הפעולה. אם המשתמש מאשר, הערוץ נפתח. זה קורה בכל פעם, ולא רק בפעם הראשונה שמשתמשים ב-Google Workspace. מתבצעת קריאה ל-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 שאינם Wearable API, האפליקציה צריכה לבדוק אם אפשר להשתמש בממשקי ה-API האלה במהלך זמן הריצה ולהגיב בהתאם. יש שתי דרכים לבדוק את הזמינות של ממשקי ה-API של שירותי Google Play:
- כדי להתחבר לממשקי API אחרים, צריך להשתמש במכונה
GoogleApiClient
נפרדת. הממשק הזה כולל קריאות חוזרות כדי לעדכן את האפליקציה על ההצלחה או הכשל בחיבור. אם החיבור נכשל, ב-ConnectionResult
יופיע הערךAPI_UNAVAILABLE
. במאמר גישה לממשקי Google API מוסבר איך לטפל בכשלים בחיבור. - משתמשים בשיטה
addApiIfAvailable()
שלGoogleApiClient.Builder
כדי להתחבר לממשקי ה-API הנדרשים. אחרי שהקריאה החוזרת (callback)onConnected()
מופעלת, משתמשים בשיטהhasConnectedApi()
כדי לוודא שכל ממשקי ה-API המבוקשים מחוברים בצורה נכונה.
הפצת אפליקציות בסין
כדי להגיע ביעילות למשתמשי Wear OS בסין, אפשר להפיץ דרך חנויות אפליקציות של Wear OS של צד שלישי, כמו:
- Galaxy Store למכשירי Samsung
- Xiaomi Store למכשירי Xiaomi
- Mobvoi לכל שאר המכשירים