แทบไม่ต้องใช้ความพยายามในการเขียนโค้ด Firebase In-App Messaging ช่วยให้คุณสร้าง กำหนดค่า และกำหนดเป้าหมายการโต้ตอบของผู้ใช้ที่หลากหลาย โดยใช้ประโยชน์จากความสามารถของ Google Analytics ได้ทันทีเพื่อเชื่อมโยงเหตุการณ์การรับส่งข้อความกับลักษณะเฉพาะ กิจกรรม และตัวเลือกของผู้ใช้จริง ด้วยการผสานรวม SDK การรับส่งข้อความในแอป Firebase เพิ่มเติม คุณสามารถปรับแต่งพฤติกรรมของข้อความในแอปให้ดียิ่งขึ้นไปอีก ตอบสนองเมื่อผู้ใช้โต้ตอบกับข้อความ ทริกเกอร์เหตุการณ์ข้อความนอกกรอบงาน Analytics และอนุญาตให้ผู้ใช้ควบคุมการแชร์ข้อมูลส่วนบุคคลที่เกี่ยวข้องกับพวกเขา ไปจนถึงการโต้ตอบการส่งข้อความ
ตอบกลับเมื่อผู้ใช้โต้ตอบกับข้อความในแอป
ด้วยการดำเนินการ คุณสามารถใช้ข้อความในแอปเพื่อนำผู้ใช้ไปยังเว็บไซต์หรือหน้าจอเฉพาะในแอปของคุณได้
รหัสของคุณสามารถตอบสนองต่อการโต้ตอบพื้นฐาน (การคลิกและการยกเลิก) ต่อการแสดงผล (การดูข้อความของคุณที่ได้รับการยืนยัน) และเพื่อแสดงข้อผิดพลาดที่บันทึกและยืนยันโดย SDK ตัวอย่างเช่น เมื่อข้อความของคุณถูกสร้างเป็นโมดอลการ์ด คุณอาจต้องการติดตามและติดตามว่า URL ใดจากสองรายการที่ผู้ใช้คลิกบนการ์ด
ใช้ DisplayDelegate เพื่อจัดการการโต้ตอบของการ์ด
คุณสามารถลงทะเบียนตัวแทนแสดงข้อความในแอปได้ ซึ่งจะถูกเรียกเมื่อใดก็ตามที่มีการโต้ตอบกับข้อความในแอป เมื่อต้องการทำเช่นนี้ ให้ใช้คลาสตามโปรโตคอล InAppMessagingDisplayDelegate
และตั้งค่าเป็นคุณสมบัติผู้รับมอบสิทธิ์บนอินสแตนซ์ InAppMessaging
สมมติอีกครั้งว่าคุณต้องการติดตามลิงก์ที่ผู้ใช้คลิกข้อความสไตล์การ์ด ให้กำหนดคลาสที่ใช้เมธอด messageClicked
ตามโปรโตคอล DisplayDelegate
เพื่อให้คุณสามารถเข้าถึงลิงก์ที่ผู้ใช้คลิกได้
สวิฟท์
โปรดดู การอ้างอิงตัวแทนจอแสดงผล Swift สำหรับชุดวิธีการโทรกลับที่สามารถนำมาใช้และพารามิเตอร์ รวมถึง InAppMessagingAction
// In CardActionFiamDelegate.swift
class CardActionFiamDelegate : NSObject, InAppMessagingDisplayDelegate {
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
// ...
}
func messageDismissed(_ inAppMessage: InAppMessagingDisplayMessage,
dismissType: FIRInAppMessagingDismissType) {
// ...
}
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;
วัตถุประสงค์-C
โปรดดู การอ้างอิงตัวแทนจอแสดงผล 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 โดยค่าเริ่มต้นช่วยให้คุณทริกเกอร์ข้อความในแอปด้วยเหตุการณ์ Google Analytics สำหรับ Firebase โดยไม่มีการผสานรวมเพิ่มเติม คุณยังทริกเกอร์เหตุการณ์ด้วยตนเองโดยทางโปรแกรมได้ด้วยทริกเกอร์แบบเป็นโปรแกรมของ Firebase In-App Messaging SDK
ในตัวสร้างแคมเปญการรับส่งข้อความในแอป ให้สร้างแคมเปญใหม่หรือเลือกแคมเปญที่มีอยู่ และในขั้นตอนการกำหนดเวลาของเวิร์กโฟลว์ของผู้แต่ง ให้จดรหัสเหตุการณ์ของกิจกรรมการรับส่งข้อความที่สร้างขึ้นใหม่หรือที่มีอยู่ เมื่อทราบแล้ว ให้ติดตั้งแอปของคุณเพื่อทริกเกอร์เหตุการณ์ตามรหัส
สวิฟท์
…
// somewhere in the app's code
InAppMessaging.inAppMessaging().triggerEvent("exampleTrigger");
วัตถุประสงค์-C
…
// somewhere in the app's code
[[FIRInAppMessaging inAppMessaging] triggerEvent:@"exampleTrigger"];
ใช้ข้อมูลเมตาที่กำหนดเองของแคมเปญ
ในแคมเปญของคุณ คุณสามารถระบุข้อมูลที่กำหนดเองในชุดคู่คีย์/ค่าได้ เมื่อผู้ใช้โต้ตอบกับข้อความ ข้อมูลนี้จะแสดงให้คุณเห็น เช่น แสดงรหัสส่งเสริมการขาย
สวิฟท์
class CardActionFiamDelegate : NSObject, InAppMessagingDisplayDelegate {
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
// Get data bundle from the inapp message
let appData = inAppMessage.appData
// ...
}
}
วัตถุประสงค์-C
@implementation CardActionFiamDelegate
- (void)messageClicked:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage {
appData = inAppMessage.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 In-App Messaging จะส่งข้อความไปยังผู้ใช้แอปทั้งหมดที่คุณกำหนดเป้าหมายในแคมเปญการรับส่งข้อความโดยอัตโนมัติ ในการส่งข้อความเหล่านั้น Firebase In-App Messaging SDK จะใช้รหัสการติดตั้ง Firebase เพื่อระบุแอปของผู้ใช้แต่ละราย ซึ่งหมายความว่า In-App Messaging จะต้องส่งข้อมูลไคลเอ็นต์ซึ่งเชื่อมโยงกับรหัสการติดตั้งไปยังเซิร์ฟเวอร์ Firebase หากคุณต้องการให้ผู้ใช้ควบคุมข้อมูลที่ส่งได้มากขึ้น ให้ปิดใช้การรวบรวมข้อมูลอัตโนมัติและให้โอกาสผู้ใช้อนุมัติการแชร์ข้อมูล
ในการทำเช่นนั้น คุณต้องปิดใช้งานการเริ่มต้นอัตโนมัติสำหรับ Firebase In-App Messaging และเริ่มต้นบริการด้วยตนเองสำหรับผู้ใช้ที่เลือกใช้:
ปิดการเริ่มต้นอัตโนมัติด้วยคีย์ใหม่ในไฟล์
Info.plist
ของคุณ:- คีย์:
FirebaseInAppMessagingAutomaticDataCollectionEnabled
- ความคุ้มค่า:
NO
- คีย์:
เริ่มต้นการส่งข้อความในแอป Firebase สำหรับผู้ใช้ที่เลือกด้วยตนเอง:
// Only needed if FirebaseInAppMessagingAutomaticDataCollectionEnabled is set to NO // in Info.plist [FIRInAppMessaging inAppMessaging].automaticDataCollectionEnabled = YES;
เมื่อคุณตั้งค่า
automaticDataCollectionEnabled
เป็นYES
ค่าจะคงอยู่ผ่านการรีสตาร์ทแอป โดยแทนที่ค่าในInfo.plist
ของคุณ หากคุณต้องการปิดใช้งานการเริ่มต้นอีกครั้ง เช่น หากผู้ใช้เลือกไม่รับการรวบรวมในภายหลัง ให้ตั้งค่าคุณสมบัติเป็นNO