У меня есть приложение Android, и я хочу интегрировать Google Analytics, чтобы начать отслеживать посещения. В моем MainActivity.java
я добавил следующее:
..........
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.HitBuilders;
import com.google.android.gms.analytics.Tracker;
..........
public class MainActivity extends AppCompatActivity {
..........
GoogleAnalytics analytics;
private Tracker mTracker;
protected void onCreate(Bundle savedInstanceState) {
..........
// Start Google statistics tracking
analytics = GoogleAnalytics.getInstance(this);
analytics.setLocalDispatchPeriod(1800);
mTracker = analytics.newTracker("UA-12345678-9");
mTracker.enableExceptionReporting(true);
mTracker.enableAdvertisingIdCollection(true);
mTracker.enableAutoActivityTracking(true);
mTracker.setAppName("SimpleStats");
mTracker.setPage("Home");
mTracker.setScreenName("Choose a color");
mTracker.send(new HitBuilders.ScreenViewBuilder().build());
analytics.reportActivityStart(this);
..........
}
}
Я получаю доступ к Google Analytics из https://analytics.google.com/analytics/web/, go к учетной записи "UA-12345678-9"
, но не вижу отчетов из моих посещений, когда я запускаю мое приложение Android. Можете ли вы определить, что я делаю не так? Спасибо.
ОБНОВЛЕНИЕ 1:
В книге «Продвинутый Android Разработка приложений Джозефом Аннуцци-младшим, Лорен Дарси, Шейн Кондер» я нахожу это Я думаю, что это то, что я делаю, за исключением analytics.reportActivityStop(this);
, который является единственной частью, которую я не использую в своем коде:
ОБНОВЛЕНИЕ 2:
Что касается библиотеки служб Google Play, в моем app/build.gradle
я включаю это:
implementation 'com.google.android.gms:play-services-base:16.1.0'
implementation 'com.google.android.gms:play-services-analytics:16.0.8'
implementation 'com.google.android.gms:play-services-awareness:16.0.0'
implementation 'com.google.android.gms:play-services-cast:16.2.0'
implementation 'com.google.android.gms:play-services-gcm:16.1.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
implementation 'com.google.android.gms:play-services-maps:16.1.0'
apply plugin: 'com.google.gms.google-services' // Google Play services Gradle plugin
ОБНОВЛЕНИЕ 3:
Следуя инструкциям на https://developers.google.com/android/reference/com/google/android/gms/analytics/GoogleAnalytics, в моем app/src/res/xml/global_tracker.xml
вот что у меня есть:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- The application name. Defaults to name specified for the application label -->
<string name="ga_appName">My App</string>
<!-- The application version. Defaults to android:versionName specified in the
AndroidManifest.xml -->
<string name="ga_appVersion">1.46</string>
<!-- The dispatching period in seconds when Google Play services is unavailable. The
default period is 1800 seconds or 30 minutes -->
<integer name="ga_dispatchPeriod">1800</integer>
<!-- Enable dry run mode. Default is false -->
<bool name="ga_dryRun">false</bool>
<string name="ga_trackingId" translatable="false">UA-12345678-9</string>
</resources>
ОБНОВЛЕНИЕ 4:
Чтение https://developers.google.com/analytics/devguides/collection/android/v3/advanced, я вижу, что в разделе «Инициализация» используется getInstance(this).getTracker()
, а не getInstance(this).newTracker()
. Интересно, что следует использовать. У меня уже есть аккаунт "UA-12345678-9" в Google Analytics (я изменил настоящее имя, чтобы опубликовать его здесь, но я уже создал его для отслеживания моего приложения Android). Эта документация для Android v3 (Legacy). Может быть, ответ заключается в том, что мне следует использовать Firebase for Analytics, а не https://analytics.google.com/analytics/web/, который я использую для отслеживания веб-сайта? Я вижу следующий текст в https://developers.google.com/analytics/devguides/collection/android/v3/advanced:
"Важно: этот документ описывает устаревшую версию SDK. Новым пользователям следует использовать последний SDK."
"Новым пользователям следует использовать самую последнюю версию" - это ссылка, которая приводит меня к https://developers.google.com/analytics/devguides/collection/firebase/android.