点击此处---> 群内免费提供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 a>
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
RFC配置无效。 它必须是:/restnotification/application/com.xxx.meridia.swim.AssetManager/user
嗨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
设置正确后,请关注以下博客,了解如何发送通知以测试您的推送通知: https://blogs.sap.com/2017/06/09/如何启用推送通知-(第2部分/
嗨,Syam,
当我推送以下消息时:{" alert":" TravelAgencies"," data":"通知所有已注册到应用程序的设备"," sound":"默认"}
我收到以下答复:
{"状态":{"值":"确定","代码":0}," notificationId":空,"结果":[{"状态":{"值":"确定"," 代码":0}," registrationId":" 1909b50e475abfe41751f30098d3197e"," notificationId":" eacb3f74-49a4-4198-ba97-195f21c1beef"}]}
和以下错误"由于设备不活动而中止了将应用程序com.xxx.meridia.swim.AssetManager的APNS通知发送到ddd815ac90f6ddbe086a3f3d31b463bf075540f9ca1d9b583acfd8f73e943ee3。"
和apns设备令牌已从用户注册中删除。
嗨,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定义吗?
注意。
使用调试器,我可以看到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附加组件的最新级别...
一周热门 更多>