2014-12-05 2 views
2

Я регистрирую запросы HTTP POST из встроенного приложения с использованием кода C и просмотр событий в реальном времени для одной учетной записи GA, но не для другого.Протокол измерения Google Analytics/события реального времени не отображаются

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

Примечания:

    я) Клиент идентификатор GUID, тот же в обоих случаях [чид = 35009a79-1a05-49d7-b876-2b884d0f825b]
    II) Единственным отличием является код отслеживания [TID = UA-XXXX-YY]
    III) Я понимаю, что параметры «эВ» и «эль» не нужны (и вставляя их не делает никакой разницы)
    IV) Установка «в» параметра (например, = MyApp) вызывает событие в реальном времени; но удаление an = MyApp делает событие НЕ отображаемым как событие реального времени (но оно появляется на следующий день в качестве зарегистрированного события)


Любые идеи, что здесь происходит?

[Как и в сторону (и, хотя это не должно вызывать каких-либо различий), я позволил API GA в консоли разработчика, и я использую тот же Консоли разработчика сгенерированный идентификатор клиента в обоих случаях.]

EDITED : Вот представитель фрагмент из HTTP пост: -

static BYTE ServerName[] = "www.google-analytics.com"; 
static WORD ServerPort = 80; 
static BYTE GAClientID[] = "35009a79-1a05-49d7-b876-2b884d0f825b"; 
static BYTE GATrackingCode[] = "UA-XXXXXXX-Y"; 
static ROM BYTE ContentLength[4]; 

strcpy(pPayloadBuffer, (ROM BYTE*)"v=1"); 
strcat(pPayloadBuffer, (ROM BYTE*)"&tid="); 
strcat(pPayloadBuffer, (ROM BYTE*)GATrackingCode); 
strcat(pPayloadBuffer, (ROM BYTE*)"&cid="); 
strcat(pPayloadBuffer, (ROM BYTE*)GAClientID); 

strcat(pPayloadBuffer, (ROM BYTE*)"&an=MyApp2&t=pageview&dp=Test"); 

strcat(pPayloadBuffer, (ROM BYTE*)"&t=event&ev=55&el=label&cd2="); 

// get SNTP time and convert to struct tm 
dwSNTPseconds = SNTPGetUTCSeconds(); 
timeNow = gmtime((const time_t*)&dwSNTPseconds); 

// inspect values in tm struct 
sec = timeNow->tm_sec; 
min = timeNow->tm_min; 
hour = timeNow->tm_hour; 
day = timeNow->tm_mday; 
month = timeNow->tm_mon; 
year = timeNow->tm_year + 1900; 

// years 
uitoa(year, sBuffer); 
strcat(pPayloadBuffer, sBuffer); 

// months 
if (month<10) { 
    strcat(pPayloadBuffer, "0"); 
} 
uitoa(month, sBuffer); 
strcat(pPayloadBuffer, sBuffer); 

// days 
if (day<10) { 
    strcat(pPayloadBuffer, "0"); 
} 
uitoa(day, sBuffer); 
strcat(pPayloadBuffer, sBuffer); 

// hours 
if (hour<10) { 
    strcat(pPayloadBuffer, "0"); 
} 
uitoa(hour, sBuffer); 
strcat(pPayloadBuffer, sBuffer); 

// minutes 
if (min<10) { 
    strcat(pPayloadBuffer, "0"); 
} 
uitoa(min, sBuffer); 
strcat(pPayloadBuffer, sBuffer); 

// seconds 
if (sec<10) { 
    strcat(pPayloadBuffer, "0"); 
} 
uitoa(sec, sBuffer); 
strcat(pPayloadBuffer, sBuffer); 

// Temperature 
strcat(pPayloadBuffer, (ROM BYTE*)"&cm1="); 
uitoa(gTemperature, tmpString); 
strcat(pPayloadBuffer, tmpString); 

lenPayload = strlen(pPayloadBuffer); 

// Place the application protocol data into the transmit buffer 
TCPPutROMString(MySocket, (ROM BYTE*)"POST /collect HTTP/1.1\r\n"); 
TCPPutROMString(MySocket, (ROM BYTE*)"Host: "); 
TCPPutString(MySocket, ServerName); 
TCPPutROMString(MySocket, (ROM BYTE*)"\r\n"); 
TCPPutROMString(MySocket, (ROM BYTE*)"Content-Type: text/xml; charset=utf-8\r\n"); 
TCPPutROMString(MySocket, (ROM BYTE*)"Content-Length: "); 
uitoa(lenPayload, (BYTE*)ContentLength); 
TCPPutString(MySocket, (BYTE*)ContentLength); 
TCPPutROMString(MySocket, (ROM BYTE*)"\r\n"); 
TCPPutROMString(MySocket, (ROM BYTE*)"Accept-Language: en-us \r\n"); 
TCPPutROMString(MySocket, (ROM BYTE*)"Accept-Encoding: gzip, deflate \r\n"); 
TCPPutROMString(MySocket, (ROM BYTE*)"Connection: Keep-Alive \r\n\r\n"); 
TCPPutString(MySocket, pPayloadBuffer); 

// end of line 
TCPPutROMString(MySocket, (ROM BYTE*)"\r\n"); 
TCPPutROMString(MySocket, (ROM BYTE*)"\r\n"); 
// Send the packet 
TCPFlush(MySocket); 
+0

любой шанс, что вы можете опубликовать полный пример HTTP POST ? Это учетная запись веб-аналитики или учетная запись приложения? – DaImTo

+0

Account1: Web, Account2: App, Account3: Web. Только Account1 показывает события в реальном времени. Добавлен пример HTTP POST в приведенном выше сообщении – quixote

+0

для учетных записей приложений его & t = screenview not & t = pageview – DaImTo

ответ

1

Не полный ответ, я просто пытаюсь помочь отладки:

Для приложения счетов его & т = screenview не & т = Просмотр страницы

Для приложения счетов следующих незадокументированы требуемые поля

  • a - Пример применения: an = My% 20Awesom% 20APP
  • Помощь - пример применения: aid = com.daimto.awesom.app
  • ау - приложение версия Пример: ау = 1.0.0
  • ФИИР - Application Installer ID пример: ФИИР = come.daimto.awesom.installer
+1

Большое спасибо. Я попробовал +1, но у меня еще нет «повторений». Спасибо в любом случае за вашу помощь ..! – quixote

+0

Документация для api говорит, что помощь, av и aiid являются необязательными. https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#apptracking – astletron

+0

@astletron Я знаю, что, но я провел тестирование и услышал непосредственно от разработчиков Google, эти элементы являются недокументированными требуемыми элементами, как указано. Не стесняйтесь тестировать себя. Я снова сообщаю о проблеме, чтобы документация была исправлена. Добро пожаловать в стек: перед тем, как голосовать, попробуйте и убедитесь, что ответ на самом деле ошибочен. – DaImTo

0

Попробуйте проверить, чтобы увидеть, если у вас есть различные фильтры на GA счета он не отображается в меня была такая же проблема, и она оказалась. из-за IP-фильтра.

+0

Почему фильтр IP влияет на это? Я пробовал, и это не имеет никакого значения ... – quixote

+0

У меня был IP-фильтр, блокирующий мой офис, где я тестировал трафик.Но в реальном времени отчеты обрабатывают фильтры несколько иначе, чем обычные отчеты GA, поскольку может произойти меньшая обработка. Если у вас есть какие-либо фильтры, может быть стоит попробовать в одном, чтобы никто не видел, если это происходит. – MarkeD

+0

Теперь я понимаю, что вы имеете в виду. Я думал, вы имеете в виду приспособления, которые могут быть созданы в GA. Я пробовал модифицировать последнее, и никакой разницы. Account1 все еще показывает события в реальном времени, тогда как учетные записи 2 и 3 не – quixote

Смежные вопросы