本机 iOS Swift 应用程序中的 MobileFirst Platform Operational Analytics
Posted
技术标签:
【中文标题】本机 iOS Swift 应用程序中的 MobileFirst Platform Operational Analytics【英文标题】:MobileFirst Platform Operational Analytics in Native iOS Swift applications 【发布时间】:2015-12-02 15:51:14 【问题描述】:我正在使用 XCode 7 (Swift) 和 MobileFirst 7.0 开发本机 ios MobileFirst 应用程序。
我想使用 MobileFirst Operational Analytics,并且遵循以下准则:
[https://developer.ibm.com/mobilefirstplatform/documentation/getting-started-7-0/moving-production/operational-analytics/][1]
我有一些问题:
应自动记录会话,但应用程序并非如此。当更多设备在过去 24 小时内连接时,我只看到 1 台设备的数据已连接。 如何启用此功能? 或者它应该是自动的,相当于原生 iOS 中的 WL.Connect()?
适配器调用也应该是自动的,但只能在选项卡下可视化:网络->适配器概述->适配器请求和网络->适配器概述->适配器请求,但我看不到饼图生成的图表:每个应用程序调用的调用、每个服务器的调用。它们仅显示为 http 请求。 如何也生成此图表?
我想做自定义图表并使用 WL.Analytics.log()、WL.Analytics.send() 等。如何将这些调用转换为 swift?我只在混合应用中看到这个,有没有关于这个的文档?
【问题讨论】:
【参考方案1】:回答 1)
我意识到我没有成功连接到 MobileFirst 服务器。成功连接后,MobileFirst 操作分析工具会自动记录会话。代码是:
let connectListener = MyConnectListener()
WLClient.sharedInstance().wlConnectWithDelegate(connectListener)
回答 2)
以这种方式调用适配器时,Mobilefirst Operational Analytics 不会收集饼图的信息,而是将此调用注册为 http 调用:
let request = WLResourceRequest(URL: NSURL!, method: String!)
您必须像这样调用适配器,以便自动生成饼图:
let myInvocationData = WLProcedureInvocationData(adapterName: String!, procedureName: String!)
回答 3)
在swift分析中使用以下代码成功发送到服务器。
let doAnaylitics = WLAnalytics.sharedInstance()
doAnaylitics.enable()
doAnaylitics.log("type", withMetadata:["location":location])
doAnaylitics.send()
doAnaylitics.disable();
【讨论】:
【参考方案2】:回答 3)
我想做自定义图表并使用 WL.Analytics.log()、WL.Analytics.send() 等。如何将这些调用转换为 swift?我只在混合应用中看到这个,有没有关于这个的文档?
没有可用于 Swift 的 API,但您可以继续在 Swift 应用程序中使用 Objective-C 代码:How to call Objective-C code from Swift
另请参阅以下部分来配置您的 Swift 应用程序:https://developer.ibm.com/mobilefirstplatform/documentation/getting-started-7-1/foundation/hello-world/configuring-a-native-ios-application-with-the-mfp-sdk/#configSwiftApp
【讨论】:
以上是关于本机 iOS Swift 应用程序中的 MobileFirst Platform Operational Analytics的主要内容,如果未能解决你的问题,请参考以下文章
“无效的 Swift 支持”在 Xamarin.iOS 中使用本机 Swift 库
GoogleWebRTC 在 swift 本机应用程序 (OpenVidu) 中挂起(冻结)主线程