IBM MobileFirst 7.1 推送订阅用户标识为空
Posted
技术标签:
【中文标题】IBM MobileFirst 7.1 推送订阅用户标识为空【英文标题】:IBM MobileFirst 7.1 push subscription user id empty 【发布时间】:2016-09-23 14:28:06 【问题描述】:我有一个 MobileFirst 应用程序,它只看到客户偶尔使用(ios 企业应用程序)。我更新了它,在测试推送通知时发现服务器没有发送推送通知。
var userSubscription = WL.Server.getUserNotificationSubscription("XXXAdapter.invoiceMessages", userId);
返回未定义。检查数据库后,我发现适配器的几乎所有推送订阅(PUSH_SUBSCRIPTIONS
表)都将USER_ID
列为空。我删除了它们并再次从应用程序订阅,但又插入了一个空的用户 ID。 mysql 完整日志将事务列出如下:
284 Query INSERT INTO PUSH_SUBSCRIPTIONS (CREATED_MODE, CREATED_TIME, LAST_UPDATED_TIME, ALIAS, OPTIONS,
STATE, TAG_NAME, USER_ID, DEVICE_ID) VALUES
('API', '2016-09-23T14:06:52Z', '2016-09-23T14:06:52Z', 'invoiceMessages',
'"alert":true,"badge":true,"sound":true,"requestHeaders":', '',
'XXXAdapter.invoiceMessages', '', 14)
当我登录时,适配器确实列出了一个有效的用户 ID:
Sep 23, 2016 4:06:40 PM com.worklight.integration.js.javascriptIntegrationLibraryImplementation info
INFO: Fri Sep 23 2016 16:06:40 GMT+0200 (CEST)Login result: "resultSet":["id":8,"name":"Andrey"],"isSuccessful":true [project XXX]
正如我所说,该应用程序只是偶尔使用,我认为它是从大约一年前的 6.2 升级而来的,所以它可能从那时起就没有运行过。有什么想法吗?
【问题讨论】:
您能否提供您正在使用的 MFP 的确切版本(包含 build-id)。有一个类似的问题已经修复。 多功能一体机版本为7.1.0.00-20150807-0630 如果您能够在测试/UAT 环境中重现问题,是否可以从 FixCentral 安装最新的 iFix 并尝试? 【参考方案1】:目前的假设是这个问题已在最近的 iFix 版本中得到修复。登录 IBM Fix Central 并下载适用于 MobileFirst Platform Foundation 的最新可用 iFix(当前为 7.1.0.0-MFPF-IF201610060540)以验证问题是否已解决。
【讨论】:
谢谢,伊丹。该项目被搁置了一段时间(由于不相关的原因),直到现在我才完成它。 7.1 分支 (20170120) 的最新 MFPF 版本不再显示此行为。不知道当时的原因是什么(如果我没有忽略任何可能导致它的原因),但补救措施仍然有效。以上是关于IBM MobileFirst 7.1 推送订阅用户标识为空的主要内容,如果未能解决你的问题,请参考以下文章
Mobilefirst 7.1 推送通知 - 发送消息 REST API 与 submitNotification(userId, notificationText)
IBM Mobilefirst:有没有一种方法可以向 deviceid 发送推送通知,而与用户无关