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

นำ 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 ระบบจะตรวจสอบความถูกต้องของ APK ด้วยเหตุผลที่เราจะอธิบายต่อไป แล้วส่งไปยังนาฬิกา

เมื่อนาฬิกาได้รับ 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 ทำงานร่วมกับไลบรารี Pack ได้ที่ที่เก็บ GitHub

ขั้นตอนสุดท้ายก่อนส่ง APK คือการตรวจสอบโดยโปรแกรมตรวจสอบความถูกต้องของฟีเจอร์พุชหน้าปัด

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

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

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

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

แอปโทรศัพท์จะโอนหน้าปัดโดยใช้MessageClientร่วมกับChannelClientเพื่อตั้งค่ากระบวนการ จากนั้นใช้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

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

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

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

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

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

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

เขียนโดย

อ่านต่อ