Развитие игровой вспышки
Текущее время: Вс ноя 19, 2017 10:50 am

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Google Analitics (Firebase)
СообщениеДобавлено: Сб авг 13, 2016 1:02 pm 
Не в сети

Зарегистрирован: Вт окт 12, 2010 1:24 am
Сообщений: 1164
Откуда: Saint-Petersburg
Господа, я могу использовать это в мобильном эйре, кто знает?
https://developers.google.com/analytics ... SetupFlash

Чето микмановский 40$ меня жаба душит, есть и бесплатные ane но они все старые.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Google Analitics (Firebase)
СообщениеДобавлено: Сб авг 13, 2016 1:36 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Вс дек 19, 2010 5:31 pm
Сообщений: 4844
Откуда: Пока не знаю
Сайт: http://gamespoweredby.com/blog/
http://fabricemontfort.com/
где-то эта ссылка пробегала на днях. Посмотри, нет ли того, что тебе надо


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Google Analitics (Firebase)
СообщениеДобавлено: Сб авг 13, 2016 1:40 pm 
Не в сети

Зарегистрирован: Вт окт 12, 2010 1:24 am
Сообщений: 1164
Откуда: Saint-Petersburg
Вроде да, но проще будет купить всетаки ane, как он и посоветовал. Спасибо TheRabbit!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Google Analitics (Firebase)
СообщениеДобавлено: Сб авг 13, 2016 1:53 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Ср сен 29, 2010 11:52 pm
Сообщений: 2662
Откуда: Одесса
За Firebase ничего не скажу, не разобрался.
Но если нужен Google Analytics, используй Measurement Protocol и не парься.

Мой пример (100% рабочий, проверен в бою)
Код:
package {

import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.system.Capabilities;

public class GAMP {

   /** Ссылка на единственный экземпляр класса. */
   private static var INSTANCE:GAMP;

   /** URL трекера. */
   private var _trackerURL:String = "http://www.google-analytics.com/collect";

   /** Общие данные для отправки. */
   private var _commonData:String = "";

   /** Конструктор. */
   public function GAMP() {
      super();

      if (GAMP.INSTANCE) {
         throw new Error("Синглтон же! Только через getInstance().");
      }

      // Версия протокола, идентификаторы счетчика и клиента.
      this._commonData += "v=1";
      this._commonData += "&tid=ИДЕНТИФИКАТОР_РЕСУРСА_GOOGLE_ANALYTICS";
      this._commonData += "&cid=УНИКАЛЬНЫЙ_ID_КЛИЕНТА";
      // Имя, идентификатор и версия приложения.
      this._commonData += "&an=ИМЯ_ПРИЛОЖЕНИЯ";
      this._commonData += "&aid=ID_ПРИЛОЖЕНИЯ";
      this._commonData += "&av=ВЕРСИЯ_ПРИЛОЖЕНИЯ";
      // Размер экрана и язык по умолчанию.
      this._commonData += "&sr=" + Math.max(Capabilities.screenResolutionX, Capabilities.screenResolutionY) + "x" + Math.min(Capabilities.screenResolutionX, Capabilities.screenResolutionY);
      this._commonData += "&ul=" + Capabilities.languages[0];
   }

   /** Ссылка на единственный экземпляр класса GAMP. */
   public static function getInstance():GAMP {
      GAMP.INSTANCE = GAMP.INSTANCE || new GAMP();
      return GAMP.INSTANCE;
   }

   /** Посылает данные о посещении экрана. */
   public function sendScreen(screen:String):void {
      this.sendData(_commonData
         + "&t=screenview"
         + "&cd=" + screen);
   }

   /** Посылает данные о событии. */
   public function sendEvent(category:String, action:String, label:String = "", value:uint = 0):void {
      this.sendData(_commonData
         + "&t=event"
         + "&ec=" + category
         + "&ea=" + action
         + "&el=" + label
         + "&ev=" + value);
   }

   /** Посылает данные на сервер. */
   private function sendData(data:String):void {
      var request:URLRequest = new URLRequest(_trackerURL);
      request.method = URLRequestMethod.POST;
      request.data = encodeURI(data);
      var loader:URLLoader = new URLLoader();
      loader.addEventListener(Event.COMPLETE, this.onLoaderComplete);
      loader.addEventListener(IOErrorEvent.IO_ERROR, this.onLoaderError);
      loader.load(request);
   }

   /** Данные отправлены успешно. */
   private function onLoaderComplete(event:Event):void {
      event.target.removeEventListener(Event.COMPLETE, this.onLoaderComplete);
      event.target.removeEventListener(IOErrorEvent.IO_ERROR, this.onLoaderError);
   }

   /** При отправке данных произошла ошибка. */
   private function onLoaderError(event:Event):void {
      // Oops!
      // trace(event);
      event.target.removeEventListener(Event.COMPLETE, this.onLoaderComplete);
      event.target.removeEventListener(IOErrorEvent.IO_ERROR, this.onLoaderError);
   }
}
}


Примеры использования
Код:
GAMP.getInstance().sendScreen("Main Menu");
GAMP.getInstance().sendEvent("Social", "Share", "Facebook");


P.S.
Уникальный ID клиента (cid) надо сгенерировать при первом запуске приложения и где-то сохранить (Shared Object, SQLIte и т.д.)
О том, как генерить cid написано здесь http://www.ietf.org/rfc/rfc4122.txt (но я так нихрена не понял и генерю иначе, наобум, и вроде работает)


Последний раз редактировалось Zebestov Пн авг 15, 2016 3:38 pm, всего редактировалось 3 раз(а).

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Google Analitics (Firebase)
СообщениеДобавлено: Сб авг 13, 2016 2:02 pm 
Не в сети

Зарегистрирован: Вт окт 12, 2010 1:24 am
Сообщений: 1164
Откуда: Saint-Petersburg
Ага, пасиб.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Google Analitics (Firebase)
СообщениеДобавлено: Сб авг 13, 2016 2:12 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Ср сен 29, 2010 11:52 pm
Сообщений: 2662
Откуда: Одесса
О, вот и UUID генератор для AS3 https://code.google.com/archive/p/actionscript-uuid/
И вот http://snipplr.com/view/45247/


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Google Analitics (Firebase)
СообщениеДобавлено: Сб авг 13, 2016 3:09 pm 
Не в сети

Зарегистрирован: Вт окт 12, 2010 1:24 am
Сообщений: 1164
Откуда: Saint-Petersburg
А при изменении as3 файла uuid меняется при компиле?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Google Analitics (Firebase)
СообщениеДобавлено: Сб авг 13, 2016 4:02 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Ср сен 29, 2010 11:52 pm
Сообщений: 2662
Откуда: Одесса
Если ты глянешь вторую ссылку (где открытый код), то увидишь, что uuid там является функцией от ряда переменных, среди которых текущее глобальное время в миллисекундах, рандомное число и постоянно увеличивающийся счетчик. Таким образом один и тот же ключ на одном и том же компе не получится, даже если запустить create() в одно и то же время и чудом (ага) получить один и тот же рандом — счетчик-то уже будет на единицу больше.

Таким образом да, при генерации ключ будет всегда разным.
Поэтому его и следует хранить для одного пользователя, чтобы аналитика могла показывать тебе такие данные, как ретеншн, или, к примеру, среднее количество сессий одного пользователя.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Google Analitics (Firebase)
СообщениеДобавлено: Сб авг 13, 2016 4:29 pm 
Не в сети

Зарегистрирован: Вт окт 12, 2010 1:24 am
Сообщений: 1164
Откуда: Saint-Petersburg
ага понятно. спасибки!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Google Analitics (Firebase)
СообщениеДобавлено: Пн авг 15, 2016 12:02 pm 
Не в сети

Зарегистрирован: Ср сен 21, 2011 1:18 pm
Сообщений: 81
Zebestov, отлично. А то пользуюсь какой-то древней гугловской analytics.swc везде, включая мобильные приложения.
Из плохого здесь: http://snipplr.com/view/45247/ только то, что Capabilities.serverString слишком часто и легко меняется.


Вернуться наверх
 Профиль Отправить e-mail  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB