const payload = {
notification: {
title: 'たいとる',
body: 'めっせーじ'
}
};
onMessageReceived()で特に何もしなくても通知が表示されたケース
title, bodyなどのキーはおそらく変えられない
const payload = {
data: {
message: message,
date: dateString
}
};
受信時の実装をしないと通知が出ないケース
dataの中のキーは自由らしい
Date型のモノは送信時にエラーになった
String限定で送れる模様
const response = await admin.messaging().sendToDevice(token, payload);
で送信
responseには何も入ってこないので不要
public class MyMessagingService extends FirebaseMessagingService {
// onNewToken()必須らしい
@Override
public void onMessageReceived(@NonNull RemoteMessage remoteMessage) {
Log.d("ろぐ", "payloadのdata: " + remoteMessage.getData());
Log.d("ろぐ", "notificationのbody: " + remoteMessage.getNotification().getBody());
}
}
<service
android:name=".MyMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
buildscript {
repositories {
google()
}
dependencies {
classpath 'com.google.gms:google-services:4.3.8'
}
}
allprojects {
repositories {
google() // Google's Maven repository
}
}
apply plugin: 'com.google.gms.google-services'
.
.
.
dependencies {
implementation platform('com.google.firebase:firebase-bom:28.1.0')
implementation 'com.google.firebase:firebase-messaging'
implementation 'com.google.firebase:firebase-analytics'
}