[英]Best analytics for a PhoneGap application?
什么是跟蹤手機應用中的用戶操作的最佳方式? 我正在使用PhoneGap Build來構建純JS / CSS / HTML Sencha Touch應用程序,因此我無需訪問任何其他內容。 Google Analytics僅適用於互聯活動,我相信我的大部分應用都是通過網絡進行的。
有什么解決方案? 我願意付出值得使用的東西。
由於接受的答案無效,因為該插件不再存在,我只是想提一下我為此目的檢查的插件。 實際上有3個(加上一些測試版):
艱難的選擇......我一直在單獨測試它們並且它們似乎都在完成這項工作,所以可能只是基於您喜歡它們的使用方式的偏好問題。
當設備處於脫機狀態時,他們都沒有提及有關排隊事件的任何內容,並且一旦網絡可用就調度它們,但是GAPlugin有一個隊列可以根據您在初始化期間設置的頻率進行調度,因此它可以解決脫機問題。
如果有人對此有所了解,非常歡迎評論。 一旦我有時間,我會嘗試在設備上測試它們,因為iOS模擬器似乎不允許我關閉wifi ...
您可以編寫自己的PhoneGap插件(基本上是JavaScript到Native代碼橋)。 這將使您可以自由使用任何具有離線支持的當前原生解決方案(Webtrends,GA,Flurry,...)。
請參閱: http : //wiki.phonegap.com/w/page/36752779/PhoneGap%20Plugins
您必須為每個要支持的平台創建一個JavaScript文件和一個Native文件。 在您的本機代碼中,您將調用跟蹤供應商的SDK。
我使用了Android示例,並將此示例放在一起作為示例。 請注意,這根本沒有經過測試,甚至沒有進入IDE。 我只是在記事本++中編輯了提供的示例:-)
// Java的
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());
});
注意:對於較新版本的PhoneGap,此信息似乎已過期。 謹慎行事。
PhoneGap發布了一個半官方的谷歌分析插件,用於iOS和Android的官方谷歌分析SDK; 對於其他平台,您可以依賴JavaScript。
您可以在此存儲庫中找到它。
以下是以下文件夾:
當你談論離線分析時,這一切都變得非常棘手。 有兩件事突然出現在我面前......第一個是,我不確定你的應用是用於iOS還是Android,但Apple拒絕了應用,因為“app”只不過是一個移動網站的包裝。 這與這些應用程序沒有使用任何核心設備功能(沒有本機代碼)的事實更相關。
其次,我意識到你提到你想遠離本機代碼但是看看GA Mobile SDK。 您會發現GA實際上有一種在設備離線時跟蹤和保存分析的方法。 當應用程序具有網絡連接時,分析將被發送到GA服務器。 這將是一個折衷,使用一些本機代碼,但節省時間,因為您不必自己推出解決方案。 干杯!
http://code.google.com/apis/analytics/docs/mobile/overview.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.