在我的 iOS 应用程序中,我想使用 Flurry 分析。在应用程序的一个屏幕上有 UIWebView。该站点在服务器上,但不在 App 的代码中。每次我加载该屏幕时,信息都会从服务器传输到我的屏幕,一切正常。我的 WebView 上有很多按钮,我想在按下它们时跟踪它们。如果按钮位于 App 代码中,我阅读了有关如何在 App 代码中实现 Flurry 分析的信息,但如果按钮位于服务器端(html/css/JS),我无法理解如何跟踪事件从 App 上的 UIWebView 到 Flurry。
如果我的应用程序是我的移动网站的包装器,我可以使用 Flurry Analytics 跟踪事件(例如按下按钮)吗?这些操作发生在应用程序包装的站点服务器上。
是的,您可以跟踪这些事件。如果您要跟踪的操作(例如按钮按下)存在于应用程序代码中,则只需在应用程序端记录一个事件。如果按钮存在于 Web 视图中显示的移动网页上,您将需要注入一个 Javascript 函数,该函数将在按下按钮时触发一个额外的自定义 URL。此 URL 将具有自定义方案,例如“myapp://buttonclicked”。然后在应用程序代码中,您需要在 Web 视图触发它之前捕获该 URL。当您看到该 URL 是您指定的 URL(“myapp://...”)时,您可以在应用端记录一个事件。有几种方法可以在 Web 视图加载自定义 URL 之前捕获它。在 iOS 中,您需要实现 UIWebViewDelegate 方法 webView:shouldStartLoadWithRequest:navigationType:。在 Android 上,您可以使用 shouldOverrideUrlLoading 方法实现 WebViewClient。