如何使用Asset Manager 4.0配置推送

2020-08-24 22:29发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

我已经安装了Asset Manager 4.0,并且正在测试推送通知。 当前,当我尝试使用"/img/MyNativeApp/UserRegistration/发送通知"中的Cloud Platform移动服务控制台发送通知并选择已注册的设备时,出现以下错误:

" PUSH_SEND_PAYLOAD_REJECTED" ,具有以下负载:

{" notification":{" alert":" {\" title-loc-key \":\" WO_TITLE_KEY \",\" title-loc-args \":[\" 4000541 \"],\ " loc-key \":\" WO_BODY_KEY \",\" loc-args \":[\" 4000541 \"]}"," customParameters":{" apns.customValues":" {\" ObjectType \": \" WorkOrder \"}"}},"用户":[" S0012267772"]}

更新工作订单时,我看到创建了状态为PROCESS和1个收件人的SAM40_EMERGENCY_WORKORDER_PUSH(S0012267772),但是我没有收到任何设备推送消息,也没有看到SCPms中的错误。

是否可以通过SAP Cloud Platform Console向资产管理器应用发送通知?您是否有要使用的有效负载示例?

感谢您的帮助。

配置SAP_ASSET_MANAGER_40

*************************************************** *********

APNS_OBJECT_TYPE:WorkOrder;

ENABLE_OBJECT_KEY_CONVERSION:正确;

NOTIF_BODY_LOC_ARGS:&OBJKEY_REF&;

NOTIF_BODY_LOC_KEY:WO_BODY_KEY;

NOTIF_TITLE_LOC_ARGS:&OBJKEY_REF&;

NOTIF_TITLE_LOC_KEY:WO_TITLE_KEY;

SCPMS_WITH_SAP_USER_ID:是

Cloud Platform移动应用程序。 ID:com.xxx.meridia.swim.AssetManager

HTTP RFC目的地:SAM40_SCPMS_PUSH_NOTIFICATION: mobile-sf4999xxx.eu3.hana.ondemand.com

RFC定义:

******************

SAM40_SCPMS_PUSH_NOTIFICATION

与外部服务器的HTTP连接:

mobile-sf4999xxx.eu3.hana.ondemand.com

443

/restnotification/application/com.xxx.meridia.swim.AssetManager

SSL有效(测试连接时为HTTP 200)

为应用配置移动服务 com.xxx.meridia.swim.AssetManager

**********************************

推送通知:为SAP Asset Manager预先定义

用户注册ID:1909b50e475abfe41751f30098d3197e

用户名:S0012267772

APNS设备令牌:ddd815ac90f6ddbe086a3f3d31b463bf075540f9ca1d9b583acfd8f73e943ee3

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

我已经安装了Asset Manager 4.0,并且正在测试推送通知。 当前,当我尝试使用"/img/MyNativeApp/UserRegistration/发送通知"中的Cloud Platform移动服务控制台发送通知并选择已注册的设备时,出现以下错误:

" PUSH_SEND_PAYLOAD_REJECTED" ,具有以下负载:

{" notification":{" alert":" {\" title-loc-key \":\" WO_TITLE_KEY \",\" title-loc-args \":[\" 4000541 \"],\ " loc-key \":\" WO_BODY_KEY \",\" loc-args \":[\" 4000541 \"]}"," customParameters":{" apns.customValues":" {\" ObjectType \": \" WorkOrder \"}"}},"用户":[" S0012267772"]}

更新工作订单时,我看到创建了状态为PROCESS和1个收件人的SAM40_EMERGENCY_WORKORDER_PUSH(S0012267772),但是我没有收到任何设备推送消息,也没有看到SCPms中的错误。

是否可以通过SAP Cloud Platform Console向资产管理器应用发送通知?您是否有要使用的有效负载示例?

感谢您的帮助。

配置SAP_ASSET_MANAGER_40

*************************************************** *********

APNS_OBJECT_TYPE:WorkOrder;

ENABLE_OBJECT_KEY_CONVERSION:正确;

NOTIF_BODY_LOC_ARGS:&OBJKEY_REF&;

NOTIF_BODY_LOC_KEY:WO_BODY_KEY;

NOTIF_TITLE_LOC_ARGS:&OBJKEY_REF&;

NOTIF_TITLE_LOC_KEY:WO_TITLE_KEY;

SCPMS_WITH_SAP_USER_ID:是

Cloud Platform移动应用程序。 ID:com.xxx.meridia.swim.AssetManager

HTTP RFC目的地:SAM40_SCPMS_PUSH_NOTIFICATION: mobile-sf4999xxx.eu3.hana.ondemand.com

RFC定义:

******************

SAM40_SCPMS_PUSH_NOTIFICATION

与外部服务器的HTTP连接:

mobile-sf4999xxx.eu3.hana.ondemand.com

443

/restnotification/application/com.xxx.meridia.swim.AssetManager

SSL有效(测试连接时为HTTP 200)

为应用配置移动服务 com.xxx.meridia.swim.AssetManager

**********************************

推送通知:为SAP Asset Manager预先定义

用户注册ID:1909b50e475abfe41751f30098d3197e

用户名:S0012267772

APNS设备令牌:ddd815ac90f6ddbe086a3f3d31b463bf075540f9ca1d9b583acfd8f73e943ee3

付费偷看设置
发送
7条回答
xfwsx85
1楼 · 2020-08-24 22:48.采纳回答

RFC配置无效。 它必须是:/restnotification/application/com.xxx.meridia.swim.AssetManager/user

灬番茄
2楼-- · 2020-08-24 22:52

嗨Syam,

感谢您的回答。 现在,此推送可与Postman和Cloud Platform Mobile Services控制台一起使用(在"/img/MyNativeApp/UserRegistration/Send Notifications"中

但是,当我使用IW32更新工作订单时,可以通过调试器看到

生成的JSON有效负载

D_HTTP_REQUEST(/SMFND/CL_CORE_OTRIG_CPMS_PUSH)是

{" notification":{" alert":" {\" title-loc-key \":\" WO_TITLE_KEY \",\" title-loc-args \":[\" 4000541 \"],\ " loc-key \":\" WO_BODY_KEY \",\" loc-args \":[\" 4000541 \"]}"," customParameters":{" apns.customValues":" {\" ObjectType \": \" WorkOrder \"}"}},"用户":[" S00122677xx"]}

和GET_HTTP_RESPONSE返回400

如果我将其更新为

{" alert":" {\" title-loc-key \":\" WO_TITLE_KEY \",\" title-loc-args \":[\" 4000541 \"],\" loc-key \ ":\" WO_BODY_KEY \",\" loc-args \":[\" 4000541 \"]}""," customParameters":{" apns.customValues":" {\" ObjectType \":\" WorkOrder \" }"}}

它已发送到设备。...我正在运行S4MFND 100 SP06和S4MERP 100 SP06

我是否正确配置了RFC? 问候。

你好迪迪埃,

确保在推送通知下的移动应用程序定义中正确配置了APNS证书或Android Server Key&SenderID,如下图所示。 您可以在以下链接中获得有关如何设置推送的更多信息: cpms-push-notification.jpg

https://help.sap .com/viewer/d2e76ee96b6141c9bfc3afae96b7aa71/4.0/en-US/02c88e9593654775b6b9c013b4769f56.html

还要检查您的用户注册,并确保它已更新APNS设备令牌。

致谢

Syam Yalamati

宇峰Kouji
4楼-- · 2020-08-24 22:49

设置正确后,请关注以下博客,了解如何发送通知以测试您的推送通知: https://blogs.sap.com/2017/06/09/如何启用推送通知-(第2部分/

小c菟菟
5楼-- · 2020-08-24 22:49

嗨,Syam,

当我推送以下消息时:{" alert":" TravelAgencies"," data":"通知所有已注册到应用程序的设备"," sound":"默认"}

我收到以下答复:

{"状态":{"值":"确定","代码":0}," notificationId":空,"结果":[{"状态":{"值":"确定"," 代码":0}," registrationId":" 1909b50e475abfe41751f30098d3197e"," notificationId":" eacb3f74-49a4-4198-ba97-195f21c1beef"}]}

和以下错误"由于设备不活动而中止了将应用程序com.xxx.meridia.swim.AssetManager的APNS通知发送到ddd815ac90f6ddbe086a3f3d31b463bf075540f9ca1d9b583acfd8f73e943ee3。"

和apns设备令牌已从用户注册中删除。

暮风yp
6楼-- · 2020-08-24 23:02

嗨,Syam,

感谢您的回答。 现在,此推送可与Postman和Cloud Platform Mobile Services控制台一起使用(在"/img/MyNativeApp/UserRegistration/Send Notifications"中

我做了2次更改:

1。 发布的消息:(邮差和Cloud Platform移动服务控制台)

{" alert":" {\" title-loc-key \":\" WO_TITLE_KEY \",\" title-loc-args \":[\" 4000541 \"],\" loc-key \ ":\" WO_BODY_KEY \",\" loc-args \":[\" 4000541 \"]}"","数据":" {\" ObjectType \":\" WorkOrder \",\" ObjectID \": \" 4000541 \"}","声音":"默认"," gcmNotification":{" titleLocKey":" WO_TITLE_KEY"," titleLocArgs":" [\" 4000541 \"]"," bodyLocKey":" WO_BODY_KEY" ," bodyLocArgs":" [\" 4000541 \"]"}}

2。 邮递员用来发布消息的网址:

https ://mobile-sf4999xxx.eu3.hana.ondemand.com/restnotification/application/com.xxx.meridia.swim.AssetManager /user/S00122677xx

但是,当我更新工作订单时,我看到创建了SAM40_EMERGENCY_WORKORDER_PUSH,状态为PROCESS,收件人为1,但设备上未收到任何通知。 您可以验证RFC定义吗?

注意。

黑丝骑士
7楼-- · 2020-08-24 22:52

使用调试器,我可以看到D_HTTP_REQUEST(/SMFND/CL_CORE_OTRIG_CPMS_PUSH)生成的JSON有效负载是

{" notification":{" alert":" {\" title-loc-key \":\" WO_TITLE_KEY \",\" title-loc-args \":[\" 4000541 \"],\ " loc-key \":\" WO_BODY_KEY \",\" loc-args \":[\" 4000541 \"]}"," customParameters":{" apns.customValues":" {\" ObjectType \": \" WorkOrder \"}"}},"用户":[" S00122677xx"]}

如果我将其更新为

{" alert":" {\" title-loc-key \":\" WO_TITLE_KEY \",\" title-loc-args \":[\" 4000541 \"],\" loc-key \ ":\" WO_BODY_KEY \",\" loc-args \":[\" 4000541 \"]}""," customParameters":{" apns.customValues":" {\" ObjectType \":\" WorkOrder \" }"}}

它已发送到设备。...将检查我是否具有S4FND和S4MFND附加组件的最新级别...

一周热门 更多>