การทดสอบการรับส่งข้อความในแอปครั้งแรก

1. บทนำ

เป้าหมาย

ในโค้ดแล็บนี้ คุณจะได้ทดสอบการรับส่งข้อความในแอปสําหรับแอปแนะนําร้านอาหารบนอุปกรณ์เคลื่อนที่หลายแพลตฟอร์มที่ขับเคลื่อนโดย Flutter และ Cloud Firestore

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

b284c40acc99b994.png

สิ่งที่คุณจะได้เรียนรู้

  • วิธีใช้การรับส่งข้อความในแอป Firebase (FIAM) ในแอป Flutter
  • วิธีปรับแต่งลักษณะที่ปรากฏของข้อความในแอป
  • วิธีออกแบบการทดสอบการรับส่งข้อความในแอปและใช้งานในแอป
  • วิธีตีความผลการทดสอบการรับส่งข้อความในแอป

คุณต้องการเรียนรู้อะไรจาก Codelab นี้

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

การรับส่งข้อความในแอป Firebase

การรับส่งข้อความในแอป Firebase (FIAM) ช่วยให้คุณดึงดูดผู้ใช้ที่ใช้งานแอปอยู่ด้วยการส่งข้อความที่กําหนดเป้าหมายและตามบริบทซึ่งกระตุ้นให้ผู้ใช้ดําเนินการในแอปที่สําคัญ เช่น ผ่านด่านในเกม ซื้อไอเทม หรือติดตามเนื้อหา

Firebase A/B Testing

Firebase A/B Testing (ABT) ที่ทำงานด้วย Google Optimize ช่วยให้คุณเพิ่มประสิทธิภาพประสบการณ์การใช้งานแอปได้โดยทำให้การเรียกใช้ วิเคราะห์ และปรับขนาดการทดสอบผลิตภัณฑ์และการทดสอบทางการตลาดเป็นไปอย่างง่ายดาย ฟีเจอร์นี้จะมอบความสามารถอันทรงพลังในการทดสอบการเปลี่ยนแปลงที่เกิดขึ้นกับ UI, ฟีเจอร์ หรือแคมเปญการมีส่วนร่วมของแอป เพื่อดูว่าการเปลี่ยนแปลงสร้างความแตกต่างอย่างชัดเจนได้จริงๆ หรือไม่ก่อนที่จะเปิดตัวในวงกว้าง

สิ่งที่ต้องมี

หากไม่คุ้นเคยกับ Flutter หรือ Firestore มากนัก ให้ทำตามขั้นตอนใน Codelab Firebase for Flutter ก่อน

คุณเรียกใช้ Codelab นี้โดยใช้อุปกรณ์ต่อไปนี้ได้

  • อุปกรณ์จริง (Android หรือ iOS) ที่เชื่อมต่อกับคอมพิวเตอร์และตั้งค่าเป็นโหมดนักพัฒนาแอป
  • เครื่องจำลอง iOS (ต้องติดตั้งเครื่องมือ Xcode)
  • โปรแกรมจำลอง Android (ต้องตั้งค่าใน Android Studio)

นอกจากสิ่งข้างต้นแล้ว คุณจะต้องมีสิ่งต่อไปนี้ด้วย

  • เบราว์เซอร์ที่คุณเลือก เช่น Chrome
  • IDE หรือเครื่องมือแก้ไขข้อความที่คุณเลือก เช่น Android Studio หรือ VS Code ที่กําหนดค่าด้วยปลั๊กอิน Dart และ Flutter เราขอแนะนำให้ใช้ VS Code กับ Flutter
  • Flutter เวอร์ชันเสถียรล่าสุด (หรือเวอร์ชันเบต้าหากคุณชอบความท้าทาย)
  • บัญชี Google เช่น บัญชี Gmail สำหรับสร้างและจัดการโปรเจ็กต์ Firebase
  • โค้ดตัวอย่างของโค้ดแล็บ ดูวิธีรับรหัสในขั้นตอนถัดไป

2. ตั้งค่า

รับรหัส

โคลนที่เก็บ GitHub จากบรรทัดคำสั่ง

git clone https://github.com/FirebaseExtended/codelab-friendlyeats-flutter.git friendlyeats-flutter

ระบบจะโคลนโค้ดตัวอย่างไปยังไดเรกทอรี friendlyeats-flutter จากนี้ไป โปรดเรียกใช้คําสั่งจากไดเรกทอรีนี้

cd friendlyeats-flutter

จากนั้นเปลี่ยนเป็นไดเรกทอรี codelab และตรวจสอบสาขา fiam-abt

git checkout fiam-abt

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

นําเข้าแอปเริ่มต้น

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

สร้างโปรเจ็กต์ Firebase

  1. ในคอนโซล Firebase ให้คลิกเพิ่มโปรเจ็กต์ แล้วตั้งชื่อโปรเจ็กต์ Firebase เป็น FriendlyEats จดจํารหัสโปรเจ็กต์ Firebase ไว้ (หรือคลิกไอคอนแก้ไขเพื่อตั้งรหัสโปรเจ็กต์ที่ต้องการ)
  2. ตรวจสอบว่าได้เปิดใช้ Google Analytics สําหรับโปรเจ็กต์แล้ว แล้วคลิกดำเนินการต่อ
  3. คลิกสร้างโปรเจ็กต์

ยินดีด้วย คุณเพิ่งสร้างโปรเจ็กต์ Firebase โปรเจ็กต์แรก ตอนนี้คุณคลิกชื่อโปรเจ็กต์เพื่อเข้าสู่คอนโซลได้แล้ว

จากนั้นคุณจะดูขั้นตอนการกําหนดค่าและเปิดใช้บริการที่จําเป็นโดยใช้คอนโซล Firebase

เปิดใช้การตรวจสอบสิทธิ์แบบไม่ระบุตัวตน

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

วิธีเปิดใช้การลงชื่อเข้าใช้แบบไม่ระบุชื่อ

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

fee6c3ebdf904459.png

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

ตั้งค่า Cloud Firestore

แอปใช้ Cloud Firestore เพื่อบันทึกและรับข้อมูลและคะแนนของร้านอาหาร

วิธีตั้งค่า Cloud Firestore ในโปรเจ็กต์ Firebase มีดังนี้

  1. ในแผงด้านซ้ายของคอนโซล Firebase ให้ขยายสร้าง แล้วเลือกฐานข้อมูล Firestore
  2. คลิกสร้างฐานข้อมูล
  3. ตั้งค่ารหัสฐานข้อมูลเป็น (default)
  4. เลือกตำแหน่งสำหรับฐานข้อมูล แล้วคลิกถัดไป
    สำหรับแอปจริง คุณควรเลือกตำแหน่งที่อยู่ใกล้กับผู้ใช้
  5. คลิกเริ่มในโหมดทดสอบ อ่านข้อจำกัดความรับผิดเกี่ยวกับกฎการรักษาความปลอดภัย
    ในภายหลังในโค้ดแล็บนี้ คุณจะเพิ่มกฎการรักษาความปลอดภัยเพื่อรักษาความปลอดภัยให้ข้อมูล อย่าเผยแพร่หรือแสดงแอปต่อสาธารณะโดยไม่เพิ่มกฎความปลอดภัยสําหรับฐานข้อมูล
  6. คลิกสร้าง

3. การกําหนดค่า Firebase สําหรับอุปกรณ์เคลื่อนที่โดยเฉพาะ

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

  • ลงทะเบียนแพลตฟอร์มที่ต้องการในโปรเจ็กต์ Firebase
  • ดาวน์โหลดไฟล์การกําหนดค่าเฉพาะแพลตฟอร์ม แล้วเพิ่มลงในโค้ด

ในไดเรกทอรีระดับบนสุดของแอป Flutter จะมีไดเรกทอรีย่อยชื่อ ios และ android ไดเรกทอรีเหล่านี้มีไฟล์การกำหนดค่าเฉพาะแพลตฟอร์มสำหรับ iOS และ Android ตามลำดับ

a35458e5c0dd0acf.png กำหนดค่า iOS

ในคอนโซล Firebase ให้เลือกการตั้งค่าโปรเจ็กต์ที่ด้านบนของแถบนําทางด้านซ้าย แล้วคลิกปุ่ม iOS ในส่วนแอปของคุณในหน้าทั่วไป

คุณควรเห็นกล่องโต้ตอบต่อไปนี้

c42139f18fb9a2ee.png

  1. ค่าที่สําคัญซึ่งต้องระบุคือรหัสชุด iOS คุณจะได้รับรหัสกลุ่มโดยทำตาม 3 ขั้นตอนถัดไป
  1. ในเครื่องมือบรรทัดคำสั่ง ให้ไปที่ไดเรกทอรีระดับบนสุดของแอป Flutter
  2. เรียกใช้คำสั่ง open ios/Runner.xcworkspace เพื่อเปิด Xcode
  1. ใน Xcode ให้คลิก Runner ระดับบนสุดในแผงด้านซ้ายเพื่อแสดงแท็บทั่วไปในแผงด้านขวาดังที่แสดง คัดลอกค่าตัวระบุกลุ่ม

9733e26be329f329.png

  1. กลับไปที่กล่องโต้ตอบ Firebase แล้ววางตัวระบุแพ็กเกจที่คัดลอกลงในช่องรหัสกลุ่ม iOS แล้วคลิกลงทะเบียนแอป
  1. ใน Firebase ให้ทําตามวิธีการเพื่อดาวน์โหลดไฟล์การกําหนดค่า GoogleService-Info.plist
  2. กลับไปที่ Xcode โปรดสังเกตว่า Runner มีโฟลเดอร์ย่อยชื่อ Runner เช่นกัน (แสดงในรูปภาพก่อนหน้า)
  3. ลากไฟล์ GoogleService-Info.plist (ที่เพิ่งดาวน์โหลด) ไปยังโฟลเดอร์ย่อย Runner
  4. คลิกเสร็จสิ้นในกล่องโต้ตอบที่ปรากฏใน Xcode
  5. กลับไปที่คอนโซล Firebase ในขั้นตอนการตั้งค่า ให้คลิกถัดไป ข้ามขั้นตอนที่เหลือ แล้วกลับไปที่หน้าหลักของคอนโซล Firebase

คุณได้กําหนดค่าแอป Flutter สําหรับ iOS เรียบร้อยแล้ว

84e0b3199bef6d8a.pngกำหนดค่า Android

  1. ในคอนโซล Firebase ให้เลือกการตั้งค่าโปรเจ็กต์ที่ด้านบนของแถบนำทางด้านซ้าย แล้วคลิกปุ่ม Android ในส่วนแอปของคุณในหน้าทั่วไป

คุณควรเห็นกล่องโต้ตอบต่อไปนี้ 8254fc299e82f528.png

  1. ค่าที่สําคัญซึ่งต้องระบุคือชื่อแพ็กเกจ Android คุณจะได้รับชื่อแพ็กเกจเมื่อทำตาม 2 ขั้นตอนต่อไปนี้
  1. เปิดไฟล์ android/app/src/main/AndroidManifest.xml ในไดเรกทอรีแอป Flutter
  2. ในองค์ประกอบ manifest ให้ค้นหาค่าสตริงของแอตทริบิวต์ package ค่านี้คือชื่อแพ็กเกจ Android (เช่น com.yourcompany.yourproject) ให้คัดลอกค่านี้
  3. ในกล่องโต้ตอบ Firebase ให้วางชื่อแพ็กเกจที่คัดลอกลงในช่องชื่อแพ็กเกจ Android
  4. คุณไม่จำเป็นต้องมีใบรับรองการแก้ไขข้อบกพร่อง SHA-1 สำหรับโค้ดแล็บนี้ เว้นว่างไว้
  5. คลิกลงทะเบียนแอป
  6. ใน Firebase ให้ทําตามวิธีการเพื่อดาวน์โหลดไฟล์การกําหนดค่า google-services.json
  7. ไปที่ไดเรกทอรีแอป Flutter แล้วย้ายไฟล์ google-services.json (ที่คุณเพิ่งดาวน์โหลด) ไปยังไดเรกทอรี android/app
  8. กลับไปที่คอนโซล Firebase แล้วข้ามขั้นตอนที่เหลือ แล้วกลับไปที่หน้าหลักของคอนโซล Firebase
  9. มีการเช็คอินการกำหนดค่า Gradle ทั้งหมดแล้ว หากแอปยังทำงานอยู่ ให้ปิดและสร้างใหม่เพื่อให้ Gradle ติดตั้งข้อกําหนดเบื้องต้น

คุณได้กําหนดค่าแอป Flutter สําหรับ Android เรียบร้อยแล้ว

4. เรียกใช้แอปในเครื่อง

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

ดูว่าอุปกรณ์ใดพร้อมใช้งานด้วยคำสั่งต่อไปนี้

flutter devices

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

7d44d7c0837b3e8e.png

ตอนนี้ให้เรียกใช้แอปในเครื่องด้วยคําสั่งต่อไปนี้

flutter run

ตอนนี้คุณควรเห็นสําเนา FriendlyEats ที่เชื่อมต่อกับโปรเจ็กต์ Firebase

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

5. สร้างและทดสอบข้อความแรก

ผสานรวมการรับส่งข้อความในแอป Firebase เข้ากับแอป

การผสานรวมพื้นฐานของการรับส่งข้อความในแอปเป็นแบบไม่ต้องเขียนโค้ดโดยสิ้นเชิง สิ่งที่คุณต้องทำคือเพิ่มข้อกําหนดเบื้องต้น แล้วคุณก็พร้อมใช้งาน เพิ่มข้อกําหนดต่อไปนี้ลงในไฟล์ pubspec.yaml

dependencies:
  # ...
  firebase_in_app_messaging: ^0.4.0
  # ...

เขียนข้อความในคอนโซล Firebase

เมื่อเพิ่ม FIAM ลงในแอปแล้ว ให้เขียนข้อความที่จะทริกเกอร์เมื่อเปิดแอปเป็นครั้งแรก

วิธีเขียนข้อความแรก

  1. ในส่วนการมีส่วนร่วมของคอนโซล Firebase ให้คลิกการรับส่งข้อความในแอป
  2. คลิกสร้างแคมเปญแรกในแผงการรับส่งข้อความในแอป

4fec02395f89f2a8.png

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

59845004afc26847.png

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

3f1eb7a327a50265.png

เราต้องการตรวจสอบว่ามีทริกเกอร์ข้อความเมื่อแอปเปิดขึ้นเพื่อให้การกําหนดค่าการกําหนดเวลาเริ่มต้นทํางานที่นี่

8dc5cea0a4c79008.png

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

5bbc987bf63d1f48.png

ดูข้อความในแอป

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

6. ผสานรวม Firebase Analytics เพื่อทริกเกอร์ข้อความขั้นสูง

ผสานรวม Firebase Analytics เข้ากับแอป

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

  1. เพิ่ม Firebase Analytics Dependency ไปยัง Flutter ใน pubspec.yaml
dependencies:
  # ...
  firebase_analytics: ^1.0.1
  # ...
  1. นําเข้าข้อมูลวิเคราะห์ใน home_page.dart
import 'package:firebase_analytics/firebase_analytics.dart';
  1. เพิ่มอินสแตนซ์ของ Firebase Analytics ลงในคลาส HomePage ใน home_page.dart
class HomePage extends StatefulWidget {
  static const route = '/';
  static FirebaseAnalytics analytics = FirebaseAnalytics();
  HomePage({Key key}) : super(key: key);
  @override
  _HomePageState createState() => _HomePageState();
}
  1. เริ่มเหตุการณ์การวิเคราะห์เมื่อผู้ใช้คลิกการ์ดร้านอาหารใน home_page.dart
onRestaurantPressed: (id) async {
  await HomePage.analytics.logEvent(name: 'click_restaurant');
  Navigator.pushNamed(context,
                      RestaurantPage.route,
                      arguments: RestaurantPageArguments(id: id));
})

แก้ไขข้อความให้ทริกเกอร์เหตุการณ์การวิเคราะห์

เมื่อเรามีเหตุการณ์ "click_restaurant" แล้ว ให้ทริกเกอร์ข้อความในแอปตามเหตุการณ์ดังกล่าวแทนที่จะเป็นเมื่อผู้ใช้เปิดแอป

ในคอนโซล Firebase ให้กลับไปที่ข้อความในแอปและแก้ไขแคมเปญที่มีอยู่

d1fdc539dfcc6375.png

ตอนนี้ให้เปลี่ยนส่วนการกําหนดเวลาเพื่อทริกเกอร์ข้อความจากเหตุการณ์ใหม่

8e12d8f1f8f166dd.png

จากตรงนั้น เราสามารถเผยแพร่การเปลี่ยนแปลงได้โดยคลิกปุ่ม "ตรวจสอบ"

4f7d6bd2960b3ef7.png

ทดสอบทริกเกอร์ในแอป

ตอนนี้คุณควรเรียกใช้แอปด้วย

flutter run

และเมื่อคลิกร้านอาหาร คุณควรเห็นข้อความในแอป

a11febda5526263.png

7. สร้างแคมเปญ FIAM+ABT

เริ่มต้นด้วยเป้าหมาย

แอป Friendlyeats ของเราดูดีมากอยู่แล้ว แต่เราต้องมีรีวิวบ้างเพื่อให้แอปมีประโยชน์ รีวิวเหล่านี้จะมาจากผู้ใช้ Friendlyeats ดังนั้นเรามาหาวิธีกระตุ้นให้ผู้ใช้เขียนรีวิวกัน

ก่อนอื่นมากำหนดเหตุการณ์ Conversion

เนื่องจากเราต้องการดูว่าผู้ใช้รีวิวร้านอาหารหรือไม่ เราจึงเพิ่มเหตุการณ์ Analytics เพื่อวัดพฤติกรรมนี้

  1. นําเข้า Firebase Analytics เช่นเดียวกับก่อนหน้านี้ แล้วเพิ่มอินสแตนซ์ของ Analytics ไปยัง RestaurantPage ใน restaurant_page.dart
class RestaurantPage extends StatefulWidget {
  static const route = '/restaurant';
  static FirebaseAnalytics analytics = FirebaseAnalytics();
  final String _restaurantId;
  RestaurantPage({Key key, @required String restaurantId})
      : _restaurantId = restaurantId,
        super(key: key);
  @override
  _RestaurantPageState createState() =>
      _RestaurantPageState(restaurantId: _restaurantId);
}
  1. ตอนนี้มาทริกเกอร์เหตุการณ์ใน _onCreateReviewPressed เมื่อบันทึกรีวิวใน restaurant_page.dart
 if (newReview != null) {
   // Log successful review
   await RestaurantPage.analytics.logEvent(name: 'review_success');
   // Save the review
   return data.addReview(restaurantId: _restaurant.id, review: newReview);
 }

กำหนดค่าการทดสอบ A/B ในคอนโซล Firebase

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

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

วิธีเขียนการทดสอบการรับส่งข้อความในแอปครั้งแรก

  1. ในส่วนมีส่วนร่วมของคอนโซล Firebase ให้คลิกการทดสอบ A/B
  2. คลิกสร้างการทดสอบ แล้วเลือกว่าต้องการทดสอบการรับส่งข้อความในแอป ซึ่งจะนำคุณไปยังเครื่องมือสร้างการทดสอบที่แสดงอยู่ด้านล่าง

a792dfd4f82fee9c.png

ตั้งชื่อและใส่คำอธิบาย (ไม่บังคับ) ให้กับการทดสอบ

  1. ขั้นตอนถัดไปคือการสร้างข้อความในแอปต่างๆ ที่จะส่งไปยังผู้ใช้ในการทดสอบ ข้อความในแอปฉบับแรกที่เราจะเขียนขึ้นคือ "เส้นฐาน" หรือกลุ่มควบคุมของการทดสอบ เราอาจใช้ข้อความ "โปรดเขียนรีวิว" แบบง่ายๆ นี้

50e3eb946c56501a.png

  1. เมื่อเรามีข้อมูลพื้นฐานแล้ว เราจะเขียนข้อความในแอปซึ่งให้รหัสคูปองแก่ผู้ใช้เพื่อกระตุ้นให้เขียนรีวิว ตัวอย่างด้านล่างนี้แสดงไม่ครบถ้วน แต่ชื่อข้อความคือ "รับคูปอง เขียนรีวิว" และเนื้อหาข้อความคือ "ครั้งหน้าที่คุณมาที่ Burrito Cafe ให้ใช้รหัสคูปอง FRIENDLYEATS-15 ที่จุดชำระเงินเพื่อรับส่วนลด 15% สำหรับคำสั่งซื้อ และอย่าลืมเขียนรีวิวหลังใช้งานนะ" เราหวังว่าการอัปเดตนี้จะกระตุ้นให้ผู้ใช้บางรายแวะไปที่ Burrito Cafe

bed9182080bebb41.png

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

bd96bf5798d227f1.png

  1. ถัดไป คุณจะต้องกําหนดเป้าหมายบางอย่างสําหรับการทดสอบ นี่คือผลลัพธ์ของการทดสอบที่เราต้องการวัด เราจะตั้งค่านี้เป็นเหตุการณ์ Analytics review_success ที่เรากําหนดไว้ในส่วนก่อนหน้า เนื่องจากเราต้องการดูผลที่ข้อความในแอปต่างๆ มีต่อผู้ใช้ที่เขียนรีวิวร้านอาหาร eb89d3b9f89ab43b.png
  2. สําหรับกําหนดเวลา เราจะให้แคมเปญเริ่มทํางานทันที และตั้งค่า click_restaurant เป็นเงื่อนไขการทริกเกอร์ เพื่อให้ผู้ใช้เห็นข้อความในแอป 1 ใน 2 รายการเมื่อคลิกร้านอาหาร

c57be430d41bfcad.png

  1. ขั้นตอนสุดท้ายคือตรวจสอบการทดสอบ แล้วกดเริ่มการทดสอบ จากนั้นเราก็นั่งรอรับข้อมูลจากเวอร์ชันทดลองได้เลย

566af8bace30c67.png

ดูการเก็บรวบรวมข้อมูลแบบเรียลไทม์

เมื่อเราเริ่มการทดสอบแล้ว ผู้ใช้ FriendlyEats จะเห็นข้อความในแอป 1 ใน 2 ข้อความที่เราเขียนขึ้นแบบสุ่มเมื่อคลิกร้านอาหาร ซึ่งก็คือข้อความฐานหรือข้อความตัวแปร ซึ่งจะแบ่งผู้ใช้ออกเป็น 2 กลุ่มตามข้อความที่ผู้ใช้เห็น จากนั้นเราจะดูในคอนโซล Firebase (ในส่วนการทดสอบ A/B อีกครั้ง) เพื่อเปรียบเทียบข้อมูลวิเคราะห์แบบเรียลไทม์จากทั้ง 2 กลุ่ม ระบบอาจใช้เวลาสักครู่ในการรวบรวมข้อมูล เนื่องจากเราต้องรอให้ผู้ใช้เห็นข้อความในแอปและดำเนินการตามนั้น ผลลัพธ์ของคุณอาจมีลักษณะดังนี้เมื่อมีข้อมูลเพียงพอ

8fa8a0edcd8a8ad4.png

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

8. ขอแสดงความยินดี

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

ขั้นตอนถัดไป

ลองดู Codelab เหล่านี้...

อ่านเพิ่มเติม

นี่เป็นเพียงตัวอย่างของสิ่งที่ทำได้ด้วยการรับส่งข้อความในแอป Firebase และ Firebase A/B Testing โปรดดูข้อมูลต่อไปนี้หากต้องการข้อมูลเพิ่มเติม

เอกสารอ้างอิง