สร้างแอป Wear OS สําหรับจีน

เมื่อสร้างแอป Wear OS สำหรับประเทศจีน คุณต้องคำนึงถึงโทรศัพท์มือถือที่ไม่ได้ติดตั้งบริการของ Google Play ไว้ล่วงหน้า หน้านี้มีการเปลี่ยนแปลงที่พบบ่อยซึ่งนักพัฒนาแอปอาจต้องนำไปใช้สำหรับ ตลาดจีน

ใช้บริการ Google Play เวอร์ชันที่ถูกต้อง

บริการ Google Play เวอร์ชัน 10.2.0 รองรับ Fused Location Provider API และ Data Layer API ทั่วโลก คุณต้องใช้บริการ Google Play เวอร์ชันนี้หากใช้ API เหล่านี้เพื่อ ให้การรองรับอุปกรณ์ Wear OS ที่หลากหลายมากขึ้นในจีน ในกรณีอื่นๆ การขึ้นต่อกันนี้ ไม่บังคับ

หมายเหตุ: แม้ว่าบริการ Google Play จะมี API สำหรับแอป Wear OS แต่แอป Wear OS สำหรับจีนควรใช้ API ที่เกี่ยวข้องกับ GoogleApiClient ต่อไป ดู เข้าถึง Wearable API

Fused Location Provider API

หากใช้ Fused Location Provider API ให้รวมทรัพยากร Dependency ต่อไปนี้ใน ไฟล์ build.gradle ของโมดูล Wear OS

Groovy

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 ด้วยการอ้างอิงเวอร์ชัน 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")
}

การตรวจสอบสิทธิ์

ก่อนที่จะใช้การตรวจสอบสิทธิ์ ให้ตรวจสอบ Use Case เพื่อดูว่าจำเป็นต้องมีการตรวจสอบสิทธิ์จริงหรือไม่ ตัวอย่างเช่น สำหรับแอปที่แสดงพยากรณ์อากาศ คุณอาจไม่จำเป็นต้องลงชื่อเข้าใช้และไม่จำเป็นต้องมีการตรวจสอบสิทธิ์

หากคุณต้องมีการตรวจสอบสิทธิ์ เราขอแนะนำให้ใช้ไลบรารี AndroidX Oauth ซึ่งต้องใช้ขั้นตอนการให้สิทธิ์รหัสการให้สิทธิ์ที่มี PKCE นอกจากนี้ คุณยังใช้วิธีอื่นที่อธิบายไว้ใน การตรวจสอบสิทธิ์ในอุปกรณ์ที่สวมใส่ได้ ไม่แนะนำให้ใช้ Wearable Support Library

ดูข้อมูลเพิ่มเติมได้ที่ ตัวอย่าง OAuth ของ Wear OS ใน GitHub

การแจ้งเตือนที่เชื่อมต่อ

การแจ้งเตือนที่เชื่อมต่อไม่รองรับในประเทศจีน ระบบจะส่งต่อการแจ้งเตือนในโทรศัพท์ไปยัง Wear OS ก็ต่อเมื่ออุปกรณ์ Wear OS เชื่อมต่อกับโทรศัพท์โดยใช้บลูทูธเท่านั้น

ความเข้ากันได้ของพิกัดตำแหน่งและการทำแผนที่

ใช้ FusedLocationProvider (FLP) เพื่อตรวจหาตำแหน่งของผู้ใช้ในจีนเช่นเดียวกับที่ใช้ สำหรับประเทศอื่นๆ ทั่วโลก วิธีนี้ช่วยให้มั่นใจได้ว่าแอปจะพิจารณาข้อมูลที่ดีที่สุด ไม่ว่าจะเป็นฮาร์ดแวร์ของนาฬิกาและแพลตฟอร์มโทรศัพท์ที่นาฬิกาจับคู่ด้วย การใช้ FLP ยังช่วยเพิ่มการเพิ่มประสิทธิภาพแบตเตอรี่ที่สร้างขึ้นในแพลตฟอร์ม Wear OS ด้วย

เมื่อผสานรวม FusedLocationProvider กับ SDK แผนที่ของบุคคลที่สาม ให้พิจารณาความเข้ากันได้ของพิกัดระหว่างผู้ให้บริการ FusedLocationProvider รายงานตำแหน่งตามมาตรฐาน WGS84 อย่าลืมแปลงระบบพิกัดตามความเหมาะสม

การสนับสนุน Google Fit

Google Fit รองรับ ตัวนับก้าวสะสม นาทีที่เคลื่อนไหว และคะแนนคาร์ดิโอในจีน โดยมีประวัติย้อนหลังได้สูงสุด 7 วัน คุณเข้าถึงได้โดยไม่ต้องระบุข้อมูลเข้าสู่ระบบของผู้ใช้

การรองรับการสั่งงานด้วยเสียง

แพลตฟอร์ม Wear OS มีเจตนาเสียงหลายอย่างซึ่งอิงตามการกระทำของผู้ใช้ เช่น _"แสดง อัตราการเต้นของหัวใจ"_ หรือ _"ตั้งปลุก"_ ซึ่งจะช่วยให้ผู้ใช้พูดสิ่งที่ต้องการทำและช่วยให้ระบบ ค้นหากิจกรรมที่ดีที่สุดเพื่อเริ่มต้นได้

เมื่อผู้ใช้พูดการทำงานด้วยเสียง แอปของคุณจะกรองเจตนาที่เรียกใช้เพื่อเริ่มกิจกรรมได้ หากต้องการเริ่มบริการในเบื้องหลัง ให้แสดงกิจกรรมเป็นคิวภาพและเริ่ม บริการในกิจกรรม อย่าลืมเรียกใช้ 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:latitude,longitude?q=融科资讯中心

นอกจากนี้ ผู้ช่วยเสียงยังใช้Intent ทั่วไปของ Android ที่มีอยู่ เพื่อทริกเกอร์ลักษณะการทำงานบางอย่างได้ด้วย (หากเกี่ยวข้อง)

การรองรับโปรแกรมจำลอง

คุณใช้รูปภาพโปรแกรมจำลอง Wear OS เวอร์ชันจีนเพื่อทดสอบแอปได้ ซึ่ง Android Studio 3.0 ขึ้นไปรองรับ

หากต้องการทดสอบแอปในโปรแกรมจำลองเวอร์ชันจีน ให้ทำตามขั้นตอนต่อไปนี้

  1. ติดตั้งโปรแกรมจำลอง Android
  2. ดาวน์โหลดรูปภาพ Wear OS สำหรับจีนจาก SDK Manager ใช้เวอร์ชันสำหรับ Wear OS 3.5 (API ระดับ 30)
  3. เลือกอิมเมจ Wear OS สำหรับจีนเมื่อสร้างโปรไฟล์ AVD
  4. เรียกใช้โปรแกรมจำลอง Wear OS สำหรับประเทศจีนเพื่อการพัฒนา
  5. รูปที่ 1 ตัวอย่างโปรแกรมจำลอง Wear OS เวอร์ชันจีน

โปรแกรมจำลอง Wear OS เวอร์ชันนี้มาพร้อมกับแอปที่ติดตั้งไว้ล่วงหน้าหลายแอป ดังนี้

  • โหมดแอมเบียนท์
  • รายชื่อติดต่อ
  • การป้อนข้อมูลด้วยลายมือของ Google
  • บริการ Google Play
  • บริการข้อมูลสุขภาพสำหรับ Wear OS
  • การจดจำคำสั่งให้ดำเนินการสำหรับอุปกรณ์ LE
  • พินอิน
  • Play Store (ปรับให้เหมาะกับอุปกรณ์ในจีน)
  • นาฬิกาพก
  • TalkBack
  • หน้าปัด (ทั้งเวอร์ชันแอนะล็อกและดิจิทัล)
  • บริการหลักของ Wear

เริ่มช่องบลูทูธและ Wi-Fi เฉพาะแอป

Wear OS จะกำหนดเส้นทางคำขอของเครือข่ายโดยอัตโนมัติ ในกรณีส่วนใหญ่ แอปไม่จำเป็นต้องเปิดช่องบลูทูธและ Wi-Fi เฉพาะแอป

หากแอปขอช่องบลูทูธและ Wi-Fi เฉพาะแอปในจีน คำขอจะ ล้มเหลวโดยไม่มีการแจ้งเตือน แต่จะแสดงกล่องโต้ตอบ เพื่อขอให้ผู้ใช้ยืนยันแทน หากผู้ใช้ยืนยัน ช่องจะเปิดขึ้น ซึ่งจะเกิดขึ้นทุกครั้ง ไม่ใช่แค่ครั้งแรกที่ใช้ BluetoothAdapter.enable() หรือ WifiManager.setEnabled(true) จะ เรียกใช้

หมายเหตุ: หากแอปที่กำหนดเป้าหมายเป็น Android 10 (API ระดับ 29) ขึ้นไปต้องการเรียกใช้ WifiManager.setEnabled() แอปนั้นต้องเป็นแอปของระบบหรือ ตัวควบคุมนโยบายอุปกรณ์ (DPC)

โหมดตรวจสอบสิทธิ์

ในประเทศจีน อุปกรณ์ Wear OS สำหรับประเทศจีนจะทำงานในโหมดตรวจสอบสิทธิ์ ซึ่ง จะกำหนดข้อจำกัดบางอย่างเกี่ยวกับวิธีใช้แอปที่มี targetApiLevel ต่ำกว่า 23 โปรดดูขีดจำกัดต่อไปนี้

  • แม้ว่าจะมีการให้สิทธิ์ในระหว่างการติดตั้ง แต่เมื่อแอปที่มี targetApiLevelต่ำกว่า 23 เริ่มทำงานเป็นครั้งแรก กล่องโต้ตอบจะปรากฏขึ้นเพื่อขอให้ ผู้ใช้ยืนยันสิทธิ์ สำหรับแอปนี้
  • คอมโพเนนต์ในแอป เช่น Broadcast Receiver, บริการ และกิจกรรม จะไม่ตอบสนองต่อเหตุการณ์ที่เกี่ยวข้องก่อนที่จะมีการใช้แอปเป็นครั้งแรก

ด้วยเหตุนี้ เราจึงขอแนะนำให้คุณใช้ targetApiLevel 23 ขึ้นไป และใช้ สิทธิ์ของแอป แนวทางปฏิบัติแนะนำ

ใช้ API ของบริการอื่นๆ ของ Google Play

หากแอปใช้ Google Play Services API อื่นๆ นอกเหนือจาก Wearable API แอปจะต้องตรวจสอบว่า API เหล่านี้พร้อมใช้งานในระหว่างรันไทม์หรือไม่ และตอบสนองอย่างเหมาะสม คุณตรวจสอบความพร้อมใช้งานของ API บริการ Google Play ได้ 2 วิธี ดังนี้

  1. ใช้ GoogleApiClient แยกต่างหากเพื่อเชื่อมต่อกับ API อื่นๆ อินเทอร์เฟซนี้มีการเรียกกลับเพื่อ แจ้งให้แอปทราบถึง ความสำเร็จหรือ ความล้มเหลวของการเชื่อมต่อ ในกรณีที่เชื่อมต่อไม่สำเร็จ ConnectionResult จะแสดง API_UNAVAILABLE ดูวิธีจัดการการเชื่อมต่อที่ไม่สำเร็จได้ที่ เข้าถึง Google APIs
  2. ใช้วิธี addApiIfAvailable() ของ GoogleApiClient.Builder เพื่อเชื่อมต่อกับ API ที่จำเป็น หลังจากที่การเรียกกลับ onConnected() ทำงานแล้ว ให้ใช้วิธี hasConnectedApi() เพื่อให้แน่ใจว่า API ที่ขอแต่ละรายการเชื่อมต่ออย่างถูกต้อง

เผยแพร่แอปในจีน

หากต้องการเข้าถึงผู้ใช้ Wear OS สำหรับประเทศจีนอย่างมีประสิทธิภาพ คุณสามารถเผยแพร่ผ่าน App Store ของ Wear OS ของบุคคลที่สาม เช่น App Store ต่อไปนี้

  • Galaxy Store สำหรับอุปกรณ์ Samsung
  • Xiaomi Store สำหรับอุปกรณ์ Xiaomi
  • Mobvoi สำหรับอุปกรณ์อื่นๆ ทั้งหมด