После запуска Google Analytics в приложении Android я пока не вижу никаких отчетов в Google Analytics. Что не так с моей реализацией? - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть приложение 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);, который является единственной частью, которую я не использую в своем коде:

enter image description here

ОБНОВЛЕНИЕ 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.

...