我是一个非常喜欢cordova的菜鸟,这可能有一个简单的解决方案,但我已经搜索了整个互联网并且未能找到它。我甚至没有运气就读过cordova的插件创建指南。
我有这个离子/ cordova应用程序,我安装了这个插件https://github.com/nordnet/cordova-universal-links-plugin 使用此命令:
$ cordova plugin add cordova-universal-links-plugin --save
顺便说一下,我使用的是角1.6,还有使用了Cordova 6.5。
现在我已经按照gitHub页面上的所有说明进行了操作,但是在调用
时universalLinks.subscribe(...)
来自
angular.module('myModule', ['libs...'])
.run(function($ionicPlatform, $state, $cordovaBadge) {
$ionicPlatform.ready(function() {
/*HERE*/ universalLinks.subscribe(...) /*HERE*/
...
}
我收到此错误:
Uncaught ReferenceError: universalLinks is not defined
at app.js:44
at Array.<anonymous> (ionic.bundle.js:56230)
at onPlatformReady (ionic.bundle.js:2496)
at onWindowLoad (ionic.bundle.js:2477)
我尝试添加&#39; universalLinks&#39;或者&#39;通用链接&#39;进入模块的依赖关系数组,但后来我得到与之相关的错误(注入器无法找到它)
我查看了该插件的目录,并在那里定义了universalLinks对象的.//iversonLinks.js文件,但我不知道该如何处理,我可以& #39; t将它包含在index.html中,因为它不在我的应用程序的www目录中,我认为cordova应该自动集成它。
我做错了什么?我该如何实际使用这个插件?
在SO上有一个类似但未回答的问题:How to include and use cordova plugins
答案 0 :(得分:0)
自从你提出这个问题已经有一段时间了,但这是解决方案。您需要将universalLinks.subscribe
置于&#34; deviceready&#34;事件监听器回调。将它放在$ionicPlatform.ready
或其他内容中并不起作用,但似乎deviceready
事件正常工作。
看起来应该是这样的:
app.run(function () {
document.addEventListener("deviceready", function () {
universalLinks.subscribe(null, function (eventData) {
...
});
});
});