Ios FCM当用户单击通知时,如何区分它是从Firebase控制台还是HTTP发送的

Ios FCM当用户单击通知时,如何区分它是从Firebase控制台还是HTTP发送的,ios,objective-c,firebase,firebase-cloud-messaging,notificationcenter,Ios,Objective C,Firebase,Firebase Cloud Messaging,Notificationcenter,我成功地设置了所有内容,并且可以使用Javascript和Ajax从方法1Firebase控制台或2HTTP发送通知 现在,在消息发送之后,当用户单击通知时,如何知道它来自方法1Firebase控制台或使用javascript和Ajax的2HTTP发送 原因是我希望将用户重定向到应用程序上的不同页面 我能用这个标题吗?方法2消息将始终有一个静态标题,如果是这样,我该如何做,请帮助 Firebase控制台 HTTP发送 function post() { $.ajax({

我成功地设置了所有内容,并且可以使用Javascript和Ajax从方法1Firebase控制台或2HTTP发送通知

现在,在消息发送之后,当用户单击通知时,如何知道它来自方法1Firebase控制台或使用javascript和Ajax的2HTTP发送

原因是我希望将用户重定向到应用程序上的不同页面

我能用这个标题吗?方法2消息将始终有一个静态标题,如果是这样,我该如何做,请帮助

Firebase控制台

HTTP发送

function post() {

    $.ajax({
        type : 'POST',
        url : "https://fcm.googleapis.com/fcm/send",
        headers : {
        Authorization : 'key=' + '<%=sKey%>'
        },
        contentType : 'application/json',
        dataType: 'json',
        data: JSON.stringify({

            "to": "<%=sToWhichDevice%>",
            "priority": "high",
            "notification": {
                            "sound": "defaultSound",
                            "title":"<%=sTitle%>",
                            "body":"<%=sBody%>"
                        }
        }),

        success : function(response) {
            console.log(response);
        },
        error : function(xhr, status, error) {
            console.log(xhr.error);
        }
    });
 }
 window.onload = post();

为了子孙后代,我将把我的评论变成一个完整的答案

FCM推送通知负载有几个iOS要求的预定义键,以便系统可以在设备上自动显示通知,例如标题、消息、图标等。您必须记住,作为iOS开发人员,在创建自定义推送通知UI时,您没有太多选项,但这是另一个主题

另一方面,FCM和几乎所有其他推送通知服务都提供了通过推送通知发送自定义数据的方法。对于FCM,您可以使用数据键定义将在推送通知中传递的键值对列表

现在,在实现方面,您可以选择发送什么内容,正如我建议的那样,您可以放置如下内容:

"data":{
      "sent-from" : "MyAwesomeSite",
      "why" : "Because I have to!",
      "when" : "ASAP"
    }

现在取决于您添加什么作为键值对,但请记住,有效负载的大小是有限的,存在操作系统限制,我还看到推送通知服务提供商实施了限制。

FCM支持自定义数据,因此,在您的数据对象中,您可以设置一个键值对,例如sent from:console/sent from:web。这听起来像是一个好答案@danypata!的开始:-如何检测或捕获Objective-C中的数据字符串?明白了。只要简单的userInfo[sent from]@HanzCheah我想如果你也能用解决方案更新你的问题就好了。它可能会帮助其他开发者。
"data":{
      "sent-from" : "MyAwesomeSite",
      "why" : "Because I have to!",
      "when" : "ASAP"
    }