0

Worklight 6.2.0 三星 Galaxy S4、Android 4.4.2 上的本机 Worklight 应用程序

WLAnalytics.enable();
WLAnalytics.log("some text", new org.json.JSONOBject() );
WLAnalytics.send();

// and also go on to successfully call an adapter

Analytics Dasboard 显示应用程序版本和适配器活动。日志搜索不显示任何应用程序日志消息,选择应用程序的下拉菜单仅显示“所有应用程序”,没有我的应用程序的迹象。

我错过了一些初始化步骤吗?还有其他想法吗?

** 编辑添加**

有人建议我们应该使用以下方法:

 WLAnalytics.log("some text");

在我们的 6.2.0.00 CLI 环境中,没有这样的 Java 方法。

4

2 回答 2

1

答案是在使用纯 Native 应用程序时似乎需要进一步的初始化要求,这些通常是使用 Worklight CLI 工具构建的。

这是初始化,注意对 Logger.setContext() 的调用

    WLAnalytics.enable();
    Logger.setContext(this);

然后这个工作

    WLAnalytics.log("My test message2", new org.json.JSONObject());

值得注意的是,对 WLAnalytics.send() 的调用在正常运行中不是必需的,因为通常分析数据被缓冲并作为适配器调用的附带发送。但是,在测试对 send() 的调用时确实有帮助。

此外,如果在 Analytics WAR 与 Worklight Server WAR 位于不同机器上的环境中运行,则会有额外的延迟。因此,测试所有这些都需要小心。

于 2014-10-31T15:12:38.523 回答
0

现在,我建议您只使用 WLAnalytics.log(String) 方法。无论是通过文档还是代码修复,都有一些明显的不一致需要处理。

WL.Logger API 最初是为了将日志数据发送到自定义适配器而创建的,这就是它们使用字典/对象来获取额外元数据的原因。发送到自定义适配器的数据可以作为有效的 JSON 对象读取,以在适配器上运行操作。

WL.Analytics API 模仿 WL.Logger API 的目的相同:在工作灯适配器上解析 JSON。操作分析服务器可以方便地拦截和显示其中一些日志,但正如您所了解的那样,并非所有这些日志都被捕获。

不过,您的问题都是有效的,因为文档中没有描述这些问题。在未来的版本中,我们可能会在操作分析控制台中使用传递给 API 的额外 JSON 对象,但目前它们仅用于将分析发送到自定义适配器的最初目的。

于 2014-10-22T16:57:55.333 回答