3

我正在尝试将 Branch.io 集成到我的应用程序中,但收到此错误消息:“未捕获的 ReferenceError:DeepLinkHandler 未定义”

我在这里按照他们的说明添加了他们的 SDK: https ://dev.branch.io/getting-started/sdk-integration-guide/guide/cordova/#start-a-branch-session

具体来说,我应该这样做:“然后添加方法 DeepLinkHandler,它将在会话存在时充当我们的回调。深度链接数据将包含在此处:”

function DeepLinkHandler(data) {
    alert('Data from initSession: ' + data.data);
}

这正是我所做的。

我在他们的支持下进行了交谈,得出的结论是,我们需要将该函数定义为全局函数,这样就可以从任何地方调用它。

  1. 是否有人使用带有 Branch.io 插件的 Ionic 可以帮助我修复它?
  2. 如何在 Ionic 中定义全局函数?

谢谢!

4

1 回答 1

1

定义全局方法很容易:在页面顶部的 app.js 中,只需添加方法:

function DeepLinkHandler(data) {
        console.log("inside DeepLinkHandler");
        if (data) {
            alert('Data from deep link: ' + JSON.stringify(data));
        } else {
            alert('No data found');
        }
    }

感谢您的帮助,它实际上解决了我的问题,我得到了 console.log :)

编辑:它确实调用它,但现在我需要找出一个不同的问题 - 我如何从全局函数调用我的服务。我不确定答案是什么。

Edit2:解决这个问题的想法是触发一个事件。这是灵感,一些变化,它奏效了。 https://github.com/BranchMetrics/Cordova-Ionic-PhoneGap-Deferred-Deep-Linking-SDK/issues/128

于 2016-04-14T15:14:30.003 回答