PWA ใน Oculus Quest 2

Oculus Quest 2 เป็นชุดหูฟัง Virtual Reality (VR) ที่สร้างขึ้นโดย Oculus ซึ่งเป็นแผนกหนึ่งของ Meta ตอนนี้ นักพัฒนาแอปสามารถสร้างและเผยแพร่ Progressive Web App (PWA) แบบ 2 มิติและ 3 มิติที่ใช้ประโยชน์จากฟีเจอร์มัลติทาสก์ของ Oculus Quest 2 ได้แล้ว

Oculus Quest 2

Oculus Quest 2 เป็นอุปกรณ์สวมศีรษะ Virtual Reality (VR) ที่สร้างขึ้นโดย Oculus ซึ่งเป็นแผนกหนึ่งของ Meta โดยเป็นรุ่นต่อจากชุดหูฟังรุ่นก่อนหน้าของบริษัทอย่าง Oculus Quest อุปกรณ์นี้สามารถทำงานได้ทั้งในรูปแบบชุดหูฟังแบบสแตนด์อโลนที่มีระบบปฏิบัติการภายในที่ใช้ Android และทำงานร่วมกับซอฟต์แวร์ VR ที่เข้ากันได้กับ Oculus ซึ่งทำงานบนคอมพิวเตอร์เดสก์ท็อปเมื่อเชื่อมต่อผ่าน USB หรือ Wi-Fi โดยใช้ระบบบนชิป Qualcomm Snapdragon XR2 พร้อม RAM ขนาด 6 GB จอแสดงผลของ Quest 2 เป็นแผง LCD แบบสวิตช์เร็วเดี่ยวที่มีความละเอียด 1,832 × 1,920 พิกเซลต่อตา ซึ่งทำงานที่อัตราการรีเฟรชสูงสุด 120 Hz

อุปกรณ์ Oculus Quest 2 พร้อมตัวควบคุม

Oculus Browser

ปัจจุบันมีเบราว์เซอร์ 3 รายการที่พร้อมใช้งานสำหรับ Oculus Quest 2 ได้แก่ Wolvic ซึ่งเป็นรุ่นต่อจาก Firefox Reality และ Oculus Browser ในตัว บทความนี้จะมุ่งเน้นไปที่ อย่างหลัง เว็บไซต์ Oculus แนะนํา Oculus Browser ดังนี้

"Oculus Browser รองรับมาตรฐานเว็บล่าสุดและเทคโนโลยีอื่นๆ เพื่อช่วยให้คุณ สร้างประสบการณ์ VR บนเว็บได้ เว็บไซต์ 2 มิติในปัจจุบันทำงานได้ดีใน Oculus Browser เนื่องจากขับเคลื่อนด้วยเครื่องมือแสดงผล Chromium นอกจากนี้ยังได้รับการเพิ่มประสิทธิภาพเพิ่มเติมสำหรับชุดหูฟัง Oculus เพื่อให้ได้ประสิทธิภาพที่ดีที่สุดและช่วยให้นักพัฒนาเว็บใช้ประโยชน์จากศักยภาพของ VR ได้อย่างเต็มที่ด้วย API ใหม่ๆ เช่น WebXR WebXR จะเปิดประตูสู่พรมแดนถัดไปของเว็บ"

Oculus Browser ที่มีหน้าต่างเบราว์เซอร์ 3 หน้าต่างเปิดอยู่

User Agent

สตริง User Agent ของเบราว์เซอร์ ณ เวลาที่เขียนมีดังนี้

Mozilla/5.0 (X11; Linux x86_64; Quest 2)
AppleWebKit/537.36 (KHTML, like Gecko)
OculusBrowser/18.1.0.2.46.337441587
SamsungBrowser/4.0
Chrome/95.0.4638.74
VR
Safari/537.36

ดังที่เห็น เวอร์ชันปัจจุบัน 18.1.0.2.46.337441587 ของ Oculus Browser ใช้ Chrome 95.0.4638.74 ซึ่งเป็นเวอร์ชันที่เก่ากว่า Chrome เวอร์ชันเสถียรปัจจุบันเพียงเวอร์ชันเดียว ซึ่งก็คือ 96.0.4664.110 หากผู้ใช้เปลี่ยนเป็นโหมดบนอุปกรณ์เคลื่อนที่ VR จะเปลี่ยนเป็น Mobile VR

หน้า "เกี่ยวกับ" ของเบราว์เซอร์ Oculus

อินเทอร์เฟซผู้ใช้

อินเทอร์เฟซผู้ใช้ของเบราว์เซอร์ (แสดงด้านบน) มีฟีเจอร์ต่อไปนี้ (แถวบนจากซ้ายไปขวา)

  • ปุ่มย้อนกลับ
  • ปุ่มโหลดซ้ำ
  • ข้อมูลเว็บไซต์
  • แถบ URL
  • ปุ่มสร้างบุ๊กมาร์ก
  • ปุ่มปรับขนาดที่มีตัวเลือกแคบ ปานกลาง และกว้าง รวมถึงฟีเจอร์ซูม
  • ปุ่มขอเว็บไซต์เวอร์ชันอุปกรณ์เคลื่อนที่
  • ปุ่มเมนูที่มีตัวเลือกต่อไปนี้
    • เข้าสู่โหมดส่วนตัว
    • ปิดแท็บทั้งหมด
    • การตั้งค่า
    • บุ๊กมาร์ก
    • ดาวน์โหลด
    • ประวัติ
    • ล้างข้อมูลการท่องเว็บ

แถวล่างสุดมีฟีเจอร์ต่อไปนี้

  • ปุ่มปิด
  • ปุ่มย่อ
  • ปุ่ม 3 จุดที่มีตัวเลือกย้อนกลับ ไปข้างหน้า และโหลดซ้ำ

อัตรารีเฟรชและอัตราส่วนพิกเซลของอุปกรณ์

สำหรับ Oculus Quest 2 เบราว์เซอร์ Oculus จะแสดงทั้งเนื้อหาหน้าเว็บ 2 มิติและ WebXR ที่อัตราการรีเฟรช 90 Hz เมื่อดูสื่อแบบเต็มหน้าจอ Oculus Browser จะเพิ่มประสิทธิภาพอัตราการรีเฟรชของอุปกรณ์ตามอัตราเฟรมของวิดีโอ เช่น 24 FPS Oculus Quest 2 มี อัตราส่วนพิกเซลของอุปกรณ์ที่ 1.5 เพื่อให้ข้อความคมชัด

PWA ใน Oculus Browser และ Oculus Store

เมื่อวันที่ 28 ตุลาคม 2021 Jacob Rossi หัวหน้าฝ่ายการจัดการผลิตภัณฑ์ของ Meta (Oculus) ได้แชร์ว่า PWA จะพร้อมใช้งานใน Oculus Quest และ Oculus Quest 2 ในส่วนต่อไปนี้ ฉันจะอธิบายประสบการณ์การใช้งาน PWA บน Oculus รวมถึงวิธีสร้าง โหลดด้านข้าง และทดสอบ PWA บน Oculus Quest 2

การแชร์สถานะ

สถานะการเข้าสู่ระบบจะแชร์ระหว่างเบราว์เซอร์ Oculus กับ PWA ซึ่งช่วยให้ผู้ใช้สลับไปมาระหว่าง ทั้ง 2 อย่างได้อย่างราบรื่น การเข้าสู่ระบบด้วย Facebook จึงได้รับการรองรับโดยค่าเริ่มต้น Oculus Browser มีเครื่องมือจัดการรหัสผ่านที่ช่วยให้ผู้ใช้ จัดเก็บและแชร์รหัสผ่านได้อย่างปลอดภัยระหว่างเบราว์เซอร์และประสบการณ์การใช้งานแอปที่ติดตั้ง

ขนาดหน้าต่าง PWA

ผู้ใช้สามารถปรับขนาดหน้าต่างเบราว์เซอร์และหน้าต่างของ PWA ที่ติดตั้งได้อย่างอิสระ ความสูงอาจแตกต่างกัน ระหว่าง 625 พิกเซลถึง 1,200 พิกเซล โดยตั้งค่าความกว้างได้ระหว่าง 400 ถึง 2,000 พิกเซล ขนาดเริ่มต้นคือ 1,000 × 625 พิกเซล

การโต้ตอบกับ PWA

คุณควบคุม PWA ได้ด้วยตัวควบคุมซ้ายและขวาของ Oculus, เมาส์และคีย์บอร์ดบลูทูธ และ ผ่านฟีเจอร์ Hand Tracking การเลื่อนจะทำงานผ่านก้านควบคุมบนคอนโทรลเลอร์ Oculus หรือโดยการบีบนิ้วโป้งและนิ้วชี้แล้วเลื่อนไปในทิศทางที่ต้องการ หากต้องการเลือกสิ่งใด ผู้ใช้ สามารถชี้และบีบนิ้วได้

สิทธิ์สำหรับ PWA

สิทธิ์ใน Oculus Browser ทำงานในลักษณะเดียวกับใน Chrome สถานะจะแชร์ ระหว่างแอปที่ทำงานในเบราว์เซอร์กับ PWA ที่ติดตั้งไว้ ดังนั้นผู้ใช้จึงสลับไปมาระหว่างประสบการณ์การใช้งานทั้ง 2 แบบได้ โดยไม่ต้องให้สิทธิ์เดียวกันอีกครั้ง

แม้ว่าระบบจะใช้สิทธิ์หลายอย่าง แต่ก็อาจไม่รองรับบางฟีเจอร์ เช่น แม้ว่า การขอสิทธิ์เข้าถึงตำแหน่งทางภูมิศาสตร์จะสำเร็จ แต่อุปกรณ์ก็ไม่เคยได้รับตำแหน่งจริงๆ ในทำนองเดียวกัน API ของฮาร์ดแวร์ต่างๆ เช่น WebHID, Web Bluetooth ฯลฯ ทั้งหมด ผ่านการตรวจหาฟีเจอร์ แต่ไม่ได้แสดงตัวเลือกที่จะช่วยให้ผู้ใช้จับคู่ Oculus กับอุปกรณ์ฮาร์ดแวร์ ฉันคิดว่าการตรวจหาฟีเจอร์ของ API จะได้รับการปรับปรุงเมื่อเบราว์เซอร์ พร้อมใช้งาน

สิทธิ์ในเบราว์เซอร์ Oculus

การแก้ไขข้อบกพร่องของ PWA ผ่านเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome

หลังจากเปิดใช้โหมดนักพัฒนาแอปแล้ว การแก้ไขข้อบกพร่องของ PWA ใน Oculus Quest 2 จะทำงานตรงตามที่อธิบายไว้ในแก้ไขข้อบกพร่องของอุปกรณ์ Android จากระยะไกล

  1. ในอุปกรณ์ Oculus ให้ไปที่เว็บไซต์ที่ต้องการใน Oculus Browser
  2. เปิด Google Chrome ในคอมพิวเตอร์แล้วไปที่ chrome://inspect/#devices
  3. ค้นหาอุปกรณ์ Oculus ที่มีปัญหา ซึ่งจะมีชุดแท็บเบราว์เซอร์ Oculus ที่เปิดอยู่ในอุปกรณ์
  4. คลิกตรวจสอบในแท็บ Oculus Browser ที่ต้องการ

การตรวจสอบแอปที่ทำงานบน Oculus Quest 2 ด้วยเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome

การค้นพบแอป

ผู้ใช้สามารถใช้เบราว์เซอร์เองหรือ Oculus Store เพื่อค้นหา PWA เช่นเดียวกับเบราว์เซอร์อื่นๆ PWA ที่ติดตั้งจะทำงานใน Oculus Browser เป็น เว็บไซต์ที่ทำงานในแท็บ เมื่อผู้ใช้เข้าชมเว็บไซต์ เบราว์เซอร์ Oculus จะช่วยให้ผู้ใช้ค้นพบแอปหาก (และเฉพาะในกรณีที่) แอปนั้นพร้อมให้บริการใน Oculus Store สำหรับผู้ใช้ที่ติดตั้งแอปอยู่แล้ว เบราว์เซอร์ Oculus จะช่วยให้ผู้ใช้เปลี่ยนไปใช้แอปได้อย่างง่ายดายหากต้องการ

Oculus Browser เชิญผู้ใช้ในข้อความแจ้งให้ติดตั้งแอป MyEmail

PWA ตัวอย่างใน Oculus Quest 2

PWA โดย Meta

หลายแผนกของ Meta ได้สร้าง PWA สำหรับ Oculus Quest 2 เช่น Instagram และ Facebook PWA เหล่านี้จะทำงานในหน้าต่างแอปแบบสแตนด์อโลนที่ไม่มีแถบ URL และปรับขนาดได้อย่างอิสระ

แอป Facebook Oculus Quest 2

แอป Instagram บน Oculus Quest 2

PWA โดยนักพัฒนาแอปรายอื่น

ในขณะที่เขียนบทความนี้ มี PWA จำนวนไม่มากนักแต่ก็เพิ่มขึ้นเรื่อยๆ สำหรับ Oculus Quest 2 ใน Oculus Store Spike ช่วยให้ผู้ใช้ได้รับประสบการณ์การใช้งานเครื่องมือการทำงานที่จำเป็นทั้งหมด เช่น อีเมล แชท การโทร โน้ต งาน และสิ่งที่ต้องทำจากกล่องจดหมายในฮับสภาพแวดล้อมเสมือนจริงได้โดยตรงในแอป Spike

แอป Spike Oculus Quest 2

อีกตัวอย่างหนึ่งคือ Smartsheet ซึ่งเป็น พื้นที่ทํางานแบบไดนามิกที่ให้บริการการจัดการโปรเจ็กต์ เวิร์กโฟลว์อัตโนมัติ และการสร้างโซลูชันใหม่ๆ อย่างรวดเร็ว

นอกจากนี้ ยังมี PWA อื่นๆ เช่น Slack, Dropbox หรือ Canva ที่กำลังจะเปิดตัวตามที่ได้มีการบอกใบ้ไว้ในวิดีโอที่มี Jacob Rossi ซึ่งเผยแพร่ในบริบทของการประชุม Connect ของ Facebook ในปี 2021

การสร้าง PWA สำหรับ Oculus

Meta ได้ระบุขั้นตอนที่จำเป็นไว้ในเอกสารประกอบ โดยทั่วไปแล้ว PWA ที่ ติดตั้งได้ใน Chrome มักจะใช้งานได้ทันทีบน Oculus

ข้อกำหนดของไฟล์ Manifest ของเว็บแอป

มีความแตกต่างที่สำคัญบางประการเมื่อเทียบกับเกณฑ์การติดตั้งของ Chrome และข้อกำหนดของไฟล์ Manifest ของเว็บแอป ตัวอย่างเช่น ปัจจุบัน Oculus รองรับเฉพาะภาษาที่เขียนจากซ้ายไปขวา ในขณะที่ข้อกำหนดของไฟล์ Manifest ของเว็บแอปไม่ได้บังคับข้อจำกัดดังกล่าว อีกตัวอย่างหนึ่งคือ start_url ซึ่ง Chrome กำหนดอย่างเคร่งครัดว่าแอปต้องมีเพื่อที่จะ ติดตั้งได้ แต่ใน Oculus จะเป็นตัวเลือก Oculus มีเครื่องมือบรรทัดคำสั่งที่ช่วยให้นักพัฒนาแอปสร้าง PWA สำหรับ Oculus Quest 2 ซึ่งจะช่วยให้นักพัฒนาแอปส่งพารามิเตอร์ที่ขาดหายไป (หรือลบล้างพารามิเตอร์ที่มีอยู่) ในไฟล์ Web App Manifest ได้

ชื่อ คำอธิบาย
name (ต้องระบุ) ชื่อของ PWA ปัจจุบัน Oculus รองรับเฉพาะภาษาที่อ่านจากซ้ายไปขวาสำหรับชื่อ
display (ต้องระบุ) "standalone" หรือ "minimal-ui" ปัจจุบัน Oculus ยังไม่รองรับค่าอื่นๆ
short_name (ต้องระบุ) ชื่อแอปแบบย่อ (หากจำเป็น)
scope (ไม่บังคับ) URL หรือเส้นทางที่ควรพิจารณาเป็นส่วนหนึ่งของแอป
start_url (ไม่บังคับ) URL ที่จะแสดงเมื่อเปิดแอป

Oculus มีช่องไฟล์ Manifest ของเว็บแอปที่เป็นกรรมสิทธิ์ซึ่งเป็นตัวเลือกหลายช่องที่ใช้เพื่อ ปรับแต่งประสบการณ์ PWA ได้

ชื่อ คำอธิบาย
ovr_package_name (ไม่บังคับ) ตั้งชื่อแพ็กเกจของ APK ที่สร้างขึ้นสำหรับ PWA ซึ่งต้องอยู่ในรูปแบบชื่อโดเมนย้อนกลับ เช่น "com.company.app.pwa" หากไม่ได้ตั้งค่าไว้ นักพัฒนาแอปต้องระบุชื่อแพ็กเกจให้กับเครื่องมือบรรทัดคำสั่งโดยใช้พารามิเตอร์ --package-name (ซึ่งจำเป็นในขณะนั้น)
ovr_multi_tab_enabled (ไม่บังคับ) หากเป็น true ช่องบูลีนนี้จะให้แถบแท็บแก่ PWA คล้ายกับ Oculus Browser ใน PWA แบบหลายแท็บ ลิงก์ภายในที่กำหนดเป้าหมายเป็นแท็บใหม่ (target="_new" หรือ target="_blank") จะเปิดในแท็บใหม่ภายในหน้าต่าง PWA ซึ่งแตกต่างจาก PWA แบบแท็บเดียวที่ลิงก์ดังกล่าวจะเปิดในหน้าต่างเบราว์เซอร์ Oculus ปัจจุบันเรากำลังกำหนดมาตรฐานฟีเจอร์นี้เป็นโหมดแอปพลิเคชันแบบแท็บ
ovr_scope_extensions (ไม่บังคับ) อนุญาตให้ PWA รวมหน้าเว็บเพิ่มเติมภายในขอบเขตของเว็บแอปพลิเคชัน ซึ่งประกอบด้วยพจนานุกรม JSON ที่มี URL ของส่วนขยายหรือรูปแบบไวลด์การ์ด ปัจจุบันเรากำลังกำหนดมาตรฐานฟีเจอร์นี้เป็นส่วนขยายขอบเขตสำหรับเว็บแอป

การแพ็กเกจ PWA ด้วย Bubblewrap CLI

Bubblewrap เป็นชุดไลบรารีโอเพนซอร์สและเครื่องมือบรรทัดคำสั่ง (CLI) สำหรับ Node.js Bubblewrap พัฒนาโดยทีม Google Chrome เพื่อช่วย นักพัฒนาซอฟต์แวร์สร้าง บิลด์ และลงนามในโปรเจ็กต์ Android ที่เปิด PWA เป็นกิจกรรมบนเว็บที่เชื่อถือได้ (TWA)

ปัจจุบัน Meta Quest Browser ยังไม่รองรับ TWA อย่างเต็มรูปแบบ แต่ตั้งแต่เวอร์ชัน 1.18.0 เป็นต้นไป Bubblewrap รองรับ การแพ็กเกจ PWA สำหรับอุปกรณ์ Meta Quest

โดยจะสร้างไฟล์ APK สากลที่เปิด TWA ในอุปกรณ์ Android ทั่วไปและเบราว์เซอร์ Meta Quest ในอุปกรณ์ Meta Quest ได้

หากคุณติดตั้ง Node.js ไว้แล้ว คุณจะติดตั้ง Bubblewrap CLI ได้ด้วยคำสั่งต่อไปนี้

npm i -g @bubblewrap/cli

เมื่อเรียกใช้ Bubblewrap เป็นครั้งแรก ระบบจะเสนอให้ดาวน์โหลดและติดตั้ง การอ้างอิงภายนอกที่จำเป็นโดยอัตโนมัติ ซึ่งได้แก่ Java Development Kit (JDK) และเครื่องมือบิลด์ Android SDK

หากต้องการสร้างโปรเจ็กต์ Android ที่เข้ากันได้กับ Meta Quest ซึ่งจะรวม PWA ของคุณ ให้เรียกใช้initคำสั่ง ด้วยแฟล็ก --metaquest แล้วทำตามวิซาร์ด

bubblewrap init --manifest="https://your.web.app/manifest.json" --metaquest

เมื่อสร้างโปรเจ็กต์แล้ว ให้สร้างและลงนามโดยเรียกใช้คำสั่งต่อไปนี้

bubblewrap build

ซึ่งจะสร้างไฟล์ชื่อ app-release-signed.apk คุณสามารถติดตั้งไฟล์นี้ในอุปกรณ์ หรือเผยแพร่ไปยัง Meta Quest Store, Google Play Store หรือแพลตฟอร์มอื่นๆ สำหรับการจัดจำหน่ายแอป Android

การแพ็กเกจ PWA ด้วย Oculus Platform Utility

Oculus Platform Utility เป็นเครื่องมือบรรทัดคำสั่งอย่างเป็นทางการที่พัฒนาโดย Meta สำหรับการเผยแพร่แอปสำหรับอุปกรณ์ Oculus Rift และ Meta Quest

นอกจากนี้ ยังช่วยให้คุณแพ็กเกจ PWA สำหรับอุปกรณ์ Meta Quest ด้วยคำสั่ง create-pwa และเผยแพร่ ไปยัง Meta Quest Store และ App Lab ได้ด้วย

ตั้งชื่อไฟล์เอาต์พุตผ่านพารามิเตอร์ -o และเส้นทางไปยัง Android SDK ผ่านพารามิเตอร์ --android-sdk

ชี้เครื่องมือไปยัง URL ที่ใช้งานจริงของไฟล์ Manifest ของเว็บแอปผ่านพารามิเตอร์ --web-manifest-url

หากไม่มีไฟล์ Manifest ใน PWA ที่ใช้งานจริงหรือต้องการลบล้างไฟล์ Manifest ที่ใช้งานจริง คุณก็ยัง สร้าง APK สำหรับ PWA ได้โดยใช้ไฟล์ Manifest ในเครื่องและพารามิเตอร์ --manifest-content-file

หากต้องการให้ไฟล์ Manifest มีความบริสุทธิ์มากที่สุด ให้ใช้พารามิเตอร์ --package-name ที่มีค่าใน รูปแบบชื่อโดเมนย้อนกลับ (เช่น com.company.app.pwa) แทนการเพิ่มฟิลด์ ovr_package_name ที่เป็นกรรมสิทธิ์ลงในไฟล์ Manifest

ovr-platform-util create-pwa -o output.apk --android-sdk ~/bin/android-10 --manifest-content-file manifest.json --package-name com.company.app.pwa

การจัดแพ็กเกจ PWA ด้วย PWABuilder

ในมุมมองของผู้เขียน การใช้ PWABuilder เป็นวิธีที่ง่ายที่สุดและเป็นวิธีที่แนะนำในการแพ็กเกจ PWA สำหรับ Meta Quest ในขณะนี้

PWABuilder เป็นโปรเจ็กต์โอเพนซอร์สที่พัฒนาโดย Microsoft ซึ่งช่วยให้นักพัฒนาแอปแพ็กและลงนามใน PWA เพื่อเผยแพร่ไปยัง Store ต่างๆ ได้ รวมถึง Microsoft Store, Google Play Store, App Store และ Meta Quest Store

การแพ็กเกจ PWA ด้วย PWABuilder ทำได้ง่ายๆ เพียงป้อน URL ของ PWA ป้อน/แก้ไข ข้อมูลเมตาสำหรับแอป แล้วคลิกปุ่มสร้าง

PWABuilder ช่วยให้นักพัฒนาแอปเลือกเครื่องมือที่อยู่เบื้องหลังเพื่อใช้ในการแพ็กเกจ PWA สำหรับอุปกรณ์ Meta Quest ได้

คุณเลือกตัวเลือก Meta Quest เพื่อใช้ยูทิลิตีแพลตฟอร์ม Oculus ได้

ตัวเลือกการแพ็กเกจ PWABuilder

คุณสามารถเลือกตัวเลือก Android เพื่อใช้ Bubblewrap และเลือกช่องทำเครื่องหมายใช้ได้กับ Meta Quest

การแพ็กเกจ PWA ด้วย PWABuilder โดยใช้ Bubblewrap

การติดตั้ง PWA ด้วย ADB

หลังจากสร้างไฟล์ APK แล้ว คุณจะโหลดไฟล์ดังกล่าวลงในอุปกรณ์ Meta Quest โดยใช้ ADB ผ่าน USB หรือ Wi-Fi ได้โดยทำดังนี้

adb install app-release-signed.apk

หากคุณใช้ Bubblewrap CLI เพื่อจัดแพ็กเกจ PWA จะมีคำสั่งนามแฝงที่สะดวกในการ โหลด APK ด้านข้าง

bubblewrap install

แอปที่โหลดจากแหล่งที่ไม่รู้จักจะปรากฏในส่วนแหล่งที่ไม่รู้จักในลิ้นชักแอป

การส่งแอป

การอัปโหลดและส่ง PWA ไปยัง Oculus Store มีอธิบายไว้โดยละเอียดในเอกสารของ Oculus Developer Center

นอกเหนือจากการส่งแอปไปยัง Oculus Store แล้ว นักพัฒนาแอปยังสามารถเผยแพร่แอปผ่านแพลตฟอร์มต่างๆ เช่น SideQuest ให้แก่ผู้บริโภคโดยตรงได้อย่างปลอดภัยโดยไม่ต้องขออนุมัติจากสโตร์ ซึ่งช่วยให้ผู้ให้บริการสามารถส่งแอปไปยังผู้ใช้ปลายทางได้โดยตรง แม้ว่าแอปจะยังอยู่ในช่วงแรกของการพัฒนา เป็นเวอร์ชันทดลอง หรือมีกลุ่มเป้าหมายเฉพาะก็ตาม

การทดสอบแอปแบบหลายแท็บ

หากต้องการทดสอบแอปแบบหลายแท็บ ฉันได้สร้าง PWA สำหรับทดสอบ เล็กๆ ที่แสดงฟีเจอร์ลิงก์ต่างๆ ได้แก่ การเปิดแท็บใหม่ใน PWA, การอยู่ในแท็บปัจจุบัน การเปิดหน้าต่างเบราว์เซอร์ใหม่ และการเปิดใน WebView โดยอยู่ในแท็บปัจจุบัน สร้างสำเนาของแอปนี้ที่ติดตั้งได้ในเครื่องโดยเรียกใช้คำสั่งด้านล่างในเครื่อง

ovr-platform-util create-pwa -o test.apk --android-skd ~/bin/android-10 --web-manifest-url https://tomayac.github.io/oculus-pwa-test/manifest.json --package-name com.example.pwa
adb install test.apk

นี่คือภาพหน้าจอของแอปทดสอบ

SVGcode เวอร์ชัน Oculus

ฉันได้สร้าง PWA เวอร์ชัน Oculus ล่าสุดของฉัน ซึ่งก็คือ SVGcode เพื่อทดลองใช้คำสั่ง คุณดาวน์โหลดไฟล์ APK ที่ได้ output.apk จาก Google ไดรฟ์ของฉันได้ หากต้องการตรวจสอบแพ็กเกจเพิ่มเติม เรามีเวอร์ชันที่คอมไพล์แล้วด้วย ดูวิธีการสร้างได้ที่ package.json

การใช้แอปบน Oculus ทำงานได้ดี รวมถึงความสามารถในการเปิดและบันทึกไฟล์ Oculus Browser ไม่รองรับ File System Access API แต่แนวทางสำรองจะช่วยได้ สิ่งเดียวที่ใช้ไม่ได้คือการซูมด้วยการบีบนิ้ว ผมคาดหวังว่ามันจะทำงานโดยการกด ปุ่มทริกเกอร์บนตัวควบคุมทั้ง 2 อัน แล้วขยับตัวควบคุมไปในทิศทางตรงกันข้าม นอกเหนือจาก นั้น ทุกอย่างก็ทำงานได้ดีและตอบสนองได้ดี ดังที่คุณเห็นในภาพหน้าจอที่ฝังไว้

PWA ของ WebXR แบบ 3 มิติที่สมจริง

การรองรับ PWA ใน Oculus Quest ไม่ได้จำกัดอยู่แค่แอป 2 มิติแบบแบน นักพัฒนาแอปสามารถสร้างประสบการณ์ 3 มิติที่สมจริงสำหรับ VR ได้โดยใช้ WebXR API

สงสัยว่าระบบจัดการพรอมต์ต่างๆ (การติดตั้ง PWA, คำขอสิทธิ์, การแจ้งเตือน) จากภายใน VR อย่างไร หากมี

ต่อไปนี้คือภาพหน้าจอของการทดสอบพรอมต์ User Agent จากImmersive Web Working Group การทดสอบ WebXR

ดังที่เห็น การเข้าสู่โหมด VR ต้องได้รับสิทธิ์จากผู้ใช้ ระบบจะขอสิทธิ์ 1 ครั้งต่อต้นทาง การขอสิทธิ์จะทำให้คุณออกจากโหมดสมจริง ระบบยังไม่รองรับการแจ้งเตือนในขณะนี้

การติดตามการเคลื่อนไหวของมือ

คุณใช้มือโต้ตอบกับ PWA ในโหมดสมจริงได้ด้วย WebXR Hand Input API และ ระบบติดตามการเคลื่อนไหวของมือที่ใช้ AI ของ Meta

ต่อไปนี้คือภาพหน้าจอของตัวอย่างการติดตามมือ จากตัวอย่าง WebXR ของกลุ่มทำงาน Immersive Web

Augmented/Mixed Reality (Passthrough)

ตามที่ประกาศใน Meta Connect 2022 ตอนนี้ Meta Quest Browser รองรับ Augmented Reality (AR) บน WebXR หรือที่เรียกว่า Mixed Reality (MR) ในอุปกรณ์ Meta Quest 2 และ Meta Quest Pro แล้ว

มาดูตัวอย่างเริ่มต้นของ A-Frame ที่แก้ไขเล็กน้อยพร้อมโมเดลที่ลดขนาดลง และซ่อนท้องฟ้าและเครื่องบินสำหรับ Augmented Reality กัน

A-Frame เป็นเฟรมเวิร์กเว็บโอเพนซอร์สสำหรับสร้างประสบการณ์ 3D/VR/AR จากองค์ประกอบ HTML ที่กำหนดเองที่ประกาศได้และนำกลับมาใช้ใหม่ได้ ซึ่งอ่าน เข้าใจ และคัดลอกและวางได้ง่าย

นี่คือภาพหน้าจอของวิดีโอสาธิตนี้บน Meta Quest 2

Meta Quest 2 มีกล้องขาวดำ ดังนั้นฟีเจอร์พาสทรูจึงเป็นภาพระดับสีเทา ส่วน Meta Quest Pro มีกล้องสี

บทสรุป

PWA บน Oculus Quest 2 นั้นสนุกและมีอนาคตไกล ผืนผ้าใบเสมือนจริงที่ไม่มีที่สิ้นสุดซึ่ง ช่วยให้ผู้ใช้ปรับขนาดหน้าจอให้เหมาะกับงานปัจจุบันได้มากที่สุดมีศักยภาพมากมายที่จะ เปลี่ยนวิธีที่เราทำงานในอนาคต แม้ว่าการพิมพ์ใน VR ด้วยการติดตามมือจะยังอยู่ในช่วงเริ่มต้น และสำหรับฉันแล้วยังทำงานได้ไม่น่าเชื่อถือมากนัก แต่ก็ทำงานได้ดีพอที่จะป้อน URL หรือ พิมพ์ข้อความสั้นๆ

สิ่งที่ฉันชอบมากที่สุดเกี่ยวกับ PWA ใน Oculus Quest 2 คือ PWA เหล่านี้เป็นเพียง PWA ทั่วไปที่ สามารถใช้ได้โดยไม่มีการเปลี่ยนแปลงในแท็บเบราว์เซอร์หรือผ่านโปรแกรมห่อหุ้ม APK แบบบางโดยไม่ต้องใช้ API เฉพาะแพลตฟอร์ม การกำหนดเป้าหมายหลายแพลตฟอร์มด้วยโค้ดเดียวกันเป็นเรื่องง่ายกว่าที่เคย ขอให้ PWA ใน VR และ AR บนเว็บประสบความสำเร็จ อนาคตสดใส

คำขอบคุณ

ภาพ Oculus Quest 2 โดย Maximilian Prandstätter ใน Flickr รูปภาพใน Oculus Store ของแอป Instagram, Facebook, Oculus Browser และ Spike รวมถึงภาพ การค้นพบแอปและภาพเคลื่อนไหว การติดตามมือ ได้รับความอนุเคราะห์จาก Meta รูปภาพหลักโดย Arnau Marín i Puig โพสต์นี้ได้รับการตรวจสอบโดย Joe Medley