如何在iOS中的PhoneGap 1.2.0中安装Google Analytics?
答案 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.h
和libGoogleAnalytics.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
函数之外,以便在我的应用中使用。