การรับส่งข้อความในแอป Firebase ช่วยให้คุณสร้าง กำหนดค่า และกำหนดเป้าหมายการโต้ตอบของผู้ใช้แบบริชได้โดยใช้ความพยายามในการเขียนโค้ดเพียงเล็กน้อยหรือไม่ต้องเขียนโค้ดเลย โดยใช้ประโยชน์จากความสามารถของ Google Analytics ที่พร้อมใช้งาน เพื่อเชื่อมโยงเหตุการณ์การรับส่งข้อความกับลักษณะ กิจกรรม และตัวเลือกของผู้ใช้จริง การผสานรวม SDK เพิ่มเติมจะช่วยให้คุณปรับแต่งลักษณะการทำงานของข้อความในแอปได้มากยิ่งขึ้น โดยจะตอบสนองเมื่อผู้ใช้โต้ตอบกับข้อความ ทริกเกอร์เหตุการณ์ข้อความนอกเฟรมเวิร์ก และอนุญาตให้ผู้ใช้ควบคุมการแชร์ข้อมูลส่วนบุคคลที่เกี่ยวข้องกับการโต้ตอบในการรับส่งข้อความFirebase In-App MessagingAnalytics
ตอบสนองเมื่อผู้ใช้โต้ตอบกับข้อความในแอป
การดำเนินการช่วยให้คุณใช้ข้อความในแอปเพื่อนำผู้ใช้ไปยังเว็บไซต์หรือหน้าจอที่เฉพาะเจาะจงในแอปได้
โค้ดของคุณสามารถตอบสนองต่อการโต้ตอบพื้นฐาน (การคลิกและการปิด) การแสดงผล (การดูข้อความที่ยืนยันแล้ว) และข้อผิดพลาดในการแสดงผลที่ SDK บันทึกและยืนยันแล้ว ตัวอย่างเช่น เมื่อข้อความของคุณถูกสร้างขึ้นเป็นโมดัลการ์ด คุณอาจต้องการติดตามและติดตามผล URL 2 รายการที่ผู้ใช้คลิกในการ์ด
ใช้ DisplayDelegate เพื่อจัดการการโต้ตอบกับการ์ด
คุณสามารถลงทะเบียน DisplayDelegate ของการรับส่งข้อความในแอปที่จะเรียกใช้เมื่อใดก็ตามที่มีการโต้ตอบกับข้อความในแอป หากต้องการทำเช่นนี้ ให้ใช้คลาสตามโปรโตคอล InAppMessagingDisplayDelegate และตั้งค่าเป็นพร็อพเพอร์ตี้ Delegate ในอินสแตนซ์ InAppMessaging
สมมติอีกครั้งว่าคุณต้องการติดตามลิงก์ที่ผู้ใช้คลิกในข้อความรูปแบบการ์ด ให้กำหนดคลาสที่ใช้เมธอด messageClicked ตามโปรโตคอล DisplayDelegate ซึ่งจะช่วยให้คุณเข้าถึงลิงก์ที่ผู้ใช้คลิก
Swift
โปรดดูข้อมูลอ้างอิง DisplayDelegate ของ Swift สำหรับชุดเมธอดเรียกกลับที่สามารถใช้ได้และพารามิเตอร์ของเมธอด รวมถึง InAppMessagingAction
// In CardActionFiamDelegate.swift
class CardActionFiamDelegate : NSObject, InAppMessagingDisplayDelegate {
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
// ...
}
func messageDismissed(_ inAppMessage: InAppMessagingDisplayMessage,
dismissType: InAppMessagingDismissType) {
// ...
}
func impressionDetected(for inAppMessage: InAppMessagingDisplayMessage) {
// ...
}
func displayError(for inAppMessage: InAppMessagingDisplayMessage, error: Error) {
// ...
}
}
// In AppDelegate.swift
// Register the delegate with the InAppMessaging instance
let myFiamDelegate = CardActionFiamDelegate()
InAppMessaging.inAppMessaging().delegate = myFiamDelegate;
Objective-C
โปรดดูข้อมูลอ้างอิง DisplayDelegate ของ Objective-C สำหรับชุดเมธอดเรียกกลับที่สามารถใช้ได้และพารามิเตอร์ของเมธอด รวมถึง FIRInAppMessagingDisplayMessage
// In CardActionFiamDelegate.h
@interface CardActionFiamDelegate : NSObject <FIRInAppMessagingDisplayDelegate>
@end
// In CardActionFiamDelegate.m
@implementation CardActionFiamDelegate
- (void)displayErrorForMessage:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage
error:(nonnull NSError *)error {
// ...
}
- (void)impressionDetectedForMessage:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage {
// ...
}
- (void)messageClicked:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage {
// ...
}
- (void)messageDismissed:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage
dismissType:(FIRInAppMessagingDismissType)dismissType {
// ...
}
@end
// In AppDelegate.m
CardActionFiamDelegate *myFiamDelegate = [CardActionFiamDelegate new];
[FIRInAppMessaging inAppMessaging].delegate = myFiamDelegate;
ทริกเกอร์ข้อความในแอปโดยใช้โปรแกรม
Firebase In-App Messaging โดยค่าเริ่มต้นช่วยให้คุณทริกเกอร์ข้อความในแอปด้วย เหตุการณ์ Google Analytics สำหรับ Firebase ได้โดยไม่ต้องผสานรวมเพิ่มเติม นอกจากนี้ คุณยังทริกเกอร์เหตุการณ์ด้วยตนเองโดยใช้โปรแกรมด้วยทริกเกอร์ที่ใช้โปรแกรมได้ของ Firebase In-App Messaging SDK
ในเครื่องมือสร้างแคมเปญการรับส่งข้อความในแอป ให้สร้างแคมเปญใหม่หรือเลือกแคมเปญที่มีอยู่ แล้วในขั้นตอนการกำหนดเวลาของเวิร์กโฟลว์เครื่องมือสร้าง ให้จดบันทึกรหัสเหตุการณ์ของเหตุการณ์การรับส่งข้อความที่สร้างขึ้นใหม่หรือที่มีอยู่ เมื่อจดบันทึกแล้ว ให้ติดตั้งแอปเพื่อทริกเกอร์เหตุการณ์ตามรหัส
Swift
…
// somewhere in the app's code
InAppMessaging.inAppMessaging().triggerEvent("exampleTrigger");
Objective-C
…
// somewhere in the app's code
[[FIRInAppMessaging inAppMessaging] triggerEvent:@"exampleTrigger"];
ใช้ข้อมูลเมตาที่กำหนดเองของแคมเปญ
ในแคมเปญ คุณสามารถระบุข้อมูลที่กำหนดเองในชุดคู่คีย์/ค่า เมื่อผู้ใช้โต้ตอบกับข้อความ คุณจะใช้ข้อมูลนี้เพื่อแสดงรหัสโปรโมชันได้ เป็นต้น
Swift
class CardActionDelegate : NSObject, InAppMessagingDisplayDelegate {
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
// Get data bundle from the inapp message
let appData = inAppMessage.appData
// ...
}
}
Objective-C
@implementation ExampleCardActionDelegate
- (void)messageClicked:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage {
NSDictionary *appData = inAppMessage.appData;
NSLog(@"Message data: %@", appData);
// ...
}
@end
ปิดใช้ข้อความในแอปชั่วคราว
โดยค่าเริ่มต้น Firebase In-App Messaging จะแสดงข้อความเมื่อใดก็ตามที่ตรงตามเงื่อนไขการทริกเกอร์ ไม่ว่าแอปจะมีสถานะปัจจุบันเป็นอย่างไร หากต้องการระงับ
การแสดงข้อความด้วยเหตุผลใดก็ตาม เช่น เพื่อหลีกเลี่ยงการขัดจังหวะ
ลำดับหน้าจอการประมวลผลการชำระเงิน ให้ใช้
พร็อพเพอร์ตี้ messageDisplaySuppressed ของ SDK ดังที่แสดงไว้ที่นี่ใน Objective-C
[FIRInAppMessaging inAppMessaging].messageDisplaySuppressed = YES;
การตั้งค่าพร็อพเพอร์ตี้เป็น YES จะป้องกันไม่ให้ Firebase In-App Messaging แสดงข้อความ
ขณะที่ NO จะเปิดใช้การแสดงข้อความอีกครั้ง SDK จะรีเซ็ตพร็อพเพอร์ตี้เป็น NO
เมื่อแอปรีสตาร์ท SDK จะไม่สนใจข้อความที่ระงับ เงื่อนไขการทริกเกอร์
ของข้อความต้องตรงตามอีกครั้งขณะที่การระงับปิดอยู่ก่อนที่Firebase In-App Messagingการรับส่งข้อความในแอปของ Firebase จะแสดงข้อความได้
เปิดใช้การแสดงข้อความที่เลือกไม่รับ
โดยค่าเริ่มต้น Firebase In-App Messaging จะแสดงข้อความไปยังผู้ใช้แอปทั้งหมดที่คุณกำหนดเป้าหมาย ในแคมเปญการรับส่งข้อความโดยอัตโนมัติ หากต้องการแสดงข้อความเหล่านั้น SDK ของ Firebase In-App Messaging ใช้ Firebase รหัสการติดตั้งเพื่อระบุแอปของผู้ใช้แต่ละราย ซึ่งหมายความ ว่า In-App Messaging ต้องส่งข้อมูลไคลเอ็นต์ที่ลิงก์กับ รหัสการติดตั้งไปยังเซิร์ฟเวอร์ของ Firebase หากต้องการให้ผู้ใช้ควบคุมข้อมูลที่ส่งได้มากขึ้น ให้ปิดใช้การเก็บรวบรวมข้อมูลอัตโนมัติและให้โอกาสผู้ใช้ในการอนุมัติการแชร์ข้อมูล
หากต้องการทำเช่นนั้น คุณต้องปิดใช้การเริ่มต้นอัตโนมัติสำหรับ Firebase In-App Messaging และ เริ่มต้นบริการด้วยตนเองสำหรับผู้ใช้ที่เลือกรับ
ปิดการเริ่มต้นอัตโนมัติด้วยคีย์ใหม่ในไฟล์
Info.plist- คีย์:
FirebaseInAppMessagingAutomaticDataCollectionEnabled - ค่า:
NO
- คีย์:
เริ่มต้น Firebase In-App Messaging สำหรับผู้ใช้ที่เลือกด้วยตนเอง:
// Only needed if FirebaseInAppMessagingAutomaticDataCollectionEnabled is set to NO // in Info.plist [FIRInAppMessaging inAppMessaging].automaticDataCollectionEnabled = YES;เมื่อคุณตั้งค่า
automaticDataCollectionEnabledเป็นYESค่าดังกล่าวจะยังคงอยู่เมื่อแอปรีสตาร์ท โดยจะลบล้างค่าในInfo.plistหากต้องการปิดใช้การเริ่มต้นอีกครั้ง เช่น หากผู้ใช้เลือกไม่รับการเก็บรวบรวมในภายหลัง ให้ตั้งค่าพร็อพเพอร์ตี้เป็นNO