首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >FCM-当用户单击通知时,如何将其从Firebase控制台或HTTP发送

FCM-当用户单击通知时,如何将其从Firebase控制台或HTTP发送
EN

Stack Overflow用户
提问于 2018-06-21 09:31:10
回答 1查看 167关注 0票数 0

我设法设置所有东西,我可以从方法1(Firebase控制台)或方法2(使用Javascript和Ajax发送HTTP)发送通知。

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

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

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

  1. 火线控制台。
  2. HTTP发送 函数post() { $.ajax({ type:'POST',url:"https://fcm.googleapis.com/fcm/send",headers:{key=‘+ '<%=sKey%>’},contentType:'application/json',dataType:'json',data: JSON.stringify({ "to":"<%=sToWhichDevice%>",“优先权”:“高”、“通知”:{“声音”:"defaultSound“、”标题“:”<%=sTitle%>“、”正文“:”<%=sBody%>“}),成功:功能(响应){console.log(响应);},错误:函数(xhr,状态,错误){ console.log(xhr.error);};} window.onload = post();
  3. 检测用户单击通知的时间 //==在用户点击显示通知后处理通知消息。- (void)userNotificationCenter:(UNUserNotificationCenter *)中心didReceiveNotificationResponse:(UNNotificationResponse *)响应NSDictionary *userInfo = response.notification.request.content.userInfo;//=如何区分IT是从FireBase控制台发送还是?如果(userInfokGCMMessageIDKey) { NSLog(@“**5 :来自Firebase控制台的通知”。消息ID:%@",}NSLog(@ **5**:来自HTTP的通知);} completionHandler();}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-21 14:25:36

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

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

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

现在,从实现的角度来看,您可以选择发送什么,正如我建议的那样,您可以放置如下内容:

代码语言:javascript
代码运行次数:0
运行
复制
"data":{
      "sent-from" : "MyAwesomeSite",
      "why" : "Because I have to!",
      "when" : "ASAP"
    }

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50965150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档