1. บทนำ
เป้าหมาย
ในโค้ดแล็บนี้ คุณจะได้ทดสอบการรับส่งข้อความในแอปสําหรับแอปแนะนําร้านอาหารบนอุปกรณ์เคลื่อนที่หลายแพลตฟอร์มที่ขับเคลื่อนโดย Flutter และ Cloud Firestore
เมื่อเสร็จแล้ว คุณจะออกแบบและใช้การทดสอบการรับส่งข้อความในแอปเพื่อเพิ่มการมีส่วนร่วมของผู้ใช้สำหรับแอป iOS หรือ Android ได้อย่างมีประสิทธิภาพขณะเขียนโค้ดเพียงเล็กน้อย
สิ่งที่คุณจะได้เรียนรู้
- วิธีใช้การรับส่งข้อความในแอป 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
- ในคอนโซล Firebase ให้คลิกเพิ่มโปรเจ็กต์ แล้วตั้งชื่อโปรเจ็กต์ Firebase เป็น FriendlyEats จดจํารหัสโปรเจ็กต์ Firebase ไว้ (หรือคลิกไอคอนแก้ไขเพื่อตั้งรหัสโปรเจ็กต์ที่ต้องการ)
- ตรวจสอบว่าได้เปิดใช้ Google Analytics สําหรับโปรเจ็กต์แล้ว แล้วคลิกดำเนินการต่อ
- คลิกสร้างโปรเจ็กต์
ยินดีด้วย คุณเพิ่งสร้างโปรเจ็กต์ Firebase โปรเจ็กต์แรก ตอนนี้คุณคลิกชื่อโปรเจ็กต์เพื่อเข้าสู่คอนโซลได้แล้ว
จากนั้นคุณจะดูขั้นตอนการกําหนดค่าและเปิดใช้บริการที่จําเป็นโดยใช้คอนโซล Firebase
เปิดใช้การตรวจสอบสิทธิ์แบบไม่ระบุตัวตน
แม้ว่าการตรวจสอบสิทธิ์จะไม่ใช่ประเด็นหลักของโค้ดแล็บนี้ แต่การตรวจสอบสิทธิ์รูปแบบใดรูปแบบหนึ่งในแอปก็เป็นสิ่งที่สําคัญ คุณจะใช้การเข้าสู่ระบบแบบไม่ระบุตัวตน ซึ่งหมายความว่าระบบจะลงชื่อเข้าใช้ให้ผู้ใช้โดยอัตโนมัติโดยไม่ต้องมีการแจ้ง
วิธีเปิดใช้การลงชื่อเข้าใช้แบบไม่ระบุชื่อ
- ในคอนโซล Firebase ให้ค้นหาการตรวจสอบสิทธิ์ในแถบนำทางด้านซ้าย
- คลิกการตรวจสอบสิทธิ์ แล้วคลิกเริ่มต้นใช้งาน แล้วเลือกแท็บวิธีการลงชื่อเข้าใช้ (หรือไปที่คอนโซล Firebase โดยตรง)
- เปิดใช้ผู้ให้บริการลงชื่อเข้าใช้แบบไม่ระบุชื่อ แล้วคลิกบันทึก
การเปิดใช้การเข้าสู่ระบบแบบไม่ระบุตัวตนช่วยให้แอปพลิเคชันลงชื่อเข้าใช้ผู้ใช้โดยอัตโนมัติเมื่อเข้าถึงแอป ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบการตรวจสอบสิทธิ์แบบไม่ระบุตัวตนสําหรับ Android และ iOS
ตั้งค่า Cloud Firestore
แอปใช้ Cloud Firestore เพื่อบันทึกและรับข้อมูลและคะแนนของร้านอาหาร
วิธีตั้งค่า Cloud Firestore ในโปรเจ็กต์ Firebase มีดังนี้
- ในแผงด้านซ้ายของคอนโซล Firebase ให้ขยายสร้าง แล้วเลือกฐานข้อมูล Firestore
- คลิกสร้างฐานข้อมูล
- ตั้งค่ารหัสฐานข้อมูลเป็น
(default)
- เลือกตำแหน่งสำหรับฐานข้อมูล แล้วคลิกถัดไป
สำหรับแอปจริง คุณควรเลือกตำแหน่งที่อยู่ใกล้กับผู้ใช้ - คลิกเริ่มในโหมดทดสอบ อ่านข้อจำกัดความรับผิดเกี่ยวกับกฎการรักษาความปลอดภัย
ในภายหลังในโค้ดแล็บนี้ คุณจะเพิ่มกฎการรักษาความปลอดภัยเพื่อรักษาความปลอดภัยให้ข้อมูล อย่าเผยแพร่หรือแสดงแอปต่อสาธารณะโดยไม่เพิ่มกฎความปลอดภัยสําหรับฐานข้อมูล - คลิกสร้าง
3. การกําหนดค่า Firebase สําหรับอุปกรณ์เคลื่อนที่โดยเฉพาะ
การเปลี่ยนแปลงโค้ดส่วนใหญ่ที่จําเป็นในการเปิดใช้การรองรับ Firebase ได้รับการเช็คอินไปยังโปรเจ็กต์ที่คุณกําลังทําอยู่แล้ว อย่างไรก็ตาม หากต้องการเพิ่มการรองรับแพลตฟอร์มอุปกรณ์เคลื่อนที่ คุณต้องดำเนินการดังนี้
- ลงทะเบียนแพลตฟอร์มที่ต้องการในโปรเจ็กต์ Firebase
- ดาวน์โหลดไฟล์การกําหนดค่าเฉพาะแพลตฟอร์ม แล้วเพิ่มลงในโค้ด
ในไดเรกทอรีระดับบนสุดของแอป Flutter จะมีไดเรกทอรีย่อยชื่อ ios
และ android
ไดเรกทอรีเหล่านี้มีไฟล์การกำหนดค่าเฉพาะแพลตฟอร์มสำหรับ iOS และ Android ตามลำดับ
กำหนดค่า iOS
ในคอนโซล Firebase ให้เลือกการตั้งค่าโปรเจ็กต์ที่ด้านบนของแถบนําทางด้านซ้าย แล้วคลิกปุ่ม iOS ในส่วนแอปของคุณในหน้าทั่วไป
คุณควรเห็นกล่องโต้ตอบต่อไปนี้
- ค่าที่สําคัญซึ่งต้องระบุคือรหัสชุด iOS คุณจะได้รับรหัสกลุ่มโดยทำตาม 3 ขั้นตอนถัดไป
- ในเครื่องมือบรรทัดคำสั่ง ให้ไปที่ไดเรกทอรีระดับบนสุดของแอป Flutter
- เรียกใช้คำสั่ง
open ios/Runner.xcworkspace
เพื่อเปิด Xcode
- ใน Xcode ให้คลิก Runner ระดับบนสุดในแผงด้านซ้ายเพื่อแสดงแท็บทั่วไปในแผงด้านขวาดังที่แสดง คัดลอกค่าตัวระบุกลุ่ม
- กลับไปที่กล่องโต้ตอบ Firebase แล้ววางตัวระบุแพ็กเกจที่คัดลอกลงในช่องรหัสกลุ่ม iOS แล้วคลิกลงทะเบียนแอป
- ใน Firebase ให้ทําตามวิธีการเพื่อดาวน์โหลดไฟล์การกําหนดค่า
GoogleService-Info.plist
- กลับไปที่ Xcode โปรดสังเกตว่า Runner มีโฟลเดอร์ย่อยชื่อ Runner เช่นกัน (แสดงในรูปภาพก่อนหน้า)
- ลากไฟล์
GoogleService-Info.plist
(ที่เพิ่งดาวน์โหลด) ไปยังโฟลเดอร์ย่อย Runner - คลิกเสร็จสิ้นในกล่องโต้ตอบที่ปรากฏใน Xcode
- กลับไปที่คอนโซล Firebase ในขั้นตอนการตั้งค่า ให้คลิกถัดไป ข้ามขั้นตอนที่เหลือ แล้วกลับไปที่หน้าหลักของคอนโซล Firebase
คุณได้กําหนดค่าแอป Flutter สําหรับ iOS เรียบร้อยแล้ว
กำหนดค่า Android
- ในคอนโซล Firebase ให้เลือกการตั้งค่าโปรเจ็กต์ที่ด้านบนของแถบนำทางด้านซ้าย แล้วคลิกปุ่ม Android ในส่วนแอปของคุณในหน้าทั่วไป
คุณควรเห็นกล่องโต้ตอบต่อไปนี้
- ค่าที่สําคัญซึ่งต้องระบุคือชื่อแพ็กเกจ Android คุณจะได้รับชื่อแพ็กเกจเมื่อทำตาม 2 ขั้นตอนต่อไปนี้
- เปิดไฟล์
android/app/src/main/AndroidManifest.xml
ในไดเรกทอรีแอป Flutter - ในองค์ประกอบ
manifest
ให้ค้นหาค่าสตริงของแอตทริบิวต์package
ค่านี้คือชื่อแพ็กเกจ Android (เช่นcom.yourcompany.yourproject
) ให้คัดลอกค่านี้ - ในกล่องโต้ตอบ Firebase ให้วางชื่อแพ็กเกจที่คัดลอกลงในช่องชื่อแพ็กเกจ Android
- คุณไม่จำเป็นต้องมีใบรับรองการแก้ไขข้อบกพร่อง SHA-1 สำหรับโค้ดแล็บนี้ เว้นว่างไว้
- คลิกลงทะเบียนแอป
- ใน Firebase ให้ทําตามวิธีการเพื่อดาวน์โหลดไฟล์การกําหนดค่า
google-services.json
- ไปที่ไดเรกทอรีแอป Flutter แล้วย้ายไฟล์
google-services.json
(ที่คุณเพิ่งดาวน์โหลด) ไปยังไดเรกทอรีandroid/app
- กลับไปที่คอนโซล Firebase แล้วข้ามขั้นตอนที่เหลือ แล้วกลับไปที่หน้าหลักของคอนโซล Firebase
- มีการเช็คอินการกำหนดค่า Gradle ทั้งหมดแล้ว หากแอปยังทำงานอยู่ ให้ปิดและสร้างใหม่เพื่อให้ Gradle ติดตั้งข้อกําหนดเบื้องต้น
คุณได้กําหนดค่าแอป Flutter สําหรับ Android เรียบร้อยแล้ว
4. เรียกใช้แอปในเครื่อง
คุณพร้อมที่จะเริ่มทํางานกับแอปแล้ว ก่อนอื่น ให้เรียกใช้แอปในเครื่อง ตอนนี้คุณสามารถเรียกใช้แอปในแพลตฟอร์มใดก็ได้ที่คุณกำหนดค่าไว้ (และคุณมีอุปกรณ์และโปรแกรมจำลองสำหรับแพลตฟอร์มนั้น)
ดูว่าอุปกรณ์ใดพร้อมใช้งานด้วยคำสั่งต่อไปนี้
flutter devices
เอาต์พุตของคำสั่งก่อนหน้าจะมีลักษณะดังนี้ โดยขึ้นอยู่กับอุปกรณ์ที่ใช้ได้
ตอนนี้ให้เรียกใช้แอปในเครื่องด้วยคําสั่งต่อไปนี้
flutter run
ตอนนี้คุณควรเห็นสําเนา FriendlyEats ที่เชื่อมต่อกับโปรเจ็กต์ Firebase
แอปจะเชื่อมต่อกับโปรเจ็กต์ Firebase โดยอัตโนมัติและลงชื่อเข้าใช้โดยที่คุณไม่รู้ตัวในฐานะผู้ใช้ที่ไม่ระบุตัวตน
5. สร้างและทดสอบข้อความแรก
ผสานรวมการรับส่งข้อความในแอป Firebase เข้ากับแอป
การผสานรวมพื้นฐานของการรับส่งข้อความในแอปเป็นแบบไม่ต้องเขียนโค้ดโดยสิ้นเชิง สิ่งที่คุณต้องทำคือเพิ่มข้อกําหนดเบื้องต้น แล้วคุณก็พร้อมใช้งาน เพิ่มข้อกําหนดต่อไปนี้ลงในไฟล์ pubspec.yaml
dependencies:
# ...
firebase_in_app_messaging: ^0.4.0
# ...
เขียนข้อความในคอนโซล Firebase
เมื่อเพิ่ม FIAM ลงในแอปแล้ว ให้เขียนข้อความที่จะทริกเกอร์เมื่อเปิดแอปเป็นครั้งแรก
วิธีเขียนข้อความแรก
- ในส่วนการมีส่วนร่วมของคอนโซล Firebase ให้คลิกการรับส่งข้อความในแอป
- คลิกสร้างแคมเปญแรกในแผงการรับส่งข้อความในแอป
มาเขียนข้อความแบบโมดอลพื้นฐานเพื่อตรวจสอบว่าการผสานรวมทํางาน คุณปรับแต่งข้อความได้ตามต้องการ ไม่ว่าจะเป็นการเพิ่มรูปภาพ ปุ่ม หรือเปลี่ยนสี
อย่าลืมกำหนดเป้าหมายแอปที่ต้องการทดสอบ โดยคุณอาจมีทั้ง iOS และ Android หรืออย่างใดอย่างหนึ่ง ทั้งนี้ขึ้นอยู่กับเส้นทางการผสานรวมที่คุณใช้
เราต้องการตรวจสอบว่ามีทริกเกอร์ข้อความเมื่อแอปเปิดขึ้นเพื่อให้การกําหนดค่าการกําหนดเวลาเริ่มต้นทํางานที่นี่
เมื่อตั้งเวลาเสร็จแล้ว เราจะเผยแพร่ข้อความได้ คลิก "ตรวจสอบ" แล้วคุณจะเห็นข้อมูลดังต่อไปนี้
ดูข้อความในแอป
จากนั้นให้ถอนการติดตั้งแอปแล้วติดตั้งอีกครั้ง แล้วคุณจะเห็นข้อความที่คุณสร้างขึ้นแสดงขึ้นเมื่อเปิดแอป ยินดีด้วย คุณเพิ่งส่งข้อความในแอปครั้งแรก ในขั้นตอนถัดไป คุณจะได้เรียนรู้วิธีเพิ่มเหตุการณ์ Analytics เพื่อทริกเกอร์ข้อความในแอปตามการดําเนินการของผู้ใช้ในแอป
6. ผสานรวม Firebase Analytics เพื่อทริกเกอร์ข้อความขั้นสูง
ผสานรวม Firebase Analytics เข้ากับแอป
ตอนนี้เราจะเพิ่มเหตุการณ์ Analytics เมื่อผู้ใช้คลิกร้านอาหาร เพื่อทําความเข้าใจวิธีที่ผู้ใช้โต้ตอบกับแอป และเรียกให้ข้อความในแอปแสดงตามการกระทําของผู้ใช้
- เพิ่ม Firebase Analytics Dependency ไปยัง Flutter ใน
pubspec.yaml
dependencies:
# ...
firebase_analytics: ^1.0.1
# ...
- นําเข้าข้อมูลวิเคราะห์ใน
home_page.dart
import 'package:firebase_analytics/firebase_analytics.dart';
- เพิ่มอินสแตนซ์ของ 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();
}
- เริ่มเหตุการณ์การวิเคราะห์เมื่อผู้ใช้คลิกการ์ดร้านอาหารใน
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 ให้กลับไปที่ข้อความในแอปและแก้ไขแคมเปญที่มีอยู่
ตอนนี้ให้เปลี่ยนส่วนการกําหนดเวลาเพื่อทริกเกอร์ข้อความจากเหตุการณ์ใหม่
จากตรงนั้น เราสามารถเผยแพร่การเปลี่ยนแปลงได้โดยคลิกปุ่ม "ตรวจสอบ"
ทดสอบทริกเกอร์ในแอป
ตอนนี้คุณควรเรียกใช้แอปด้วย
flutter run
และเมื่อคลิกร้านอาหาร คุณควรเห็นข้อความในแอป
7. สร้างแคมเปญ FIAM+ABT
เริ่มต้นด้วยเป้าหมาย
แอป Friendlyeats ของเราดูดีมากอยู่แล้ว แต่เราต้องมีรีวิวบ้างเพื่อให้แอปมีประโยชน์ รีวิวเหล่านี้จะมาจากผู้ใช้ Friendlyeats ดังนั้นเรามาหาวิธีกระตุ้นให้ผู้ใช้เขียนรีวิวกัน
ก่อนอื่นมากำหนดเหตุการณ์ Conversion
เนื่องจากเราต้องการดูว่าผู้ใช้รีวิวร้านอาหารหรือไม่ เราจึงเพิ่มเหตุการณ์ Analytics เพื่อวัดพฤติกรรมนี้
- นําเข้า 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);
}
- ตอนนี้มาทริกเกอร์เหตุการณ์ใน
_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 โดยไม่จำเป็นต้องเขียนโค้ด
วิธีเขียนการทดสอบการรับส่งข้อความในแอปครั้งแรก
- ในส่วนมีส่วนร่วมของคอนโซล Firebase ให้คลิกการทดสอบ A/B
- คลิกสร้างการทดสอบ แล้วเลือกว่าต้องการทดสอบการรับส่งข้อความในแอป ซึ่งจะนำคุณไปยังเครื่องมือสร้างการทดสอบที่แสดงอยู่ด้านล่าง
ตั้งชื่อและใส่คำอธิบาย (ไม่บังคับ) ให้กับการทดสอบ
- ขั้นตอนถัดไปคือการสร้างข้อความในแอปต่างๆ ที่จะส่งไปยังผู้ใช้ในการทดสอบ ข้อความในแอปฉบับแรกที่เราจะเขียนขึ้นคือ "เส้นฐาน" หรือกลุ่มควบคุมของการทดสอบ เราอาจใช้ข้อความ "โปรดเขียนรีวิว" แบบง่ายๆ นี้
- เมื่อเรามีข้อมูลพื้นฐานแล้ว เราจะเขียนข้อความในแอปซึ่งให้รหัสคูปองแก่ผู้ใช้เพื่อกระตุ้นให้เขียนรีวิว ตัวอย่างด้านล่างนี้แสดงไม่ครบถ้วน แต่ชื่อข้อความคือ "รับคูปอง เขียนรีวิว" และเนื้อหาข้อความคือ "ครั้งหน้าที่คุณมาที่ Burrito Cafe ให้ใช้รหัสคูปอง FRIENDLYEATS-15 ที่จุดชำระเงินเพื่อรับส่วนลด 15% สำหรับคำสั่งซื้อ และอย่าลืมเขียนรีวิวหลังใช้งานนะ" เราหวังว่าการอัปเดตนี้จะกระตุ้นให้ผู้ใช้บางรายแวะไปที่ Burrito Cafe
ในขั้นตอนถัดไป เราจะกําหนดเป้าหมายแอปและตั้งค่าการแสดงผล นี่เป็นเปอร์เซ็นต์ของผู้ใช้ที่มีสิทธิ์ (ผู้ใช้ที่ตรงกับเงื่อนไขการกําหนดเป้าหมาย/ทริกเกอร์) ซึ่งจะเห็นข้อความรายการใดรายการหนึ่งในการทดสอบ เราสามารถตั้งค่านี้เป็น 100% ได้เลยสําหรับตัวอย่างนี้ เนื่องจากเราต้องการให้ผู้ใช้ทุกคนเห็นทั้งกลุ่มฐานหรือตัวแปรคูปอง หากต้องการมีกลุ่มควบคุมที่ไม่ได้แสดงข้อความในแอปเลย คุณสามารถลดเปอร์เซ็นต์การแสดงผลนี้ได้
- ถัดไป คุณจะต้องกําหนดเป้าหมายบางอย่างสําหรับการทดสอบ นี่คือผลลัพธ์ของการทดสอบที่เราต้องการวัด เราจะตั้งค่านี้เป็นเหตุการณ์ Analytics
review_success
ที่เรากําหนดไว้ในส่วนก่อนหน้า เนื่องจากเราต้องการดูผลที่ข้อความในแอปต่างๆ มีต่อผู้ใช้ที่เขียนรีวิวร้านอาหาร - สําหรับกําหนดเวลา เราจะให้แคมเปญเริ่มทํางานทันที และตั้งค่า
click_restaurant
เป็นเงื่อนไขการทริกเกอร์ เพื่อให้ผู้ใช้เห็นข้อความในแอป 1 ใน 2 รายการเมื่อคลิกร้านอาหาร
- ขั้นตอนสุดท้ายคือตรวจสอบการทดสอบ แล้วกดเริ่มการทดสอบ จากนั้นเราก็นั่งรอรับข้อมูลจากเวอร์ชันทดลองได้เลย
ดูการเก็บรวบรวมข้อมูลแบบเรียลไทม์
เมื่อเราเริ่มการทดสอบแล้ว ผู้ใช้ FriendlyEats จะเห็นข้อความในแอป 1 ใน 2 ข้อความที่เราเขียนขึ้นแบบสุ่มเมื่อคลิกร้านอาหาร ซึ่งก็คือข้อความฐานหรือข้อความตัวแปร ซึ่งจะแบ่งผู้ใช้ออกเป็น 2 กลุ่มตามข้อความที่ผู้ใช้เห็น จากนั้นเราจะดูในคอนโซล Firebase (ในส่วนการทดสอบ A/B อีกครั้ง) เพื่อเปรียบเทียบข้อมูลวิเคราะห์แบบเรียลไทม์จากทั้ง 2 กลุ่ม ระบบอาจใช้เวลาสักครู่ในการรวบรวมข้อมูล เนื่องจากเราต้องรอให้ผู้ใช้เห็นข้อความในแอปและดำเนินการตามนั้น ผลลัพธ์ของคุณอาจมีลักษณะดังนี้เมื่อมีข้อมูลเพียงพอ
ในกรณีนี้ ตัวแปรมีประสิทธิภาพดีกว่ากลุ่มฐานอย่างมีนัยสําคัญ เราจึงเลือกเปิดตัวตัวแปร ซึ่งจะเปิดตัวข้อความในแอปพร้อมคูปองให้ผู้ใช้ทุกคน
8. ขอแสดงความยินดี
ยินดีด้วย คุณสร้างและเรียกใช้การทดสอบการรับส่งข้อความในแอปครั้งแรกเรียบร้อยแล้ว ตอนนี้คุณสามารถทำการทดสอบในแอปของคุณเอง และใช้ผลลัพธ์เพื่อทําให้แคมเปญการรับส่งข้อความในแอปมีประสิทธิภาพมากขึ้น
ขั้นตอนถัดไป
ลองดู Codelab เหล่านี้...
อ่านเพิ่มเติม
นี่เป็นเพียงตัวอย่างของสิ่งที่ทำได้ด้วยการรับส่งข้อความในแอป Firebase และ Firebase A/B Testing โปรดดูข้อมูลต่อไปนี้หากต้องการข้อมูลเพิ่มเติม
- สร้างการทดสอบการรับส่งข้อความด้วยการทดสอบ A/B
- สร้างการทดสอบการกำหนดค่าระยะไกลด้วยการทดสอบ A/B
- สํารวจกรณีการใช้งานการรับส่งข้อความในแอป Firebase
- ปรับแต่งข้อความการรับส่งข้อความในแอป Firebase