Push Notification
Đây là tính năng sử dụng Firebase Cloud Message để gửi thông báo tới các thiết bị Android, IOS
1. Điều kiện cần
1.1 Tích hợp SDK
Dự án phải có Firebase và tích hợp vào game
Tích hợp GSM SDK từ version 1.2.3.6 trở lên và phải có thực hiện các api:
Vào game cần gửi lên GSM ngôn ngữ hiện tại của user, sau khi GSM được Init
Khi user thay đổi ngôn ngữ trong Setting thì gửi lên GSM.
Tích hợp Firebase Messaging
Tích hợp Notification Plugin (Download)
1.2 Thiết lập ở phía game
Project Settings ⇒ Mobile Notification
Android: Custom Activity Name:
com.google.firebase.MessagingUnityPlayerActivity
Phải có đủ Icon Large và Icon Small
Icon Small: Là 1 Icon để hiện ở status bar của android với nền trong suốt và hình icon đen trắng (nên để tên icon_small như hình bên dưới)
Icon Large: Là icon để hiện ở Notification khi Expand. (Nên để tên icon_big như hình bên dưới)

AndroidManifest.xml
Thay thế activity
UnityPlayerActivity
thànhcom.google.firebase.MessagingUnityPlayerActivity
Thêm service:
com.google.firebase.messaging.MessageForwardingService
<service android:name="com.google.firebase.messaging.MessageForwardingService"
android:permission="android.permission.BIND_JOB_SERVICE"
android:exported="false" >
</service>
Cụ thể code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" xmlns:tools="http://schemas.android.com/tools">
<application>
<activity android:name="com.google.firebase.MessagingUnityPlayerActivity" android:theme="@style/UnityThemeSelector">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
<!--Chuyển intent khi nhấn notification vào Unity-->
<service android:name="com.google.firebase.messaging.MessageForwardingService"
android:permission="android.permission.BIND_JOB_SERVICE"
android:exported="false" >
</service>
</application>
</manifest>
Firebase Service
Cần thiết lập các event để lắng nghe FirebaseMessaging.MessageReceived
Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task =>
{
dependencyStatus = task.Result;
if (dependencyStatus == Firebase.DependencyStatus.Available)
{
FirebaseMessaging.MessageReceived += OnMessageReceived;
}
});
void OnApplicationPause(bool pause)
{
NotificationLoging.OnApplicationPause(pause);
}
void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e)
{
NotificationLoging.LogNotificationData(e.Message.Data);
}
1.3 Thiết lập ở GSM
Vào Firebase Console ⇒ Chọn Dự án ⇒ Project Settings ⇒ Service Accounts ⇒ Generate new private key ⇒ Generate key ⇒ Nhận file .json được tải về


Copy toàn bộ nội dung ở file .json ⇒ Vào GSM App Manager ⇒Chọn Dự án => Config App ⇒ Tab Firebase ⇒ Paste vào Service Account ⇒ Submit

2. Chiến dịch push notification
Đăng nhập vào GSM: Vào Menu:
Games
= >
Push Notification => Tìm kiếm và liệt kê các chiến dịch push notification:
Xem thêm chi tiếtThêm mới chiến dịch: Xem hướng dẫn Create Push Notification Campaign
Cập nhật chiến dịch: Tại danh sách chiến dịch = > Click vào dấu 3 chấm (...) ⇒ Chọn Edit ⇒ Sau đó thiết lập các thông tin giống phần thêm mới. (Create Push Notification Campaign)
Xóa chiến dịch: Tại danh sách chiến dịch = > Click vào dấu 3 chấm (...) ⇒ chọn Delete ⇒ Xác nhận để xóa
Run chiến dịch: Trường hợp muốn chạy lại 1 chiến dịch nào đó thì thực hiện: Tại danh sách chiến dịch = > Click vào dấu 3 chấm (...) ⇒ chọn Run
Stop chiến dịch: Nếu muốn ngừng lịch trình chạy của 1 chiến dịch, thì thực hiện: Tại danh sách chiến dịch = > Click vào dấu 3 chấm (...) ⇒ chọn Stop
3. Lưu ý
Cần tránh thiết lập chiến dịch push bị lặp nội dung cho cùng 1 thiết bị.
Last updated