ข่าวสารผลิตภัณฑ์

การนำ Androidify มาสู่ Wear OS ด้วยพุชหน้าปัด

ใช้เวลาอ่าน 3 นาที
Garan Jenkin
วิศวกรนักพัฒนาซอฟต์แวร์สัมพันธ์

 

 

เมื่อไม่กี่เดือนที่ผ่านมา เราได้เปิดตัว Androidify อีกครั้งในรูปแบบแอปสำหรับสร้างบ็อต Android ที่ปรับเปลี่ยนในแบบของคุณ Androidify จะเปลี่ยนรูปเซลฟีของคุณให้เป็นบ็อต Android สุดน่ารักโดยใช้ Gemini และ Imagen

อย่างไรก็ตาม เนื่องจาก Android มีอุปกรณ์หลายรูปแบบ รวมถึง XR ซึ่งเป็นอุปกรณ์ที่เพิ่มเข้ามาล่าสุด เราจึงคิดว่าเราจะนำความสนุกของ Androidify มาสู่ Wear OS ได้อย่างไร

หน้าปัด Androidify

เนื่องจากบ็อต Androidify มีการปรับเปลี่ยนในแบบของคุณสูงมาก หน้าปัดจึงเป็นที่ที่เหมาะสมที่สุดในการแสดงบ็อต ซึ่งไม่เพียงเป็นแพลตฟอร์มที่มองเห็นได้บ่อยที่สุด แต่ยังเป็นแพลตฟอร์มที่ส่วนตัวที่สุดด้วย ทำให้คุณแสดงตัวตนได้

demonstration.gif

หน้าปัด Androidify ที่ปรับเปลี่ยนในแบบของคุณซึ่งสร้างจากรูปภาพเซลฟี

ตอนนี้ Androidify สามารถสร้างหน้าปัดแบบไดนามิกภายในแอปโทรศัพท์ แล้วส่งไปยังนาฬิกา ซึ่งระบบจะตั้งเป็นหน้าปัดโดยอัตโนมัติ ซึ่งทั้งหมดนี้เกิดขึ้นภายในไม่กี่วินาที

การออกแบบระดับสูง

image.png

ขั้นตอนการสร้างและติดตั้งหน้าปัดตั้งแต่ต้นจนจบ

เทคโนโลยีหลายอย่างต้องทำงานร่วมกันเพื่อให้ได้ประสบการณ์การใช้งานแบบครบวงจร ดังที่แสดงในแผนภาพการออกแบบระดับสูงนี้

ก่อนอื่น ระบบจะรวมรูปโปรไฟล์ของผู้ใช้กับเทมเพลตWatch Face Formatที่มีอยู่แล้ว จากนั้นจะแพ็กเป็น APK ซึ่งได้รับการตรวจสอบแล้วด้วยเหตุผลที่จะอธิบายต่อไป - แล้วส่งไปยังนาฬิกา

เมื่อนาฬิการับแล้ว ระบบจะใช้ Watch Face Push API ใหม่ ซึ่งเป็นส่วนหนึ่งของ Wear OS 6 เพื่อติดตั้งและเปิดใช้งานหน้าปัด

มาดูรายละเอียดกัน

การสร้างเทมเพลตหน้าปัด

หน้าปัดสร้างจากเทมเพลตที่ออกแบบใน Watch Face Designer นี่คือปลั๊กอิน Figma ใหม่ของเราที่ช่วยให้คุณสร้างหน้าปัด Watch Face Format ได้โดยตรงภายใน Figma

image.png

เทมเพลตหน้าปัด Androidify ใน Watch Face Designer

ปลั๊กอินช่วยให้ส่งออกหน้าปัดได้หลายวิธี รวมถึงเป็นทรัพยากร Watch Face Format (WFF) จากนั้นก็สามารถรวมเป็นชิ้นงานภายในแอป Androidify ได้อย่างง่ายดายเพื่อสร้างหน้าปัดสุดท้ายแบบไดนามิก

การแพ็กเกจและการตรวจสอบ

เมื่อรวมเทมเพลตและอวาตาร์เข้าด้วยกันแล้ว ระบบจะใช้ Portable Asset Compiler Kit (Pack) เพื่อประกอบ APK

ใน Androidify จะใช้ Pack เป็นไลบรารีแบบเนทีฟในโทรศัพท์ ดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีที่ Androidify เชื่อมต่อกับไลบรารีแพ็กได้ที่ที่เก็บ GitHub

ในขั้นตอนสุดท้ายก่อนการส่ง Watch Face Push validator จะตรวจสอบ APK

โปรแกรมตรวจสอบนี้จะตรวจสอบว่า APK เหมาะสมสำหรับการติดตั้งหรือไม่ ซึ่งรวมถึงการตรวจสอบเนื้อหาของ APK เพื่อให้แน่ใจว่าเป็นหน้าปัดที่ถูกต้อง รวมถึงการตรวจสอบประสิทธิภาพบางอย่าง หากถูกต้อง โปรแกรมตรวจสอบจะสร้างโทเค็น

นาฬิกาต้องใช้โทเค็นนี้ในการติดตั้ง

การส่งหน้าปัด

แอป Androidify ใน Wear OS ใช้ WearableListenerService เพื่อรอรับเหตุการณ์ในชั้นข้อมูลของอุปกรณ์ที่สวมใส่ได้

แอปโทรศัพท์จะโอนหน้าปัดโดยใช้การผสมผสานระหว่าง MessageClient เพื่อตั้งค่ากระบวนการ จากนั้นใช้ ChannelClient เพื่อสตรีม APK

การติดตั้งหน้าปัดบนนาฬิกา

เมื่อได้รับหน้าปัดในอุปกรณ์ Wear OS แล้ว แอป Androidify จะใช้ Watch Face Push API ใหม่เพื่อติดตั้งหน้าปัด

val wfpManager = 

    WatchFacePushManagerFactory.createWatchFacePushManager(context)

val response = wfpManager.listWatchFaces()



try {

    if (response.remainingSlotCount > 0) {

        wfpManager.addWatchFace(apkFd, token)

    } else {

        val slotId = response.installedWatchFaceDetails.first().slotId

        wfpManager.updateWatchFace(slotId, apkFd, token)

    }

} catch (a: WatchFacePushManager.AddWatchFaceException) {

    return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR

} catch (u: WatchFacePushManager.UpdateWatchFaceException) {

    return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR

}

Androidify ใช้เมธอด addWatchFace หรือ updateWatchFace ขึ้นอยู่กับสถานการณ์ โดยการพุชหน้าปัดจะกำหนดแนวคิดของ "ช่อง" ซึ่งหมายถึงจำนวนหน้าปัดที่แอปหนึ่งๆ ติดตั้งได้ในแต่ละครั้ง สำหรับ Wear OS 6 ค่านี้จะเป็น 1

แนวทางของ Androidify คือการติดตั้งหน้าปัดหากมีช่องว่าง และหากไม่มี ระบบจะสลับหน้าปัดที่มีอยู่กับหน้าปัดใหม่

การตั้งค่าหน้าปัดที่ใช้งานอยู่

การติดตั้งหน้าปัดแบบเป็นโปรแกรมเป็นขั้นตอนที่ดี แต่ Androidify ต้องการให้แน่ใจว่าหน้าปัดจะเป็นหน้าปัดที่ใช้งานอยู่ด้วย 

การพุชหน้าปัดนาฬิกาจะเปิดตัวสิทธิ์รันไทม์ใหม่ที่ต้องได้รับเพื่อให้แอปทำสิ่งต่อไปนี้ได้

com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE

เมื่อได้รับสิทธิ์นี้แล้ว คุณจะเรียกใช้เมธอด wfpManager.setWatchFaceAsActive() เพื่อตั้งค่าหน้าปัดที่ติดตั้งให้เป็นหน้าปัดที่ใช้งานอยู่ได้

อย่างไรก็ตาม Androidify มีข้อควรพิจารณาหลายประการที่ต้องจัดการ

  • setWatchFaceAsActive ใช้ได้เพียงครั้งเดียว
  • SET_PUSHED_WATCH_FACE_AS_ACTIVE จะขออีกครั้งไม่ได้หลังจากที่ผู้ใช้ปฏิเสธ
  • Androidify อาจควบคุมหน้าปัดที่ใช้งานอยู่แล้ว

ดูรายละเอียดเพิ่มเติมได้ที่วิธีที่ Androidify ใช้ตรรกะการตั้งค่าให้ใช้งานอยู่

เริ่มต้นใช้งานพุชหน้าปัดสำหรับ Wear OS

Watch Face Push เป็น API ที่ใช้งานได้หลากหลาย เหมาะสำหรับการปรับปรุง Androidify เช่นเดียวกับการสร้างตลาดกลางหน้าปัดที่มีฟีเจอร์ครบถ้วน

คุณอาจมีแอปโทรศัพท์อยู่แล้วและกำลังมองหาโอกาสในการดึงดูดและสร้างความพึงพอใจให้ผู้ใช้มากยิ่งขึ้น

หรือคุณอาจเป็นนักพัฒนาหน้าปัดที่มีอยู่แล้วซึ่งต้องการสร้างชุมชนและแกลเลอรีของคุณเองผ่านการเปิดตัวแอปมาร์เก็ตเพลส

โปรดดูแหล่งข้อมูลต่อไปนี้

นอกจากนี้ โปรดดูวิดีโอประกอบเพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีที่เรานำ Androidify มาสู่ Wear OS

เราตั้งตารอที่จะได้เห็นผลงานที่คุณจะสร้างด้วยการพุชหน้าปัด

เขียนโดย

อ่านต่อ