ฟีเจอร์แฟล็กใน Braze: วิธีการปล่อยฟีเจอร์ ทดสอบ และประสานงาน

Close view of a ceramic wall switch plate with three toggles, the middle one lit green and tied with a blank linen tag, beside a eucalyptus sprig, showing a feature flag with one named owner.

ฟีเจอร์แฟล็ก (Feature Flags) ของ Braze ช่วยให้คุณเปิดหรือปิดฟีเจอร์สำหรับผู้ใช้ที่เลือกได้โดยไม่ต้องส่งโค้ดใหม่หรือรอการอัปเดตผ่าน App Store แฟล็กสามารถควบคุมได้ด้วยเปอร์เซ็นต์การเปิดใช้งาน (Rollout percentage) ขั้นตอนใน Canvas หรือการทดสอบ (Experiment) การเลือกพื้นผิวควบคุมเพียงหนึ่งอย่างต่อหนึ่งแฟล็กและตกลงกันว่าใครเป็นผู้ดูแล จะช่วยให้การปล่อยฟีเจอร์เป็นไปอย่างคาดการณ์ได้

‍

ประเด็นสำคัญ

  • ฟีเจอร์แฟล็กจะแยกการส่งโค้ดออกจากการเปิดใช้งานฟีเจอร์ ทำให้ทีมผลิตภัณฑ์และทีมการตลาดสามารถควบคุมการเข้าถึงฟีเจอร์ได้จากแดชบอร์ด
  • กำหนดพื้นผิวควบคุมให้แต่ละแฟล็กเพียงหนึ่งอย่างเท่านั้น ได้แก่ แถบเลื่อนการเปิดใช้งาน (Rollout slider) ขั้นตอน Feature Flag ใน Canvas หรือการทดสอบ Feature Flag
  • กฎต่างๆ จะถูกประเมินจากบนลงล่าง และผู้ใช้จะได้รับสิทธิ์ตามกฎข้อแรกที่ตรงกับเงื่อนไขของตน
  • การเข้าสู่ขั้นตอนใน Canvas จะแทนที่การตั้งค่าการเปิดใช้งานเริ่มต้น ดังนั้นการเปิดใช้งานทั่วไปและการใช้ Canvas ในแฟล็กเดียวกันอาจมีความขัดแย้งกันได้
  • การทดสอบ (Experiments) จำเป็นต้องมีการบันทึกการแสดงผล (Impressions) รองรับกลุ่มผู้ใช้สูงสุดเก้ากลุ่ม และไม่รวมผู้ใช้ที่อยู่ในกลุ่มควบคุมส่วนกลาง (Global Control Group)
  • แฟล็กจะรีเฟรชเมื่อเริ่มเซสชัน และการรีเฟรชด้วยตนเองจะถูกจำกัดความถี่ไว้ที่หนึ่งครั้งทุกห้านาที (อาจมีการเปลี่ยนแปลง) ดังนั้นควรหลีกเลี่ยงการใช้กับอัปเดตที่สำคัญและต้องการความรวดเร็ว

‍

ฟีเจอร์แฟล็กของ Braze เปลี่ยนแปลงการปล่อยฟีเจอร์อย่างไรบ้าง?

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

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

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

‍

พื้นผิวควบคุมใดที่ควรดูแลแต่ละแฟล็ก?

แฟล็กสามารถเปิดใช้งานได้ในสามจุด ได้แก่ แถบเลื่อนการเปิดใช้งาน ขั้นตอน Feature Flag ใน Canvas หรือการทดสอบ Feature Flag แต่ละจุดตอบโจทย์ที่แตกต่างกัน และทางเลือกที่คุณตัดสินใจจะส่งผลต่อทุกสิ่งที่ตามมา

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

‍

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

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

‍

การเปิดใช้งานแบบหลายกฎตัดสินใจอย่างไรว่าใครจะได้รับแฟล็ก?

กฎต่างๆ จะถูกประเมินจากบนลงล่างตามลำดับที่ระบุไว้ ผู้ใช้จะได้รับสิทธิ์ตามกฎข้อแรกที่ตรงกับเงื่อนไขของตน หากไม่ตรงกับกฎข้อใดเลย กฎเริ่มต้นที่ชื่อว่า "ทุกคนที่เหลือ" (Everyone Else) จะเป็นตัวตัดสิน

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

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

‍

ทำไมคุณถึงไม่ควรใช้การเปิดตัว (Rollout) ร่วมกับ Canvas หรือการทดลอง (Experiment)?

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

เหตุผลคือวิธีการทำงานของส่วนควบคุมเหล่านี้ ขั้นตอนใน Canvas จะเข้ามาแทนที่การตั้งค่า Rollout เริ่มต้น ดังนั้น Canvas อาจเปิดใช้งาน Flag ให้กับผู้ใช้ที่ไม่มีคุณสมบัติตามเกณฑ์ของ Rollout ได้ ส่งผลให้ตัวควบคุมทั้งสองอาจให้ผลลัพธ์ที่ขัดแย้งกันสำหรับผู้ใช้คนเดียวกัน

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

วิธีแก้ไขคือการจัดการตามขั้นตอน เมื่อ Flag ถูกย้ายไปยังส่วนควบคุมใหม่ ให้รีเซ็ตส่วนควบคุมเดิมก่อนเสมอ และตรวจสอบโปรไฟล์ทดสอบในแท็บ Feature Flags Eligibility

‍

คุณจะประสานงานระหว่างทีมผลิตภัณฑ์และทีมการตลาดด้วย Canvas สำหรับ Feature Flag ได้อย่างไร?

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

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

มีพฤติกรรมที่บันทึกไว้สองประการที่คุณควรนำไปใส่ไว้ในคู่มือการปฏิบัติงาน (Runbook):

  1. หากผู้ใช้เข้าสู่ Canvas สองรายการที่อ้างอิงถึง Flag เดียวกัน พวกเขาจะได้รับค่าจาก Canvas รายการล่าสุดที่พวกเขาเข้าไป
  2. เมื่อ Canvas ถูกหยุด ทำการเก็บถาวร หรือถูกลบขั้นตอนออกไป ผู้ใช้ที่เคยผ่านขั้นตอนนั้นจะไม่ได้รับ Flag หรือคุณสมบัติของ Flag นั้นอีกต่อไป

‍

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

‍

การทดลองด้วย Feature Flag ต้องการอะไรจากแอปของคุณบ้าง?

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

การทดลองรองรับกลุ่มได้สูงสุดเก้ากลุ่ม ได้แก่ กลุ่มควบคุมหนึ่งกลุ่มและกลุ่มทดสอบสูงสุดแปดกลุ่ม นอกจากนี้ Braze ยังแนะนำไม่ให้เปลี่ยนการกระจายกลุ่มหลังจากเริ่มการทดลองไปแล้ว

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

เหตุการณ์ Conversion ที่คุณเลือกจะต้องมีอยู่จริงก่อนเริ่มการทดลอง หากโมเดลเหตุการณ์ของคุณยังไม่สมบูรณ์ ให้เริ่มต้นด้วยคู่มือของเราเรื่อง การติดตามเหตุการณ์ของผู้ใช้ใน Brazeสำหรับแนวคิดในการทดสอบโดยเฉพาะ โพสต์ของเราเรื่อง การทำ A/B testing สำหรับแคมเปญอีเมลใน Braze ใช้หลักการเดียวกันนี้กับช่องทางอื่น

อีกประเด็นที่ควรทราบคือ ผู้ใช้ที่อยู่ใน Global Control Group จะไม่สามารถเปิดใช้งานฟีเจอร์แฟล็ก (feature flags) ได้ ดังนั้นจึงไม่สามารถเข้าร่วมการทดสอบฟีเจอร์แฟล็กได้ หากคุณต้องพึ่งพากลุ่มควบคุม (holdouts) ในส่วนอื่น คู่มือของเราเรื่อง การวัดผล Decisioning Studio ด้วยกลุ่มควบคุม (holdout group) เป็นแหล่งข้อมูลที่มีประโยชน์สำหรับการเปรียบเทียบผลลัพธ์อย่างแม่นยำ

‍

ฟีเจอร์แฟล็กบนอุปกรณ์มีความสดใหม่แค่ไหน?

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

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

Braze ยังชี้ให้เห็นว่าฟีเจอร์แฟล็กต้องอาศัยการเชื่อมต่อของอุปกรณ์ในการซิงค์ข้อมูล จึงแนะนำให้หลีกเลี่ยงการใช้ช่องทางนี้สำหรับการอัปเดตที่สำคัญและต้องการความรวดเร็ว ดังนั้น ฟีเจอร์แฟล็กจึงเป็นเครื่องมือที่ดีสำหรับการทยอยปล่อยฟีเจอร์ (staged release) แต่ไม่เหมาะสำหรับการดำเนินการที่ต้องเกิดขึ้นในเวลาที่กำหนดเป๊ะๆ

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

SDK เวอร์ชันใหม่ๆ ได้เพิ่มการสมัครรับข้อมูลเหตุการณ์ (event subscription) เข้ามาแทนที่การสมัครรับข้อมูลอัปเดตแบบเดิม Braze ได้ระบุรายละเอียดเรื่องนี้ไว้สำหรับ Web SDK 7.0.0 ขึ้นไป และ Android SDK 44.0.0 ขึ้นไป ดังนั้นโปรดตรวจสอบว่าแอปของคุณใช้เวอร์ชันใด

‍

คุณควรตกลงเรื่องอะไรบ้างก่อนที่จะสร้างฟีเจอร์แฟล็กตัวแรก?

มีข้อเท็จจริง 4 ประการที่ควรตกลงกันให้เรียบร้อยตั้งแต่เนิ่นๆ เพราะแต่ละเรื่องแก้ไขได้ยากในภายหลัง

ข้อเท็จจริงที่บันทึกไว้เหตุผลที่สำคัญFlag IDไม่สามารถเปลี่ยน ID ได้ในภายหลังตกลงรูปแบบการตั้งชื่อก่อนที่จะสร้างฟีเจอร์แฟล็กตัวแรกProperty payloadคุณสมบัติจำกัดไว้ที่ 10,000 ตัวอักษรเก็บเนื้อหาขนาดใหญ่ไว้ในระบบของคุณเองแล้วส่งเฉพาะการอ้างอิงไปให้SDK initialisationฟีเจอร์แฟล็กไม่สามารถใช้จำกัดผู้ใช้ที่ถูกสร้างหรือติดตามใน Braze ได้จัดการเรื่องความยินยอมและการติดตามแยกต่างหากActive flag countขีดจำกัดของแผนคือ 10 ฟีเจอร์แฟล็กที่ใช้งานอยู่ต่อหนึ่ง Workspace ในเวอร์ชันฟรี และ 110 ในเวอร์ชันเสียเงินฟีเจอร์แฟล็กจะนับว่า "ใช้งานอยู่" ตราบใดที่การเปิดใช้งาน (rollout) มากกว่าศูนย์ หรืออยู่ใน Canvas หรือการทดลองที่กำลังทำงานอยู่ ดังนั้นควรปิดฟีเจอร์แฟล็กที่ใช้งานเสร็จแล้ว

‍

ในเรื่องการตั้งชื่อ Braze แนะนำให้ใช้รูปแบบ พฤติกรรม-ผลิตภัณฑ์-ฟีเจอร์ โดยให้ตั้งค่าพฤติกรรมเป็นปิด (disabled) ไว้เป็นค่าเริ่มต้นในโค้ดของคุณ และหลีกเลี่ยงการใช้คำว่า "disabled" ในชื่อ

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

นอกจาก Braze แล้ว เรายังต้องหาข้อสรุปในประเด็นที่ว่า ใครบ้างที่มีสิทธิ์เปลี่ยนแปลงสถานะของ Flag ในระบบ Production เพราะ Flag เปรียบเสมือนสวิตช์ควบคุมการทำงานจริง จึงควรมีระเบียบปฏิบัติในการเปลี่ยนแปลงเช่นเดียวกับการ Deploy ระบบ

ประเด็นเรื่อง SDK เกี่ยวข้องกับข้อมูลส่วนบุคคล การที่ผู้ใช้จะถูกติดตามหรือไม่และอย่างไรนั้น เป็นเรื่องของการขอความยินยอม (Consent) ซึ่งทีมกฎหมายและทีมรักษาความปลอดภัยของคุณจะต้องเป็นผู้พิจารณา และบทความนี้ไม่ได้ครอบคลุมถึงประเด็นดังกล่าว

‍

สมมติว่าหากร้านค้าปลีกต้องการเปิดตัวโปรแกรมสะสมคะแนน (Loyalty) พวกเขาจะมีลำดับขั้นตอนอย่างไร?

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

  1. ทีมงานสร้าง Flag ขึ้นมาโดยระบุ ID ที่ชัดเจน พร้อมคำอธิบายที่ระบุชื่อผู้รับผิดชอบและเงื่อนไขในการปิดใช้งาน โดยในช่วงแรกจะยังไม่มีการเปิดใช้งาน (Rollout อยู่ที่ศูนย์)
  2. แอปพลิเคชันจะถูกส่งออกไปพร้อมกับโค้ดที่อ่านค่า Flag นี้ โดยหน้าจอ Loyalty จะถูกซ่อนไว้เป็นค่าเริ่มต้น และมีการสมัครรับข้อมูลเหตุการณ์ (Event Subscription) เพื่อให้หน้าจออัปเดตการแสดงผลได้อย่างเหมาะสมเมื่อมีการเปลี่ยนสถานะ Flag
  3. ขั้นตอน Canvas Feature Flag จะเปิดใช้งาน Flag สำหรับกลุ่มผู้ทดสอบภายใน ทีมงานจะตรวจสอบสิทธิ์บนโปรไฟล์ทดสอบและยืนยันว่าหน้าจอดังกล่าวปรากฏขึ้นจริง
  4. Canvas จะถูกขยายขอบเขตไปยังกลุ่มเป้าหมายที่จะเปิดตัวจริง และใช้ Canvas ตัวเดิมในการส่งประกาศแจ้งเตือน ทำให้ทีมผลิตภัณฑ์และทีมการตลาดใช้การกำหนดกลุ่มเป้าหมายเดียวกัน
  5. ก่อนที่จะหยุดการทำงานของ Canvas ทีมงานต้องตัดสินใจว่าจะจัดการกับผู้ใช้กลุ่มนี้อย่างไรต่อไป เพราะการหยุดขั้นตอนดังกล่าวจะทำให้ Flag ถูกถอดออกจากผู้ใช้ที่เคยใช้งานอยู่ ดังนั้นจึงต้องมีการทดสอบการเปลี่ยนผ่านกับกลุ่มผู้ใช้ขนาดเล็กก่อน
  6. เมื่อทุกคนอัปเกรดเรียบร้อยแล้วและไม่จำเป็นต้องมีตัวเลือกในการปิดใช้งานอีกต่อไป ทีมงานจะลบ Flag ออกจากโค้ดและจัดเก็บข้อมูลนั้นไว้

‍

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

‍

สิ่งนี้เชื่อมโยงกับโปรแกรม Braze ส่วนที่เหลือของคุณอย่างไร?

Flag จะทำงานได้ดีที่สุดเมื่อมีการใช้กลุ่มเป้าหมายร่วมกันแทนที่จะสร้างขึ้นใหม่ Braze ช่วยให้คุณสามารถกรองกลุ่มเป้าหมายและส่งข้อความตามสถานะการเปิดใช้งาน Flag ของผู้ใช้ได้ และยังป้องกันไม่ให้กลุ่มเป้าหมายอ้างอิงถึง Flag อื่นๆ เพื่อหลีกเลี่ยงปัญหาการเรียกซ้ำ (Recursion) บทความของเราเรื่อง การแบ่งกลุ่มเป้าหมายเพื่อการมีส่วนร่วมที่ดีขึ้นใน Braze ครอบคลุมถึงวิธีการจัดการคำจำกัดความเหล่านั้นให้เป็นระเบียบ

ในส่วนของงานวิศวกรรม Flag เป็นหนึ่งในหลายวิธีที่นักพัฒนาสามารถขยายขีดความสามารถของ Braze ได้ ภาพรวมของเราเกี่ยวกับ วิธีที่นักพัฒนาสามารถขยายฟังก์ชันการทำงานของ Braze จะแสดงให้เห็นว่า Flag มีบทบาทอย่างไรเมื่อเทียบกับวิธีอื่นๆ

ในฐานะพันธมิตรด้านการติดตั้งใช้งาน Braze ทาง CustomerIK แนะนำให้กำหนดจุดควบคุม Flag เพียงจุดเดียว ระบุชื่อผู้รับผิดชอบที่ชัดเจน และจัดทำแผนการเปลี่ยนผ่านเป็นลายลักษณ์อักษรก่อนที่จะเริ่มเปิดใช้งานกับผู้ใช้รายแรก

‍

คำถามที่พบบ่อย
‍

1. Feature Flag สามารถเปิดใช้งานกับกลุ่มผู้ใช้ขนาดเล็กก่อนได้หรือไม่?

ทำได้ครับ คุณสามารถสร้างกลุ่มผู้ใช้ (Segment) สำหรับกลุ่มเป้าหมายนั้นๆ แล้วเปิดใช้งานฟีเจอร์แฟล็กสำหรับกลุ่มดังกล่าวได้เลย Braze มีเอกสารแนะนำวิธีการนี้สำหรับการกำหนดเป้าหมายผ่านที่อยู่อีเมล, User ID หรือแอตทริบิวต์โปรไฟล์อื่นๆ

2. จะเกิดอะไรขึ้นกับผู้ใช้เมื่อมีการเปลี่ยนเปอร์เซ็นต์การปล่อยฟีเจอร์ (Rollout percentage)?

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

3. ฟีเจอร์แฟล็กสามารถหยุดการติดตามผู้ใช้ของ Braze SDK ได้หรือไม่?

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

4. ฟีเจอร์แฟล็กใช้งานได้หรือไม่ในขณะที่ผู้ใช้ออฟไลน์?

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

5. SDK สามารถรีเฟรชแฟล็กได้บ่อยแค่ไหน?

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

‍

แหล่งข้อมูล

‍

CustomerIK คือพันธมิตรด้านการติดตั้งใช้งาน Braze ที่เชี่ยวชาญทั้งในด้านการเริ่มต้นใช้งาน การเชื่อมต่อทางเทคนิค การดำเนินงานด้านการตลาด และการจัดการข้อมูลลูกค้า

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

‍

ค่ากำหนด

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

ยอมรับคุกกี้ทั้งหมด
ยอมรับคุกกี้ทั้งหมด

รายการเหล่านี้จำเป็นสำหรับการเปิดใช้งานฟังก์ชันพื้นฐานของเว็บไซต์

เปิดใช้งานตลอดเวลา

รายการเหล่านี้ใช้เพื่อแสดงโฆษณาที่เกี่ยวข้องกับคุณและความสนใจของคุณมากขึ้น

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

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

ขอบคุณ! เราได้รับข้อมูลที่คุณส่งมาแล้ว!
โอ๊ะ! เกิดข้อผิดพลาดบางอย่างขณะส่งแบบฟอร์ม