ภาพรวมของแท็บที่กำหนดเองใน Android

Custom Tab เป็นฟีเจอร์ในเบราว์เซอร์ Android ที่ช่วยนักพัฒนาแอปในการเพิ่มประสบการณ์การใช้งานเบราว์เซอร์ที่ปรับแต่งเองภายในแอปได้โดยตรง

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

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

แท็บที่กำหนดเองทําอะไรได้บ้าง

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

ฉันจะปรับแต่งอะไรได้บ้างในแท็บที่กำหนดเอง

ค่อนข้างมาก แท็บที่กำหนดเองช่วยให้คุณควบคุมเบราว์เซอร์ Chrome และประสบการณ์ของผู้ใช้ได้อย่างละเอียด คุณเปิดแท็บที่กำหนดเองภายในแอปโดยใช้ Intent เมื่อเรียก Intent นี้ คุณสามารถเพิ่มแอตทริบิวต์จำนวนหนึ่งลงใน CustomTabIntent เพื่อให้ได้ประสบการณ์การใช้งานที่คุณต้องการ การปรับแต่งบางอย่างที่คุณเพิ่มได้แสดงอยู่ที่นี่

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

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

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

คุณทดสอบได้แล้วตอนนี้ด้วยตัวอย่างใน GitHub

ฉันควรใช้แท็บที่กำหนดเองเมื่อใด

ไม่มีวิธีที่ "ถูกต้อง" เพียงวิธีเดียวในการโหลดเนื้อหาเว็บ ในบางสถานการณ์ WebView จะเป็นเทคโนโลยีที่เหมาะสม เช่น หากคุณโฮสต์เนื้อหาของคุณเองภายในแอปแต่เพียงผู้เดียว หรือหากต้องการแทรก JavaScript จากแอปโดยตรง หากแอปของคุณนําผู้ใช้ไปยัง URL ภายนอกโดเมน สถานะที่แชร์ในตัวในแท็บที่กําหนดเองอาจเป็นตัวเลือกที่ดีกว่า ความแข็งแกร่งอื่นๆ ของแท็บที่กำหนดเองได้แก่:

  1. ความปลอดภัย: แท็บที่กำหนดเองใช้ Google Safe Browsing เพื่อปกป้องผู้ใช้และอุปกรณ์จากเว็บไซต์ที่เป็นอันตราย
  2. การเพิ่มประสิทธิภาพ
    1. อุ่นเบราว์เซอร์ไว้ล่วงหน้าในเบื้องหลัง โดยไม่แย่งทรัพยากรจากแอปพลิเคชัน
    2. เพิ่มความเร็วในการโหลดหน้าเว็บด้วยการโหลด URL แบบคาดเดาล่วงหน้า
  3. การจัดการอายุการใช้งาน: แอปที่เปิดใช้งานแท็บที่กำหนดเองจะไม่ถูกนำออกโดยระบบระหว่างการใช้งานแท็บ แต่จะยกระดับความสำคัญไปที่ระดับ "เบื้องหน้า"
  4. กล่องคุกกี้และรูปแบบสิทธิ์ที่แชร์เพื่อให้ผู้ใช้ไม่ต้องลงชื่อเข้าใช้เว็บไซต์ที่เชื่อมต่ออยู่แล้ว หรือให้สิทธิ์อีกครั้งหลังจากที่ให้ไปแล้ว
  5. ฟีเจอร์เบราว์เซอร์ เช่น การป้อนข้อความอัตโนมัติเพื่อให้กรอกแบบฟอร์มได้ง่ายขึ้น พร้อมให้ใช้งานทันที
  6. ผู้ใช้สามารถกลับไปที่แอปได้โดยใช้ปุ่มย้อนกลับที่ผสานรวมไว้

แท็บที่กำหนดเองกับกิจกรรมในเว็บซึ่งเชื่อถือได้

กิจกรรมในเว็บซึ่งเชื่อถือได้จะขยายโปรโตคอลแท็บที่กำหนดเองและแชร์ประโยชน์ส่วนใหญ่ของโปรโตคอลดังกล่าว แต่แทนที่จะให้ UI ที่ปรับแต่งได้ ฟีเจอร์นี้ช่วยให้นักพัฒนาแอปเปิดแท็บเบราว์เซอร์ได้โดยไม่ต้องมี UI ใดๆ เลย เราขอแนะนําให้นักพัฒนาแอปที่ต้องการเปิด Progressive Web App ของตนเองในโหมดเต็มหน้าจอภายในแอป Android ของตนเอง

แท็บที่กำหนดเองพร้อมใช้งานที่ใดบ้าง

แท็บที่กำหนดเองคือฟีเจอร์ที่เบราว์เซอร์ต่างๆ บนแพลตฟอร์ม Android รองรับ Chrome เปิดตัวฟีเจอร์นี้ในเวอร์ชัน 45 เบราว์เซอร์ Android ส่วนใหญ่รองรับโปรโตคอลนี้

เราต้องการความคิดเห็น คำถาม และคำแนะนำเกี่ยวกับโปรเจ็กต์นี้ จึงขอแนะนำให้คุณรายงานปัญหาใน crbug.com และถามคำถามใน Twitter @ChromiumDev

เริ่มต้นใช้งาน

นอกจากการสาธิตใน GitHub แล้ว ยังมีคําแนะนํามากมายที่จะช่วยให้คุณเริ่มต้นใช้งานแท็บที่กําหนดเองได้

หากมีข้อสงสัย โปรดดูแท็ก chrome-custom-tabs ใน StackOverflow