云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

阿里云_建设网站好公司_精选特惠

小七 141 0

移动设备上的通知是我们每天从用于新闻、娱乐、购物、健康等的各种移动应用程序中体验到的信息。通知在企业环境中具有巨大的价值,因为它们可以在正确的时间将正确的信息传递给正确的人。如果有效地使用,它们可以作为一种工具来提高员工生产力、加快业务流程、提高服务质量和许多其他好处。

这开始探索从SAP系统向移动设备发送通知的体系结构。经过大量阅读,返利系统,我们选择使用Firebase Cloud Messaging(FCM)。

涉及的主要步骤:

在本博客中,我们将详细介绍步骤2和3。

技术架构

事件发生在SAP中,使用RFC目的地触发对FCM的通知请求。创建RFC目的地是为了将SAP系统连接到FCM。FCM将通知转发给用户的移动设备。

A.在SAP系统中设置RFC目的地以连接到FCM

URLhttps://fcm.googleapis.com/fcm/send需要在RFC目标中设置。

为FCM创建新的SSL证书以在RFC目标中使用。

在SAP中创建新的SSL证书要连接到FCM的系统

事务:STRUST

选择菜单选项Environment->SSL Client Identifies以创建一个新的系统个人安全环境(PSE),其中包含FCM所需的证书。

按按钮new Entries。

输入Identity作为"FCM",输入Description作为"Firebase Cloud Messaging"。

按"Save"按钮。

您的FCM新系统PSE现在已创建。

在信任管理器列表中创建一个新节点。

接下来我们需要将所需的证书添加到新系统PSE。

所需的证书:

firebase的SSL证书。

[链接]https://help.sap.com/viewer/0f9408e4921e4ba3bb4a7a1f75f837a7/1902.500/en-US/9b3a2523825d4125ba71293295ab92e6.html包含如何下载firebase证书并将其上载到系统PSE的详细信息。]

SAP系统网络域的SSL证书。可以从浏览器的"隐私和安全"->"受信任的根证书颁发机构"下的"管理证书"部分获取此证书。如果找不到,云从,请与网络管理员联系。

根据您的网络结构,可能需要其他证书。

检查所有证书的有效期,确保它们有效。这通常在证书的签名中可用。

将证书保存在为FCM创建的新系统PSE中。

参考:https://help.sap.com/viewer/e73bba71770e4c0ca5fb2a3c17e8e229/1809.000/en-US/492371abf5a1902e10000000a42189c.html

在SAP系统中创建RFC目的地连接到FCM

事务:SM59

连接类型:G(HTTP连接到外部服务)

目标主机:fcm.googleapis.com

服务编号:

路径前缀:/fcm/send

代理主机:

代理服务:

代理用户:\

代理用户应在防火墙中拥有向外部服务发送通知请求详细信息的权限(在这种情况下为FCM)。

代理密码:

在"登录和安全"选项卡中,从下拉列表中选择您先前为FCM创建的SSL证书。

保存RFC目标并测试此连接。

如果收到HTTP响应状态代码200并且处于"响应正文"选项卡显示FCM HTTP协议页。

如果HTTP响应状态不是200或FCM页未显示,则出现错误,物联网开发,这通常是由于:

缺少证书-遵循故障排除指南指南

https://wiki.scn.sap.com/wiki/display/Security/Troubleshooting+Guide+-+How+to+Troubleshooting+the+ssslerrr\u PEER\u CERT\u UNTRUSTED+%28peer+certificate+%28chain%29+is+not+trusted%29+issue

在RFC目的地使用的代理用户的防火墙中缺少适当的权限。

B.从SAP发送通知请求FCM的应用程序

您可以按照下面给出的步骤创建一个示例程序。

使用创建的RFC目标创建一个HTTP客户端实例。

此实例将用于向FCM发送通知请求。

数据:lo\ U HTTP\ U client TYPE REF to if\ U HTTP\ U client。

cl\ U HTTP\ U client=>create\ U by\ U destination(正在导出destination='TEST-GOOGLESERVICES'导入client=lo\u http\u client"http客户端抽象例外情况参数\u not \u found=1目的地未找到=2目的地\u无\u权限=3插件未激活=4内部错误=5其他=6).

设置HTTP协议版本。

lou HTTP\u client->request->Set\u version(version=if\u HTTP\u request=>CO\u protocol\u version\u 1\u 1)。

设置FCM授权密钥。

这是在firebase控制台中为移动应用程序创建的FCM项目的服务器密钥。

数据:lv\u密钥类型字符串。

将'key='连接到lv\u key.

CALL METHOD lo\u http\u client->request->set\u header\u field调用方法导出name='Authorization'值=lv\ U键

样本授权值

键=AACLJ1IYY:APA91BEA4K6MDRTS0LVA9YKZF33RLAYWI7U2XJ0NJLWWXBR05CUOVRCJRUV3BAASPNDM8ABCDEFGHQK4U9DPKSQK85TJOKJZT\ U 07AhY2i4cnc9p0mkjQJ\ U JHWA4ZYXWKIICFSZFT

设置用于向FCM发送HTTP请求的HTTP方法。

在这种情况下,将使用"POST"方法使用

lou http\u client->request->set\u method(如果\u http\u request=>CO\u request\u method\u POST)

将http请求内容类型设置为JSON

lou http\u client->request->set\u content\u type('application/JSON')。

构建并设置http请求负载

FCM的JSON基本http请求负载有两部分:

1。通知标题–出现在设备上的通知弹出窗口的标题和内容。

"通知":{"标题":"来自SAP","正文":"来自SAP的演示通知!"}

2. 通知的收件人。

"to":"/topics/all"