แก้ไขพฤติกรรมของข้อความ Firebase In-App Messaging

แทบไม่ต้องใช้ความพยายามในการเขียนโค้ด Firebase In-App Messaging ช่วยให้คุณสร้าง กำหนดค่า และกำหนดเป้าหมายการโต้ตอบของผู้ใช้ที่หลากหลาย โดยใช้ประโยชน์จากความสามารถของ Google Analytics ได้ทันทีเพื่อเชื่อมโยงเหตุการณ์การรับส่งข้อความกับลักษณะเฉพาะ กิจกรรม และตัวเลือกของผู้ใช้จริง ด้วยการผสานรวม SDK การรับส่งข้อความในแอป Firebase เพิ่มเติม คุณสามารถปรับแต่งพฤติกรรมของข้อความในแอปให้ดียิ่งขึ้นไปอีก ตอบสนองเมื่อผู้ใช้โต้ตอบกับข้อความ ทริกเกอร์เหตุการณ์ข้อความนอกกรอบงาน Analytics และอนุญาตให้ผู้ใช้ควบคุมการแชร์ข้อมูลส่วนบุคคลที่เกี่ยวข้องกับพวกเขา ไปจนถึงการโต้ตอบการส่งข้อความ

ตอบกลับเมื่อผู้ใช้โต้ตอบกับข้อความในแอป

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

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

ใช้ DisplayDelegate เพื่อจัดการการโต้ตอบของการ์ด

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

สมมติอีกครั้งว่าคุณต้องการติดตามลิงก์ที่ผู้ใช้คลิกข้อความสไตล์การ์ด ให้กำหนดคลาสที่ใช้เมธอด messageClicked ตามโปรโตคอล DisplayDelegate เพื่อให้คุณสามารถเข้าถึงลิงก์ที่ผู้ใช้คลิกได้

สวิฟท์

หมายเหตุ: ผลิตภัณฑ์นี้ไม่สามารถใช้งานได้บนเป้าหมาย macOS, Mac Catalyst, App Clip หรือ watchOS

โปรดดู การอ้างอิงตัวแทนจอแสดงผล 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

หมายเหตุ: ผลิตภัณฑ์นี้ไม่สามารถใช้งานได้บนเป้าหมาย macOS, Mac Catalyst, App Clip หรือ watchOS

โปรดดู การอ้างอิงตัวแทนจอแสดงผล 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

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

สวิฟท์

หมายเหตุ: ผลิตภัณฑ์นี้ไม่สามารถใช้งานได้บนเป้าหมาย macOS, Mac Catalyst, App Clip หรือ watchOS
…
// somewhere in the app's code
InAppMessaging.inAppMessaging().triggerEvent("exampleTrigger");

วัตถุประสงค์-C

หมายเหตุ: ผลิตภัณฑ์นี้ไม่สามารถใช้งานได้บนเป้าหมาย macOS, Mac Catalyst, App Clip หรือ watchOS
…
// somewhere in the app's code
[[FIRInAppMessaging inAppMessaging] triggerEvent:@"exampleTrigger"];

ใช้ข้อมูลเมตาที่กำหนดเองของแคมเปญ

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

สวิฟท์

หมายเหตุ: ผลิตภัณฑ์นี้ไม่สามารถใช้งานได้บนเป้าหมาย macOS, Mac Catalyst, App Clip หรือ watchOS
class CardActionFiamDelegate : NSObject, InAppMessagingDisplayDelegate {

    func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
	// Get data bundle from the inapp message
	let appData = inAppMessage.appData
	// ...
    }
}

วัตถุประสงค์-C

หมายเหตุ: ผลิตภัณฑ์นี้ไม่สามารถใช้งานได้บนเป้าหมาย macOS, Mac Catalyst, App Clip หรือ watchOS
@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 และเริ่มต้นบริการด้วยตนเองสำหรับผู้ใช้ที่เลือกใช้:

  1. ปิดการเริ่มต้นอัตโนมัติด้วยคีย์ใหม่ในไฟล์ Info.plist ของคุณ:

    • คีย์: FirebaseInAppMessagingAutomaticDataCollectionEnabled
    • ความคุ้มค่า: NO
  2. เริ่มต้นการส่งข้อความในแอป Firebase สำหรับผู้ใช้ที่เลือกด้วยตนเอง:

    // Only needed if FirebaseInAppMessagingAutomaticDataCollectionEnabled is set to NO
    // in Info.plist
    [FIRInAppMessaging inAppMessaging].automaticDataCollectionEnabled = YES;
    
    

    เมื่อคุณตั้งค่า automaticDataCollectionEnabled เป็น YES ค่าจะคงอยู่ผ่านการรีสตาร์ทแอป โดยแทนที่ค่าใน Info.plist ของคุณ หากคุณต้องการปิดใช้งานการเริ่มต้นอีกครั้ง เช่น หากผู้ใช้เลือกไม่รับการรวบรวมในภายหลัง ให้ตั้งค่าคุณสมบัติเป็น NO