本当にSDKを使いたいと思っています。それは、クラッシュ、プレイストアの統合などのモバイルアプリケーションに便利ないくつかの機能を備えています。また、バッチでデータを送信してバッテリの使用状況を改善し、アプリがオフラインのときにヒットをキューに入れてオンライン時に送信することもできます。あなたはJavascriptの実装でそれをエミュレートすることはできません。
あなたが書く必要があるのは、WebViewからアプリケーションのネイティブ部分にデータを戻すJavascriptメソッドです。 This other Stack Overflow threadにはこれを行う方法の詳細があります。
Googleアナリティクスのやりとりをトラッキングするためのjavascriptは、次のようになります。
var _gaq = {};
_gaq.push = function(arr){
var i, hit;
hit = arr.slice(1).join('&');
location.href = 'analytics://'+arr[0]+'?'+arr;
};
これは、あなたがあなたのWebアプリケーションに_gaq今日に使うとあなたはまだ同じAPIを使用することができ、あなたのga.jsファイルの代わりとして機能し、意志上記アダプタは、ネイティブしteために、そのデータを送信しますAPPの一部。そして、HTTPリクエストをインターセプトするネイティブコンポーネントを作成し、ネイティブSDKを使用してGoogleアナリティクス機能を発行するだけです。
普通の_gaq.push(['_trackPageview', '/homepage']);
は、analytics://_trackPageview?/homepage
のようなURIになります。これで、ネイティブの部分で傍受して解析するだけです。
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSURL *url = [request URL];
NSLog(@"Hit detected %@", url.absoluteString);
if ([[url scheme] isEqualToString:@"analytics"]) {
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
if ([url.host isEqualToString:@"_trackPageview"]) {
// Get the page from parameters and then track the native View.
// (...)
[tracker trackView:page];
}
else if ([url.host isEqualToString:@"_trackEvent"]) {
// Get the event parameters from url parameters and then track the native GA Event.
// (...)
[tracker trackEventWithCategory:cat
withAction:act
withLabel:lab
withValue:val];
}
// Check for all other analytics functions types
// (...)
// Cancel the request
return NO;
}
// Not an analytics: request.
return YES;
}
私はそれがあなたに良い出発点を与えたと思います。がんばろう。
ハイブリッドアプリで慌てたことがありますか? まだライブラリのサポートはありませんが、おそらく私はもっと見る必要があります\ – Vineet