IBM Mobilefirst V8 - 使用 Ionic v3.20.0 的混合应用程序的自定义直接更新没有发生
Posted
技术标签:
【中文标题】IBM Mobilefirst V8 - 使用 Ionic v3.20.0 的混合应用程序的自定义直接更新没有发生【英文标题】:IBM Mobilefirst V8 - Custom Direct update on hybrid application using Ionic v3.20.0 is not happening 【发布时间】:2018-09-25 07:25:35 【问题描述】:我正在尝试在 ionic v3.20.0 中实现自定义直接更新,但在访问以下代码时,无法继续。我找不到任何方法,因为 worklight.d.ts 文件中没有以下函数,但可以在 worklight.js 文件中找到。
使用的插件是cordova-plugin-mfp。官方文档中提供的解决方案仅与cordova应用程序相关,可以通过具有WlCommonInit()函数的index.js文件来完成。根据文档,将从此函数调用以下代码,但无法在基于 ionic-cordova 的应用程序中执行此操作。
wl_DirectUpdateChallengeHandler.handleDirectUpdate = function(directUpdateData, directUpdateContext)
// Implement custom Direct Update logic
;
请参阅以下链接以获取更多信息。 https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/application-development/direct-update/
请帮助我在需要在 typescript 中实现的 ionic v3.20.0 中实现这一点。谢谢!。
【问题讨论】:
是在 android 或 ios 上看到的问题,还是两者兼而有之?正在使用什么 cordova-plugin-mfp 版本?什么是cordova-android和cordova-ios版本? 是的。目前正在使用 android 平台 android 6.4.0。 cordova 插件版本为:cordova-plugin-mfp 8.0.2017121811。 使用最新的cordova-android@7.0.0和cordova-plugin-mfp 可以分享一下最新的cordova-plugin-mfp的worklight.d.ts文件吗?由于我们的项目中使用了这个特定的 mfp 插件,因此我们无法对其进行升级。如果我们可以访问最新版本的 worklight.d.ts 文件中提到的代码 sn-p,请告诉我 【参考方案1】:目前cordova-plugin-mfp
中没有用于wl_DirectUpdateChallengeHandler
的 typescript API 来自定义 Ionic 应用程序中的直接更新。
但是,您可以在 javascript 中进行实现并将其包含在 Ionic 项目中。以下是步骤:
在项目的路径src/assets
内创建一个名为js
的文件夹
用如下代码新建一个JS文件并保存为wldirectudpate.js
function wlCommonInit()
console.log(">> wlCommonInit() ..." );
wl_DirectUpdateChallengeHandler.handleDirectUpdate = function(directUpdateData, directUpdateContext)
// Implement custom Direct Update logic
;
;
在 index.html 文件中添加 JS 位置,该文件位于 /src/index.html
<script src="assets/js/wldirectudpate.js"></script>
【讨论】:
感谢维塔尔的帮助。只是想再问一件事,我们可以使用基于离子的警报控制器覆盖直接更新的默认弹出窗口。但这需要在 ts 文件中实现。所以你能帮我解决这个问题吗? 加载窗口时窗口对象调用 wlCommonInit() 函数。我尝试通过使用声明 var wlCommonInit 从 app.component.ts 文件调用它并通过调用在构造函数中使用它来覆盖它wlCommonInit() 但不幸的是,我收到了错误,因为未处理的承诺拒绝并声明 wl_directUpdateChallengeHandler 未定义。请帮助我,因为我已经尝试了几乎所有可能的方法。 @vikaskumar 而不是覆盖wlCommonInit
,您可以尝试在app.component.ts 文件中覆盖wl_DirectUpdateChallengeHandler.handleDirectUpdate
吗?以上是关于IBM Mobilefirst V8 - 使用 Ionic v3.20.0 的混合应用程序的自定义直接更新没有发生的主要内容,如果未能解决你的问题,请参考以下文章
IBM Mobilefirst V8 - 使用 Ionic v3.20.0 的混合应用程序的自定义直接更新没有发生
IBM MobileFirst v8 尝试在成功登录挑战处理程序后获取 android cordova 应用程序上的令牌
部署 IBM Mobile v8.0.0 MobileFirst HTTP Adater 错误 - “适配器部署失败:检测到数据库错误。”
是否可以启用使用 MobileFirst SDK7.1 开发的推送通知可以运行 MobileFirst Server V8.0?