Tuỳ chỉnh thông báo gửi qua tính năng Gửi thông báo trong ứng dụng của Firebase


Tính năng Gửi thông báo trong ứng dụng của Firebase cung cấp một tập hợp hữu ích gồm các hành vi được định cấu hình trước và các loại thông báo có giao diện mặc định, nhưng trong một số trường hợp, bạn có thể mở rộng hành vi và nội dung thông báo. Tính năng Thông báo trong ứng dụng cho phép bạn thêm thao tác vào tin nhắn và tuỳ chỉnh giao diện tin nhắn.

Thêm thao tác vào thông báo

Với các hành động, bạn có thể sử dụng thông báo trong ứng dụng để hướng người dùng đến một trang web hoặc một màn hình cụ thể trong ứng dụng.

Firebase In-App Messaging sử dụng trình xử lý đường liên kết để xử lý các thao tác. SDK có thể sử dụng nhiều trình xử lý, vì vậy, nếu ứng dụng của bạn đã có trình xử lý, Firebase In-App Messaging có thể sử dụng bản ghi đó mà không cần thiết lập thêm. Nếu bạn chưa có một trình xử lý, bạn có thể sử dụng Firebase Dynamic Links. Để tìm hiểu thêm, hãy đọc bài viết Tạo đường liên kết động trên iOS.

Thêm hành động vào tin nhắn bằng bảng điều khiển Firebase

Khi ứng dụng của bạn có trình xử lý đường liên kết, bạn đã sẵn sàng để tạo một chiến dịch một hành động. Mở bảng điều khiển Firebase để chuyển đến phần Tin nhắn, rồi bắt đầu một chiến dịch mới hoặc chỉnh sửa một chiến dịch hiện có. Trong chiến dịch đó, hãy cung cấp Thẻ, Văn bản nútThao tác trên nút, Thao tác trên hình ảnh hoặc Thao tác trên biểu ngữ, trong đó thao tác là một đường liên kết sâu phù hợp.

Định dạng của thao tác phụ thuộc vào bố cục thông báo mà bạn chọn. Mô-đun nhận được các nút hành động có nội dung, màu văn bản và nền của nút có thể tuỳ chỉnh . Mặt khác, các hình ảnh và biểu ngữ trên cùng lại có tính tương tác và gọi hành động cụ thể khi được nhấn.

Sửa đổi giao diện thông báo

Firebase In-App Messaging cho phép bạn tuỳ chỉnh màn hình thông báo để thay đổi cách ứng dụng hiển thị bố cục, kiểu phông chữ, hình dạng nút và các chi tiết khác của thông báo. Có hai cách sửa đổi chế độ hiển thị thông báo: sửa đổi Firebase In-App Messaging mặc định hoặc tạo thư viện hiển thị tin nhắn của riêng bạn từ đầu.

Lưu ý: Sản phẩm này không dùng được trên các mục tiêu macOS, Mac Catalyst, App Clip hoặc watchOS.

Sửa đổi màn hình mặc định

Cách đơn giản nhất để tuỳ chỉnh thông báo là xây dựng dựa trên mã hiển thị thông báo mặc định của Firebase In-App Messaging.

Sao chép kho lưu trữ firebase-ios-sdk

Để bắt đầu, hãy sao chép bản phát hành mới nhất của kho lưu trữ firebase-ios-sdk và mở Thư mục InAppMessaging.

Chọn loại thông báo cần sửa đổi

Với kho lưu trữ được sao chép, bạn có thể sửa đổi bất kỳ hoặc mọi loại thông báo Firebase In-App Messaging: Card, Modal, BannerImageOnly. Mỗi loại tương ứng với một bố cục thông báo trong quy trình tạo chiến dịch Firebase In-App Messaging.

Do đó, mỗi loại đều có quyền truy cập vào một tập dữ liệu khác nhau, được xác định theo các tuỳ chọn tuỳ chỉnh chiến dịch trong bảng điều khiển Firebase:

Loại titleText bodyText Màu văn bản backgroundColor dữ liệu hình ảnh nút hành động secondaryActionButton
Thẻ
Vải modal
Biểu ngữ
Chỉ hình ảnh

Sửa đổi mã kết xuất màn hình hiển thị thông báo

Với các giới hạn về loại thông báo, bạn có thể tuỳ ý sửa đổi nhưng mà bạn muốn. Bạn có thể tạo một biểu ngữ hiển thị ở cuối ứng dụng, di chuyển xung quanh nút hành động trên một phương thức, nhúng thông báo trong ứng dụng vào hoặc bất kỳ sửa đổi nào khác có thể làm cho thông báo diện mạo phù hợp ứng dụng của bạn.

Có hai điều chính cần chú ý khi sửa đổi chế độ hiển thị thông báo:

  • Thư mục loại thông báo: Mỗi loại thông báo có một thư mục riêng với các tệp xác định logic của loại đó:
  • Bảng phân cảnh: Thư viện InAppMessaging cũng có một tệp .storyboard giúp xác định giao diện người dùng cho cả ba loại thông báo:

Sửa đổi các tệp trong thư mục của loại thông báo bạn muốn và các phần tương ứng của .storyboard để tạo màn hình thông báo tuỳ chỉnh.

Hãy cập nhật tệp podfile của bạn để sử dụng mã InAppMessaging đã sửa đổi

Để Firebase In-App Messaging sử dụng thông báo đã sửa đổi của bạn thay vì thông báo mặc định hiển thị, hãy cập nhật tệp podfile đó để sử dụng thư viện InAppMessaging tuỳ chỉnh:

# 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
Sau khi làm xong, bạn có thể cập nhật nhóm, xây dựng lại ứng dụng và xem thông báo được tuỳ chỉnh.

Tạo thư viện hiển thị thông báo của riêng bạn

Bạn không bị giới hạn trong việc làm việc từ thư viện InAppMessaging để tạo giao diện người dùng hiển thị thông báo. Bạn cũng có thể tự viết mã từ đầu.

Tạo một lớp triển khai giao thức InAppMessagingDisplay

Firebase In-App Messaging sử dụng lớp InAppMessaging để xử lý hoạt động giao tiếp giữa máy chủ Firebase và ứng dụng của bạn. Đổi lại, lớp đó sử dụng giao thức InAppMessagingDisplay để hiển thị các thông báo nhận được. Để xây dựng thư viện hiển thị của riêng bạn, hãy viết một lớp triển khai giao thức.

Định nghĩa giao thức và tài liệu về cách tuân thủ giao thức đó nằm trong tệp FIRInAppMessagingDisplay.h của thư viện InAppMessaging.

Đặt messageDisplayComponent để sử dụng thư viện hiển thị thông báo

InAppMessaging sử dụng messageDisplayComponent để xác định xem đối tượng nào để sử dụng khi hiển thị thông báo. Đặt thuộc tính đó thành một đối tượng của lớp hiển thị thông báo tuỳ chỉnh để Firebase In-App Messaging biết sử dụng thư viện của bạn để hiển thị thông báo:

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance