Использование Google Analytics с гибридным мобильным приложением - программирование
Подтвердить что ты не робот

Использование Google Analytics с гибридным мобильным приложением

Мы в процессе превращения нашего родного iPad-приложения в гибридное приложение. Некоторые функциональные возможности и пользовательский интерфейс останутся в собственном коде, а другие функции будут реализованы в HTML, которые будут обслуживаться с наших серверов, а также будут доступны в автономном режиме.

Основная проблема, с которой я столкнулся сейчас, заключается в использовании Google Analytics:
Существующий собственный код использует GA SDK для IOS, и я планировал использовать веб-API для веб-части, однако я не могу найти, как данные из обоих каналов могут использоваться вместе в GA, поскольку хранилища данных кажутся различными.

Кроме того, я планирую использовать Эксперименты с материалами Google Analytics для тестирования A/B веб-части, но цели конверсии могут быть достигнуты в собственной части.

У любого есть опыт работы с аналитикой в ​​гибридных приложениях или альтернативных решениях.

Спасибо

4b9b3361

Ответ 1

Вы действительно хотите использовать SDK. В нем есть некоторые функции, которые пригодится для мобильных приложений, таких как сбои, интеграция в хранилище игр. Он также отправляет данные партиями, чтобы улучшить использование батареи, а также может запускать очереди, пока приложение не отправляется в офлайн-режиме, когда он отправляется онлайн. Вы не сможете эмулировать это с помощью реализаций Javascript.

Итак, вам нужно написать Javascript-методы, которые отправляют данные из WebView обратно в Родную часть приложения. Этот другой поток содержит более подробные сведения о том, как это сделать.

Таким образом, javascript для отслеживания взаимодействия Google Analytics может выглядеть примерно так.

var _gaq = {};
_gaq.push = function(arr){
  var i, hit;
  hit = arr.slice(1).join('&');
  location.href = 'analytics://'+arr[0]+'?'+arr;
};

Теперь это будет работать в качестве замены вашего файла ga.js, вы все равно можете использовать тот же API, что и на _gaq сегодня, в своем веб-приложении, и указанный выше адаптер отправит свои данные в исходную часть APP, И тогда вам просто нужно написать собственную часть, которая будет перехватывать этот HTTP-запрос и использовать собственный SDK для выполнения функций Google Analytics.

Нормальный _gaq.push(['_trackPageview', '/homepage']); станет ури, как analytics://_trackPageview?/homepage, теперь вам просто нужно перехватить и проанализировать это на родной части.

- (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;
}

Надеюсь, он дал вам хорошую отправную точку. Удачи.

Ответ 2

Действительно сложная конфигурация.

Изучали ли вы использование analytics.js(Universal Analytics) для веб-части? Тогда вы можете иметь возможность передавать данные в один профиль приложения

В остальном вы можете отправлять все вызовы отслеживания из вашего бэкэнд, используя реализацию на стороне сервера Протокол измерений, но вы, вероятно, свободное использование Эксперимента контента!

Ответ 3

Я использую http://www.flurry.com/ для своих приложений и Google Analytics для других вещей. Я никогда не смешивал их обоих в одном приложении, но я предполагаю, что это выполнимо. Я бы сказал, прежде всего, проверить шквал. Там хороший шанс, которого хватит и для гибридного приложения.