Firebase Cloud Messaging (푸쉬알림)
Firebase 기능에서 푸쉬(알림)를 간단하게 지원하는게 있다.
Console에서 셋팅을 해서 알림을 설정할수 있다.
<Firebase Console - Cloud Messaging>
반응형
대략적인 아키텍처 개요는 다음과 같다.
Unity로 환경을 구성하는것을 포스팅한다는것을 참고부탁드린다.
알람이오게되면 알람이 표기가되고 상태바에도 해당 알람이 표기가된다.
간단하게 ICON / 제목 / 내용 정도로 표기가된다.
해당 기능을 사용하기전에는 Firbase 기본적인 설정
(Firebase 앱 등록이 이미 선행되어야 한다. Firebase 생성 -> 프로젝트연결 -> google-service.json 포함)
FirebaseMessaging.unitypackage를 import 한다.
최초에는 Google Play 서비스 요구사항을 확인하고 이후에 메시징을 받을수있는 코드를 처리한다.
<Unity 테스트 코드>
<서비스 확인>
Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
var dependencyStatus = task.Result;
if (dependencyStatus == Firebase.DependencyStatus.Available) {
// Create and hold a reference to your FirebaseApp,
// where app is a Firebase.FirebaseApp property of your application class.
app = Firebase.FirebaseApp.DefaultInstance;
// Set a flag here to indicate whether Firebase is ready to use by your app.
} else {
UnityEngine.Debug.LogError(System.String.Format(
"Could not resolve all Firebase dependencies: {0}", dependencyStatus));
// Firebase Unity SDK is not safe to use here.
}
});
<FCM 초기화>
public void Start() {
Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived;
Firebase.Messaging.FirebaseMessaging.MessageReceived += OnMessageReceived;
}
public void OnTokenReceived(object sender, Firebase.Messaging.TokenReceivedEventArgs token) {
UnityEngine.Debug.Log("Received Registration Token: " + token.Token);
}
public void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e) {
UnityEngine.Debug.Log("Received a new message from: " + e.Message.From);
}
< Notification Custom (아이콘 이미지 / 문자 컬러)>
Android/res/drawable-hdpi
Android/res/colors.xml
<AndroidManifest.xml>
<?xml version="1.0" encoding="utf-8"?>
<!-- GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN-->
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unity3d.player"
xmlns:tools="http://schemas.android.com/tools">
<application>
<!-- [START fcm_default_icon] -->
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/notification_icon" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/notifiction_color" />
<!-- [END fcm_default_icon] -->
<activity android:name="com.unity3d.player.UnityPlayerActivity"
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>
</application>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.android.vending.CHECK_LICENSE"/>
</manifest>
<결과 확인>
Icon 변경 및 컬러 적용 확인
Firebase 를 사용하는 과정에서 Notification도 손쉽게 구현과 테스트가 되서 금방 구현했고 어렵지 않았다.
꽤나 괜찮은 기능이다. 스케줄설정도 가능하고 여러가지 더 확장기능(딥링크, 주제로 메시지전송)등이 가능하다.
Firebase 클라우드 메시징 : [ 링크 ]
★★☆☆☆
반응형
'개발 > Unity' 카테고리의 다른 글
Unity) Custom Header (커스텀 헤더 : Color / FontSize) (0) | 2022.05.30 |
---|---|
Unity) Inspector HelpBox(경고표시, 정보표시, 위험표시) (0) | 2022.05.25 |
Unity)코드) 문자열 줄바꿈(개행문자) 계산 (0) | 2022.05.18 |
Unity) 단축키 확인 및 변경 (0) | 2022.05.11 |
Unity) Frame 향상 방법 (1) | 2022.05.11 |
댓글