且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何使用FCM向特定用户发送通知?

更新时间:2022-11-03 22:19:01


需要创建一个web服务器

是的。您需要一个地方,您可以将名称/电子邮件映射到注册ID。这些注册ID必须包含在对FCM的请求中,例如

  {
'registration_ids':['qrgqry34562456 ','245346236ef'],
'通知':{
'body':'',
'title':''
},
'data' :{

}
}

'qrgqry34562456'和'245346236ef'。



您在调用中使用的注册ID是应用程序中此回调中称为token的注册ID。



$ p $ public class MyService extends FirebaseInstanceIdService {
@Override
public void onTokenRefresh(){
}
}


I need some information for this question.I prepared the receiver for FCM and can send a notification to all devices.

gcm-http.googleapis.com/gcm/send with this link can send to target users who is registered and post to the target devices like below json :

 {
     "notification": {
                "title": "sample Title",
                "text": "sample text"   },   
        "to" : "[registration id]"
         }

However, I need to send notifications to target users which I choose, via email or name...etc . For example:

{
     "notification": {
                "title": "sample Title",
                "text": "sample text"   },   
        "to" : "[email or name or sex ...]"
         }

How can I do that? Do I need to create a web server or something else?

Did I need to create a web server

Yes. You need a place where you can map name/email to registration IDs. These registration IDs must be included in the request to FCM, for example

{
    'registration_ids': ['qrgqry34562456', '245346236ef'],
    'notification': {
        'body': '',
        'title': ''
    },
    'data': {

    }
}

will send the push to 'qrgqry34562456' and '245346236ef'.

The registration ID you use in the call is the one that's called 'token' in this callback in the app.

public class MyService extends FirebaseInstanceIdService {
    @Override
    public void onTokenRefresh() {
    }
}