Intereting Posts
При использовании AChartEngine некоторые метки по оси X искажаются (перепутаны) вверх Как вращать кнопку плавающего действия без теневой тени? Ошибка импорта android OneSignal Увеличение яркости и контрастности изображения после захвата с камеры в андроиде Поиск метки перечисления по значению Загрузите компоненты Android SDK для автономной установки Аудио Прямой поток: максимизация базы пользователей (проблема декодирования) Как получить атрибут, используя парсер XMLPull Чат и приложение VOIP Android SearchView.OnQueryTextListener OnQueryTextSubmit не запускается в пустой строке запроса Как добавить Flurry в AdMob или AdWhirl Mediation? Как циклически просматривать представления в представлении Pager для горизонтального просмотра в Android Глубокая ссылка в приложение, когда приложение уже работает в фоновом режиме Можно ли создавать пользовательские наклейки Viber? Не удалось подключиться к моему устройству Android через ADB

Тестирование кампании Google Analytics V4 Тестирование не работает

Я начал выполнять измерение кампании с помощью Google Analytics V4, ссылаясь на ссылку https://developers.google.com/analytics/devguides/collection/android/v4/ . Перед тем, как протестировать Campign Measurement, как указано в https://developers.google.com/analytics/solutions/testing-play-campaigns . Каждый раз, когда мои журналы показывают «Нет данных кампании»,

Я импортировал сервисы Google Play (Rev: 18) в мое рабочее пространство и передал его в свой проект

Добавлены ниже строки в моем файле манифеста

<uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.google.android.gms.analytics.globalConfigResource" android:resource="@xml/global_tracker" /> 

А также ниже кода

 <service android:name="com.google.android.gms.analytics.CampaignTrackingService"/> <receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver> 

Позже созданный файл global_tracker.xml под res-> xml. Ниже мой xml-файл

  <?xml version="1.0" encoding="utf-8" ?> <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes" > <integer name="ga_sessionTimeout">300</integer> <!-- Enable automatic Activity measurement --> <bool name="ga_autoActivityTracking">true</bool> <bool name="ga_debug">true</bool> <string name="ga_logLevel">verbose</string> <string name="ga_dryrun">true</string> <!-- The screen names that will appear in reports --> <!-- The following value should be replaced with correct property id. --> <string name="ga_trackingId">UA-xxxxxxx-1</string> </resources> 

Заменил идентификатор отслеживания моим идентификатором отслеживания

Во время тестирования измерения кампании я сначала установил приложение на свое устройство (Moto G (4.4.2)) через adb install. Убедитесь, что приложение не работает и транслирует намерение, как указано в приведенной выше ссылке. Я получил журнал успеха, когда транслировал намерение.

умысел

 E:\xxxxxxx\adt-bundle-windows-x86_64-20140321\sdk\platform-tools >adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n <My Package name>/com.google.android.gms.analytics.CampaignTrackingReceiver --es "referrer" "utm_source=testsource" 

Отклик:

 Broadcasting: Intent { act=com.android.vending.INSTALL_REFERRER cmp=<My Package name> >/com.google.android.gms.analytics.CampaignTrackingReceiver (has extras) } Broadcast completed: result=0 

Когда я открыл свое приложение, я всегда получал сообщение « I / GAV2 (7342): Thread [GAThread, 5, main]:« Данные кампании не найдены ». ) В моих журналах.

Может понравиться кому-то, дайте мне знать, почему я не получаю данные кампании? Где я ошибаюсь.

Кроме того, почему он показывает «GAV2» в журналах, когда я использую GAV4

Журналы GA:

 07-09 12:59:26.542: W/GAV2(20502): Thread[main,5,main]: Need to call initialize() and be in fallback mode to start dispatch. 07-09 12:59:31.568: I/GAV2(20502): Thread[GAThread,5,main]: No campaign data found. 

Примечание. Это первый раз, когда я работаю с Google Analytics. Поскольку я хочу проверить, получаю ли данные кампании или нет, я не реализовал никаких трекеров в GA

Изменить: когда я вручную запускаю трансляцию в нажатие кнопки в моем приложении. Я могу увидеть журнал «Campaign found», когда я перезапустил приложение. Но то же самое не происходит, когда срабатывает намерение с использованием команды «adb shell», как указано выше. Я сомневаюсь, что я не намерен добираться до моего устройства. Есть ли способ узнать, получено ли намерение или нет?

Пожалуйста помоги

1> ok для стартеров вы смешиваете две вещи. Эта ссылка предназначена для Google Analytics-v4 https://developers.google.com/analytics/devguides/collection/android/v4/ и этой ссылки https://developers.google.com/analytics/solutions/testing-play-campaigns Не для v4 (страница слишком старая, не было GAV4, когда эта страница была опубликована.

2> Проверьте версию физического устройства (Google play) и обновите его до 5.0, если это еще не сделано.

3> вам не нужен код плиты котла, упомянутый ниже. Я думаю, что это для GAV3, а не GAV4

 <service android:name="com.google.android.gms.analytics.CampaignTrackingService"/> <receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver> 

Для большей ясности кода проверьте эту ссылку. Данные кампании не найдены. Использование Google Analytics v4

4> В частности, для GAV4 (с моим собственным опытом), его нормально видеть ошибку «Нет данных кампании». Попробуйте запустить код в подробном режиме, и вы увидите, что GAV4 устанавливает соединения с его хостом.

 GoogleAnalytics.getInstance(this).getLogger().setLogLevel(LogLevel.VERBOSE); 

5> Не включайте dry_run, вы не увидите данные в Google Analytics. По умолчанию это отключено.

6> наконец, внутри Google Analytics см. Раздел «В реальном времени» для прямых трансляций.

надеюсь это поможет.

Иногда у меня была такая же проблема с дополнительной ошибкой ClassNotFound.

Сначала я предлагаю увидеть ответ Нишанта, и вот еще несколько вещей, чтобы проверить, разрешают ли они вашу проблему:

1) Если у вас более одного BroadcastReceiver:

1.1) Убедитесь, что вы этого не сделали! Сохраняйте только один и добавьте фильтр намерений к этому:

  <service android:name="com.google.android.gms.analytics.CampaignTrackingService"/> <receiver android:name="com.example.MyScheduleReceiver" android:exported="true"> <intent-filter > <action android:name="android.intent.action.ACTION_USER_PRESENT" /> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE"/> <action android:name="android.intent.action.ACTION_SCREEN_OFF" /> <action android:name="android.intent.action.ACTION_SCREEN_ON" /> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver> 

1.2) Затем в конце BroadcastReceiver отправите намерение правильному получателю:

@Override
Public void onReceive (контекстный контекст, намерение намерения) {

  //Do your code for the other intents new CampaignTrackingReceiver().onReceive(context, intent); 

}

2) Вызов правильной версии Google Analytics также является проблемой при чтении учебника Google, поскольку некоторые ссылки постоянно перенаправляют вас в более старые версии библиотеки. Если вы используете v4, тогда:

2.1) Убедитесь, что вы не включили libGoogleAnalyticsV2.jar

2.2) Дважды проверьте, что вы пишете com.google.android.gms.analytics .CampaignTrackingService все время и на всех импортах.

3) При использовании АБР, чтобы проверить, проверяет ли его работу предыдущие пункты. В приведенном выше примере правильной линией для вызова АБР будет:

 adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n com.example/com.example.MyScheduleReceiver --es "referrer" "utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign" 

Для этого создайте CustomReceiver и отправьте намерение google CampaignTrackingReceiver в GoogleAnalyticsv4.

Благодаря этому вы получите CampaignFound в журналах

 public class CustomCampaignTrackingReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { new CampaignTrackingReceiver().onReceive(context, intent); } } 

Установите файл apk на устройство.

 adb install filename.apk 

Введите следующую команду adb:

 ..\sdk\platform-tools>adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n your.package.name/com.google.android.gms.analytics.CampaignTrackingReceiver --es "referrer" "utm_source=testSource" 

Обратите внимание, что команда, указанная в этой ссылке, имеет приемник V3.

Проверьте logcat. Сообщение о кампании должно быть там. Убедитесь, что приложение не запущено при отправке реферера. Приложение должно запускаться только после его завершения.

Может быть полезно кому-то … Я получаю GAv4: Discarding hit. Missing tracking id parameter GAv4: Discarding hit. Missing tracking id parameter потому что вместо:

 GoogleAnalytics.getInstance(context).newTracker(R.xml.app_tracker); 

я добавил

 GoogleAnalytics.getInstance(context).newTracker(R.string.ga_trackingId); 

Обратите внимание на разницу xml.app_tracker vs string.ga_trackingId !

Используйте конфигурационный файл xml.app_tracker !

Как я проверял в моей последней реализации. Возможно, журнал может быть сломан. Я получил «Нет данных кампании» в журналах, но я вижу реальные данные в веб-консоли.

Я использую v4, и мой манифест выглядит так:

 <receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver> <service android:name="com.google.android.gms.analytics.CampaignTrackingService" /> 

Удачи