Просмотрите видео, чтобы увидеть его в действии:
http://screencast.com/t/6vkWlZOp
После некоторых исследований я нашел решение. Я столкнулся с этим вопросом в группе Google Phonegap: https://groups.google.com/forum/#!msg/phonegap/uqYjTmd4w_E/YD1QPmLSxf4J (спасибо TimW и Dan Levine!) В этой теме Я обнаружил, что можно использовать Google Analytics без плагина. Все, что вам нужно сделать, это загрузить файл ga.js из Google http://www.google-analytics.com/ga.js (просто сохраните страницу в своей папке www)
Затем измените файл ga.js, добавив к нему один символ. Найдите файл ga.js для слова «файл:» и замените его на «_file:».
В потоке, который я связал выше, «TimW» объясняет причины этого:
По сути, Google Analytics не будет работать, если он используется из файла: /// url. В iOS / PhoneGap это так. Чтобы решить эту проблему, вы должны сначала скачать ga.js-файл из Google и включить его как часть вашей локальной сборки. Вы заметите, что этот файл обфускации. Найдите файл для строки «файл:», который должен появиться только один раз. Когда вы его найдете, добавьте подчеркивание к началу (так оно станет «_file:»). Это предотвращает соответствие протокола местоположения страницы (который является «файлом:»).
blockquote>После того, как вы добавили один символ в файл ga.js, просто включите это в верхнюю часть ваша страница:
Я тестировал это на симуляторе, и у меня есть доказательство того, что он работал с использованием представления в режиме реального времени в Google Analytics. Симулятор работал на iOS 5.0. Мой телефон все еще находится на iOS 4.2, и когда я тестировал его на своем устройстве, он не отображался в режиме реального времени.
В потоке кто-то упомянул те же проблемы с Android 4.0+. .. Надеюсь, в будущем будет лучшее решение для этого, но на данный момент это самый простой и наименее сложный способ получить базовую аналитику для моего приложения.
Несмотря на то, что iOS 4 и пользователи Android являются меньшинством на рынке (см. Круговую диаграмму):
Я бы хотел получить данные из всех ОС.
Я решил эту проблему с помощью сценария.
Я добавил форму в таблицу, вложенную в повторяющуюся строку. Здесь я добавил поля из дочерних узлов CustomerInvoice.PriceAndTax.PriceComponents, которые я хотел отобразить, и поле Description, чтобы проверить значение.
Структура таблицы
-- tblVATAnalysis
-- HeaderRow
--- header fields ---
-- MainRow
-- Row1
-- colRate
-- colSupplies
-- colVATAmount
-- HiddenRow
-- lblDescription
-- decRate
-- decSupplies
-- decVATAmount
Затем я добавил следующий скрипт:
FormInvoiceRequest.bdyMain.frmSummaryData.tblVATAnalysis.MainRow.HiddenRow
::initialize - (FormCalc, client)
var content = "";
if(this.decRate.rawValue <> null & this.decRate.rawValue <> "")
then
if(this.lblDescription.rawValue == "VAT (%)")
then
content = this.decRate.rawValue;
endif
if(this.parent.parent.frmTaxAmount.decTaxAmount == 0)
then
if(this.lblDescription.rawValue == "Total Item Net Value")
then
content = this.decRate.rawValue;
endif
endif
endif
if(content <> "")
then
FormInvoiceRequest.bdyMain.frmSummaryData.tblVATAnalysis.MainRow.Row1
.colRate.rawValue = content;
else
FormInvoiceRequest.bdyMain.frmSummaryData.tblVATAnalysis.MainRow.Row1
.presence = "hidden";
endif
Заполняет переменную с именем content, если в строке есть описание НДС (%) , тогда, если у контента нет значения, строка скрыта.