การรับส่งข้อความในแอป Firebase มีชุดลักษณะการทำงานและประเภทข้อความที่กําหนดค่าไว้ล่วงหน้าซึ่งมีประโยชน์พร้อมรูปลักษณ์และความรู้สึกเริ่มต้น แต่ในบางกรณี คุณอาจต้องการขยายลักษณะการทำงานและเนื้อหาข้อความ การรับส่งข้อความในแอปช่วยให้คุณเพิ่มการดำเนินการในข้อความและปรับแต่งรูปลักษณ์ของข้อความได้
เพิ่มการดำเนินการลงในข้อความ
เมื่อใช้การดําเนินการ คุณจะสามารถใช้ข้อความในแอปเพื่อนําผู้ใช้ไปยังเว็บไซต์หรือหน้าจอที่เฉพาะเจาะจงในแอปได้
ใช้ตัวแฮนเดิล Deep Link
Firebase In-App Messaging ใช้ตัวแฮนเดิลลิงก์เพื่อประมวลผลการดำเนินการ SDK ใช้ตัวแฮนเดิลได้หลายรายการ ดังนั้นหากแอปของคุณมีแฮนเดิลอยู่แล้ว Firebase In-App Messagingจะใช้แฮนเดิลนั้นได้โดยที่ไม่ต้องตั้งค่าเพิ่มเติม หากยังไม่มีตัวแฮนเดิล คุณสามารถใช้ Firebase Dynamic Links อ่านข้อมูลเพิ่มเติมได้ในบทความสร้างลิงก์แบบไดนามิกใน iOS
เพิ่มการดำเนินการลงในข้อความโดยใช้คอนโซล Firebase
เมื่อแอปมีตัวแฮนเดิลลิงก์แล้ว คุณก็พร้อมที่จะเขียนแคมเปญที่มีการดำเนินการ เปิดFirebaseคอนโซลเพื่อไปที่การรับส่งข้อความ แล้วเริ่มแคมเปญใหม่หรือแก้ไขแคมเปญที่มีอยู่ ในแคมเปญนั้น ให้ระบุการ์ด ข้อความปุ่ม และการดําเนินการของปุ่ม การดําเนินการของรูปภาพ หรือการดําเนินการของแบนเนอร์ โดยที่การดําเนินการนั้นเป็น Deep Link ที่เกี่ยวข้อง
รูปแบบของการดําเนินการจะขึ้นอยู่กับเลย์เอาต์ข้อความที่คุณเลือก โมดัลจะมีปุ่มดำเนินการที่มีเนื้อหาข้อความปุ่ม สีข้อความ และสีพื้นหลังที่ปรับแต่งได้ ในทางกลับกัน รูปภาพและแบนเนอร์ด้านบนจะกลายเป็นแบบอินเทอร์แอกทีฟและเรียกการดำเนินการที่ระบุเมื่อแตะ
แก้ไขรูปลักษณ์ของข้อความ
Firebase In-App Messaging ช่วยให้คุณปรับแต่งการแสดงข้อความเพื่อเปลี่ยนวิธีที่แอปแสดงผลเลย์เอาต์ สไตล์แบบอักษร รูปร่างปุ่ม และรายละเอียดอื่นๆ ของข้อความได้ การแก้ไขการแสดงข้อความทำได้ 2 วิธี ได้แก่ แก้ไขFirebase In-App Messagingการแสดงผลเริ่มต้นหรือสร้างคลังการแสดงข้อความของคุณเองตั้งแต่ต้น
แก้ไขการแสดงผลเริ่มต้น
วิธีที่ง่ายที่สุดในการปรับแต่งข้อความคือการสร้างจากโค้ดการแสดงข้อความเริ่มต้นของ Firebase In-App Messaging
โคลนที่เก็บ firebase-ios-sdk
หากต้องการเริ่มต้นใช้งาน ให้โคลนรุ่นล่าสุดของที่เก็บ firebase-ios-sdk
แล้วเปิดไดเรกทอรี InAppMessaging
เลือกประเภทข้อความที่จะแก้ไข
เมื่อโคลนที่เก็บแล้ว คุณจะแก้ไขข้อความ Firebase In-App Messaging ประเภทใดก็ได้ ดังนี้
Card
, Modal
, Banner
และ ImageOnly
แต่ละประเภทจะสอดคล้องกับเลย์เอาต์ข้อความในFirebase In-App Messagingขั้นตอนการสร้างแคมเปญ
ด้วยเหตุนี้ ผู้ใช้แต่ละประเภทจึงมีสิทธิ์เข้าถึงชุดข้อมูลที่แตกต่างกัน โดยขึ้นอยู่กับตัวเลือกการปรับแต่งแคมเปญในคอนโซล Firebase
ประเภท | titleText | bodyText | textColor | backgroundColor | imageData | actionButton | secondaryActionButton |
---|---|---|---|---|---|---|---|
การ์ด | |||||||
โมดัล | |||||||
แบนเนอร์ | |||||||
ImageOnly |
แก้ไขโค้ดการแสดงผลข้อความ
คุณสามารถแก้ไขข้อความได้ตามต้องการโดยคำนึงถึงข้อจำกัดของประเภทข้อความ คุณสามารถสร้างแบนเนอร์ที่แสดงที่ด้านล่างของแอป ย้ายปุ่มดำเนินการในโมดัล ฝังข้อความในแอปในฟีดของผู้ใช้ หรือทำการแก้ไขอื่นๆ ที่จะทำให้ข้อความดูกลมกลืนกับแอป
สิ่งที่ควรคำนึงถึงหลักๆ 2 อย่างเมื่อแก้ไขการแสดงข้อความมีดังนี้
- ไดเรกทอรีประเภทข้อความ: ข้อความแต่ละประเภทจะมีไดเรกทอรีแยกต่างหากซึ่งมีไฟล์ที่กําหนดตรรกะของประเภทนั้นๆ ดังนี้
- สตอรี่บอร์ด: ไลบรารี
InAppMessaging
ยังมีไฟล์.storyboard
ที่จะช่วยกำหนด UI สำหรับข้อความทั้ง 3 ประเภท ดังนี้
แก้ไขไฟล์ในไดเรกทอรีของประเภทข้อความที่ต้องการและส่วนที่เกี่ยวข้องของ .storyboard
เพื่อสร้างการแสดงข้อความที่กำหนดเอง
อัปเดต podfile เพื่อใช้โค้ด InAppMessaging
ที่แก้ไขแล้ว
หากต้องการให้ Firebase In-App Messaging ใช้การแสดงข้อความที่แก้ไขแทนการแสดงเริ่มต้น ให้อัปเดต podfile เพื่อใช้ไลบรารี InAppMessaging
ที่กําหนดเอง โดยทําดังนี้
# Uncomment the next line to define a global platform for your project # platform :ios, '9.0' target 'YourProject' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! # Pods for YourProject pod 'Firebase' # Remove the default InAppMessaging pod: # pod 'Firebase/InAppMessaging' # Overwrite it with a version that points to your local copy: pod `FirebaseInAppMessaging', :path => '~/Path/To/The/Cloned/Repo/' end
สร้างคลังการแสดงข้อความของคุณเอง
คุณไม่จำเป็นต้องสร้าง UI สำหรับแสดงข้อความจากคลัง InAppMessaging
เท่านั้น นอกจากนี้ คุณยังเขียนโค้ดของคุณเองตั้งแต่ต้นได้อีกด้วย
สร้างคลาสที่ใช้โปรโตคอล InAppMessagingDisplay
Firebase In-App Messaging ใช้คลาส InAppMessaging
เพื่อจัดการการสื่อสารระหว่างเซิร์ฟเวอร์ Firebase กับแอปของคุณ คลาสดังกล่าวจะใช้โปรโตคอล InAppMessagingDisplay
เพื่อแสดงข้อความที่ได้รับ
หากต้องการสร้างไลบรารีการแสดงผลของคุณเอง ให้เขียนคลาสที่ใช้โปรโตคอล
คําจํากัดความของโปรโตคอลและเอกสารประกอบเกี่ยวกับวิธีปฏิบัติตามโปรโตคอลอยู่ในไฟล์ FIRInAppMessagingDisplay.h
ของไลบรารี InAppMessaging
ตั้งค่า messageDisplayComponent
เพื่อใช้คลังการแสดงข้อความ
InAppMessaging
ใช้พร็อพเพอร์ตี้ messageDisplayComponent
เพื่อกำหนดออบเจ็กต์ที่จะใช้เมื่อแสดงข้อความ ตั้งค่าพร็อพเพอร์ตี้นั้นให้เป็นออบเจ็กต์ของคลาสการแสดงข้อความที่กําหนดเองเพื่อให้ Firebase In-App Messaging รู้ว่าต้องใช้ไลบรารีของคุณเพื่อแสดงผลข้อความ
InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance