สร้างแอป 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 ที่หลากหลายมากขึ้นในประเทศจีน ในกรณีอื่นๆ การใช้ทรัพยากร Dependency นี้เป็นตัวเลือก

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

Fused Location Provider API

หากใช้ Fused Location Provider API ให้ใส่ทรัพยากร Dependency ต่อไปนี้ใน ไฟล์ 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 ของ โมดูลอุปกรณ์เคลื่อนที่ แทนที่ทรัพยากร Dependency ของบริการ Google Play ด้วยการอ้างอิงเวอร์ชัน 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 ซึ่งกำหนดให้ต้องใช้การให้สิทธิ์รหัสการให้สิทธิ์ด้วยโฟลว์ 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 รองรับ

หมวดหมู่ ตัวอย่าง ข้อมูลจำเพาะของความตั้งใจ
การเรียกรถ 打车去三里屯 การดำเนินการ

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

นอกจากนี้ ผู้ช่วยเสียงยังใช้ ความตั้งใจทั่วไปของ 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 Handwriting Input
  • บริการ Google Play
  • บริการข้อมูลสุขภาพสำหรับ Wear OS
  • การจดจำคำสั่ง Hotword สำหรับอุปกรณ์ LE
  • พินอิน
  • Play Store (ปรับให้เหมาะกับอุปกรณ์ในประเทศจีน)
  • Pocketwatch
  • TalkBack
  • หน้าปัดนาฬิกา (ทั้งเวอร์ชันแอนะล็อกและดิจิทัล)
  • บริการหลักของ Wear

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

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

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

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

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

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

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

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

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

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

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

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

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

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