ข่าวสารเกี่ยวกับผลิตภัณฑ์

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

อ่าน 3 นาที
ดูโปรไฟล์ของ Garan Jenkin
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 ได้อย่างง่ายดาย เพื่อสร้างหน้าปัดที่เสร็จสมบูรณ์แบบไดนามิก

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

เมื่อรวมเทมเพลตและอวาตาร์เข้าด้วยกันแล้ว ระบบจะใช้ชุดคอมไพเลอร์เนื้อหาแบบพกพา (Pack) เพื่อประกอบ APK

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

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

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

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

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

แอป Androidify ใน Wear OS ใช้ WearableListenerService เพื่อรอรับเหตุการณ์ในชั้นข้อมูล Wearable

แอปโทรศัพท์จะโอนหน้าปัดโดยใช้การผสมผสานระหว่าง 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 ได้ด้วย

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

เขียนโดย
อ่านต่อ