Каков наилучший способ реализовать отслеживание Google Analytics для Actionscript 2?

#flash #google-analytics #actionscript-2

#flash #google-analytics #actionscript-2

Вопрос:

Я ищу код, примеры, библиотеку, компоненты для использования отслеживания событий Google Analytics в моих фильмах Actionscript 2 Flash. Я могу найти информацию о AS3 на сайте Google code, но не AS2. Какой лучший ресурс для руководств и примеров по тегированию моих файлов Flash для использования асинхронного кода Google Analytics. Я нашел некоторую старую информацию о старом коде Google Analytics.

Спасибо

Комментарии:

1. Просто интересно, почему вы все еще используете as2, а не as3?

Ответ №1:

Мне приходилось выполнять большую часть сопровождения проектов AS2, поэтому я знаю, откуда вы беретесь. Вот что я делаю:

Шаг 1 — настроить в вашем HTML-файле маяк отслеживания Google Analytics, который может использоваться в вашем flash-фильме. У Google есть примеры того, как это сделать, но вот пример настройки, которую я недавно выполнил:

 <!-- Set up Google Analytics tracking -->
    <script type="text/javascript">
        var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
        document.write(unescape("<script src='"   gaJsHost   "google-analytics.com/ga.js' type='text/javascript'>"));
    </script>

    <script type="text/javascript">

        // I'm pulling in my project id tag from a config file
        // you will want to use the project id that google gives you. Ex: UA-#####-#

        var pageTracker = _gat._getTracker('<?php echo $config['_tracker']; ?>');
        pageTracker._initData();

    </script>
<!-- End Google Analytics setup -->
  

Теперь, когда на вашей странице установлен маяк, вы можете использовать ExternalInterface, чтобы ваш flash movie отправлял сообщения отслеживания в Google. Где-то в вашем flash вам понадобится функция, которую вы можете вызвать из любого другого места вашего кода, которая выглядит следующим образом:

 function track(event:String) {    
    if(ExternalInterface.available) {
        ExternalInterface.call("pageTracker._trackPageview", event);
    }
}
  

Когда вы хотите отследить событие, вы передаете строку, которая точно описывает событие, используя синтаксис Google Analytics. Пример: /root/loadingFinished или что-то подобное.

Надеюсь, это поможет! Удачи!

Комментарии:

1. Спасибо, я немного изменил это, чтобы использовать метод _gaq.push и добавить функции trackEvent и trackPageview, которые я могу вызывать в своих сценариях AS.

Ответ №2:

Я добавил это в свои проекты Flash, и, похоже, пока это работает. Я еще не оставил это достаточно надолго, чтобы проверить, что появилось в отчетах Google Analytics, но я обновлю этот ответ тем, что появится.

 import flash.external.ExternalInterface;
//
function ga_track_pageview(_event:String) {
     if(ExternalInterface.available) {
        ExternalInterface.call("_gaq.push",['_trackPageview', _event]);
    }   
}
function ga_track_event(_category:String, _action:String, _label:String, _value:Number) {
     if(ExternalInterface.available) {
        ExternalInterface.call("_gaq.push",['_trackEvent', _category, _action, _label, _value]);
    }   
}
//
// Button 1 pressed - 
btn_1.onRelease = function() {
    _root.ga_track_event("button", "pressed", "button1", null);
}
// Button 2 pressed - 
btn_2.onRelease = function() {
    _root.ga_track_event("button", "pressed", "button2", null);
}
// Tracking a page view -
ga_track_pageview("testpage_opened");