在手机视频应用中跟踪用户操作的最佳方法是什么?我正在使用PhoneGap Build来构建纯JS / CSS / HTML Sencha Touch应用程序,因此我无需访问任何其他内容。 Google Analytics仅适用于互联活动,我相信我的大部分应用都是通过网络进行的。
有什么解决方案?我愿意为一些值得使用的东西买单。
答案 0 :(得分:1)
您可以编写自己的PhoneGap插件(基本上是JavaScript到Native代码桥)。这将使您可以自由使用任何具有离线支持的当前原生解决方案(Webtrends,GA,Flurry,...)。
请参阅:http://wiki.phonegap.com/w/page/36752779/PhoneGap%20Plugins
您必须为每个要支持的平台创建一个JavaScript文件和一个Native文件。在您的原生代码中,您可以拨打跟踪供应商的SDK。
我使用了Android示例,并将此示例放在一起作为示例。请注意,这根本没有经过测试,甚至没有进入IDE。我只是在notepad ++中编辑了提供的示例: - )
//爪哇
public class TrackingPlugin extends Plugin {
public static final String ACTION="pageView";
@Override
public PluginResult execute(String action, JSONArray data, String callbackId) {
Log.d("Tracking", "Plugin Called");
PluginResult result = null;
if (ACTION.equals(action)) {
try {
String pageTitle= data.getString(0);
JSONObject res = new JSONObject();
SOME_TRACKING_API.Track(pageTitle);
res.put("status","OK");
result = new PluginResult(Status.OK, res);
} catch (JSONException jsonEx) {
Log.d("DirectoryListPlugin", "Got JSON Exception "+ jsonEx.getMessage());
result = new PluginResult(Status.JSON_EXCEPTION);
}
} else {
result = new PluginResult(Status.INVALID_ACTION);
Log.d("TrackingPlugin", "Invalid action : "+action+" passed");
}
return result;
}
// JavaScript的
/**
* @return Object literal singleton instance of Track
*/
var Track = function() {
};
/**
* @param pageTitle The title for a new view
* @param successCallback The callback which will be called when track call is done
* @param failureCallback The callback which will be called when track call is done
*/
Track.prototype.pageView = function(pageTitle,successCallback, failureCallback) {
return PhoneGap.exec(
successCallback, //Success callback from the plugin
failureCallback, //Error callback from the plugin
'TrackingPlugin', //Tell PhoneGap to run "TrackingPlugin" Plugin
'pageView', //Tell plugin, which action we want to perform
[pageTitle]); //Passing list of args to the plugin
};
PhoneGap.addConstructor(function() {
PhoneGap.addPlugin("Track", new Track());
});
答案 1 :(得分:1)
注意:对于较新版本的PhoneGap,此信息似乎已过期。谨慎行事。
PhoneGap发布了一个半官方Google Analytics插件,用于使用适用于iOS和Android的官方Google AnalyticsSDK;对于其他平台,您可以依赖JavaScript。
Here's the blog post about it.
您可以在此repository中找到它。
以下是以下文件夹:
答案 2 :(得分:1)
由于接受的答案无效,因为该插件不再存在,我只是想提一下我为此目的检查的插件。实际上有3个(加上一些测试版):
艰难的选择......我一直在单独测试它们并且它们似乎都在完成这项工作,所以可能它仅仅取决于你喜欢它们的使用方式。
当设备处于脱机状态时,他们都没有提及有关排队事件的任何内容,并且一旦网络可用就调度它们,但GAPlugin有一个队列根据您在初始化期间可以设置的频率进行调度,因此它可能可以解决离线问题。
如果有人对此有所了解,欢迎提出意见。一旦我有时间,我会尝试在设备上测试它们,因为iOS模拟器似乎不允许我关闭wifi ...
答案 3 :(得分:-1)
当你谈论离线分析时,这一切都变得非常棘手。有两件事突然出现在我面前......第一个是,我不确定你的应用是用于iOS还是Android,但Apple拒绝了应用,因为“app”只不过是一个移动网站的包装。这与这些应用程序没有使用任何核心设备功能(没有本机代码)的事实更相关。
其次,我意识到你提到你想远离本机代码但是看看GA Mobile SDK。您会发现GA实际上有一种在设备离线时跟踪和保存分析的方法。当应用程序具有网络连接时,分析将被发送到GA服务器。这将是一个折衷,使用一些本机代码,但节省时间,因为您不必自己推出解决方案。干杯!
http://code.google.com/apis/analytics/docs/mobile/overview.html