一步一步让Google Analytics在iOS上的PhoneGap 1.2.0中运行(phonegapalytics)

时间:2011-11-11 16:30:53

标签: ios cordova google-analytics

如何在iOS中的PhoneGap 1.2.0中安装Google Analytics?

2 个答案:

答案 0 :(得分:31)

首先,我必须给予这些家伙很多荣誉here.他们的博客提供了巨大的帮助,但我仍然需要做更多的事情才能最终实现它。

我将逐步完成它,以便你可以让它在一个非常基础的水平上工作,然后你可以从那里开始。我发现即使是最轻微的错误也会搞砸了。

我假设您已安装PhoneGap 1.2.0并正在使用Xcode 4.2


第A部分

获取基本的PhoneGap应用。按照PhoneGap guide进行操作。


B部分

下载PhoneGap Google Analytics插件。 我发现最简单的事情就是从here.下载zip文件。你得到了一堆你不需要的东西,但这并不重要。

展开下载目录中的文件。进入扩展目录..进入 iPhone 文件夹,您应该看到 GoogleAnalytics 文件夹。

在Xcode中,右键单击项目(顶部的蓝色块),然后选择“将文件添加到'”。导航到展开的文件夹。点击GoogleAnalytics'夹。确保将文件复制到目标群组的文件夹(如有必要)'被选中并将其添加到目标中。点击“添加”。将Xcode中文件夹中的文件拖到Plugins文件夹中。

返回Finder并打开项目目录。将GoogleAnalyticsPlugin.js从GoogleAnalytics文件夹复制到' www'夹。 Xcode将发出有关重新保存文件的警告。只需单击关闭。

转到index.html文件。在function onDeviceReady()中,将以下行添加到函数的开头。

window.plugins.googleAnalyticsPlugin.startTrackerWithAccountID("YOUR UA CODE");

接下来在onDeviceReady函数下(在同一个脚本块内)添加以下函数

function trackpage(id)
{
    console.log("start trackpage: " + id);
    window.plugins.googleAnalyticsPlugin.trackPageview(id);
    console.log("end trackpage: " + id);
}

现在,仍然在index.html文件中,找到行

<li>Check your console log for any white-list rejection errors.</li>

(记住这是phonegap 1.2.0)

在其后添加以下行。

<li class="arrow"><a href="javascript:trackpage('/TEST');">test analytics</a></li>

这提供了一个可以在测试应用中单击的链接。

NB。您必须在您正在跟踪的页面中有正斜杠(/)。因此javascript:trackpage('/TEST')将起作用,而javascript:trackpage('TEST')则不会。

最后,仍然在index.html中添加以下行

<script type="text/javascript" charset="utf-8" src="GoogleAnalyticsPlugin.js"></script> 

以下

<script type="text/javascript" charset="utf-8" src="phonegap-1.2.0.js"></script>

不要试图运行它。它不会工作。


第C部分

接下来转到GoogleAnalytics.h文件。只需擦拭它......这里有一堆问题。 JSON现在似乎是JSONKit,PhoneGapCommand现在是PGPlugin ..只需粘贴它.WapMG文档似乎到处都是。

#import <Foundation/Foundation.h>

#ifdef PHONEGAP_FRAMEWORK
#import <PhoneGap/PGPlugin.h>
#import <PhoneGap/NSData+Base64.h>
#import <PhoneGap/JSONKit.h> 
#else
#import "PGPlugin.h"
#import "NSData+Base64.h"
#import "JSONKit.h" 
#endif

#import "GANTracker.h"

@interface GoogleAnalyticsPlugin : PGPlugin<GANTrackerDelegate> {

}

- (void) startTrackerWithAccountID:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options;
- (void) trackEvent:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options;
- (void) trackPageview:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options;

@end

第D部分

接下来,将Google Analytics部分添加到项目中。这是Google提供的部分,但它方便地包含在phonegap ios GoogleAnalytics / GoogSDK插件文件夹中。

在Xcode中,转到GoogleAnalytics/GoogSDK文件夹并将GANTracker.hlibGoogleAnalytics.a文件拖到Plugins目录中。

基本上你需要将它们从'blue'GoogleAnalytics/GoogSDK文件夹复制到'yellow'文件夹中,以便可以通过头文件找到它们。


第E部分

接下来,我们需要添加sqlite(Google Analytics在不在线时存储数据)和CFNetwork(以便Google Analytics可以上传数据)到项目中。

在Xcode中单击项目(文件顶部的蓝色部分)。单击主目标。然后单击Build Phases。列表中的第3项是“Link Binary with Libraries”。请注意,其中有两个..选择前一个。打开它,然后单击+号。添加libsqlite3.0.dylib,然后添加CFNetwork.framework


第F部分

最后(几乎在那里)我们需要设置插件。转到PhoneGap.plist文件。在插件下添加另一个条目,其中键为googleAnalyticsPlugin(javascript名称),值为GoogleAnalyticsPlugin(Obj-C部分)。

在ExternalHosts下添加*条目

现在尝试并运行。越过它的手指将起作用。

测试它以运行程序然后使用新的Google Analytics实时(BETA)模式的最佳方式,因为您可以看到正在实时跟踪的网页。

您需要更改为新版本的Google Analytics(它应该是顶部的明显链接以转移到新版本)。打开GA帐户,转到Home ..REAL_TIME ...概述。 您应该会在几秒钟内看到TEST页面跟踪。

注意:您无法实时跟踪事件。你需要等待它们被处理。

<强>问题

在查看编译源链接二进制文件库时遇到了一些问题。 GoogleAnalytics部分将显示为红色。如果它们是红色的,则意味着您的项目无法找到它们,我认为您如何解决这个问题取决于您的Xcode版本,因此您可能需要谷歌一点来解决这个问题。我做的是删除GoogleAnalytics(按 - 符号)然后将文件拖入。如果它显示为&#34;正确的图标&#34; (而不是红色的盒子)它应该有效。

在Android上也可以吗?

我假设您使用的是Phonegap,您可能也在使用Android版本。如果是这种情况,您可能需要查看this comparison Q + A的差异。

答案 1 :(得分:1)

非常感谢你的出色工作,我唯一的困惑在于这块:

function trackpage(id)
{
    console.log("start trackpage: " + id);
    window.plugins.googleAnalyticsPlugin.trackPageview(id);
    console.log("end trackpage: " + id);
}

不得不将其放在onready函数之外,以便在我的应用中使用。