【问题标题】:IBM MobileFirst 7.1 push subscription user id emptyIBM MobileFirst 7.1 推送订阅用户标识为空
【发布时间】:2025-12-15 05:25:01
【问题描述】:

我有一个 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 并尝试?

标签: push-notification ibm-mobilefirst


【解决方案1】:

目前的假设是这个问题已在最近的 iFix 版本中得到修复。登录 IBM Fix Central 并下载适用于 MobileFirst Platform Foundation 的最新可用 iFix(当前为 7.1.0.0-MFPF-IF201610060540)以验证问题是否已解决。

【讨论】:

  • 谢谢,伊丹。该项目被搁置了一段时间(由于不相关的原因),直到现在我才完成它。 7.1 分支 (20170120) 的最新 MFPF 版本不再显示此行为。不知道当时的原因是什么(如果我没有忽略任何可能导致它的原因),但补救措施仍然有效。