我已在我的应用中实施了FCM,并从应用中执行的操作获取通知。因此,如果用户喜欢某个帖子,我会收到类似"某人(姓名)喜欢你的通知。如果多个用户喜欢这个帖子,我会收到多个通知:User1喜欢你,User2喜欢你。
我想要一个通知,其中显示用户的用户名+喜欢你的其他用户的号码。如何在客户端处理此问题,或者我们是否必须从服务器端处理它。有什么想法吗?
答案 0 :(得分:-1)
Firebase云消息传递可让您实时向用户发送消息。我建议你从官方谷歌文档中读到它,然后实现它,这样当有人喜欢你的帖子时,你的服务器就能发送一条JSON消息来激活Firebase云消息传递。
有两种形式的通知:
第二步创建可以接收数据信息的服务
<service
android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
public class MyFirebaseMessagingService extends FirebaseMessagingService {
private static final String TAG = "myTag";
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.d(TAG, "From: " + remoteMessage.getFrom());
Log.d(TAG, "Notification Message Body: " + remoteMessage.getNotification().getBody());
}
}
第三步:从该服务创建通知
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle("Someone liked your post")
.setContentText("Accept this answer if it is useful!");
第四步:通过向您的Android应用发送JSON请求,并在服务器端处理任何“喜欢”:
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", //this specefies the device
"notification":{
"title":"Someone liked your post",
"body":"col"
}
"data": {
"Nick" : "Mario",
"Room" : "PortugalVSDenmark"
}
"android":{
"ttl":"86400s",
"notification"{
"click_action":"OPEN_ACTIVITY_1"
}
},
}
}
有关我blog上的Firebase云消息传递的更多信息。