簡體   English   中英

PhoneGap應用程序的最佳分析?

[英]Best analytics for a PhoneGap application?

什么是跟蹤手機應用中的用戶操作的最佳方式? 我正在使用PhoneGap Build來構建純JS / CSS / HTML Sencha Touch應用程序,因此我無需訪問任何其他內容。 Google Analytics僅適用於互聯活動,我相信我的大部分應用都是通過網絡進行的。

有什么解決方案? 我願意付出值得使用的東西。

由於接受的答案無效,因為該插件不再存在,我只是想提一下我為此目的檢查的插件。 實際上有3個(加上一些測試版):

  1. https://github.com/phonegap-build/GAPlugin
  2. https://github.com/danwilson/google-analytics-plugin
  3. https://github.com/cmackay/google-analytics-plugin

艱難的選擇......我一直在單獨測試它們並且它們似乎都在完成這項工作,所以可能只是基於您喜歡它們的使用方式的偏好問題。

當設備處於脫機狀態時,他們都沒有提及有關排隊事件的任何內容,並且一旦網絡可用就調度它們,但是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM