Im Попытка настроить Google Analytics в моем приложении. Я последовал Google учебник ниже https://developers.google.com/analytics/devguides/collection/android/v4/Ошибка Настройка Google Analytics
Но получил следующие ошибки
Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to
, когда я поставил код, приведенный ниже в на создание в MainActivity:
AnalyticsApplication application = (AnalyticsApplication) getApplication();
mTracker = application.getDefaultTracker();
AnalyticsApplication Класс:
import android.app.Application;
import com.google.android.gms.analytics.GoogleAnalytics; import com.google.android.gms.analytics.Tracker;
общественного класса AnalyticsApplication расширяет Application {
private Tracker mTracker;
synchronized public Tracker getDefaultTracker() {
if (mTracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
// To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
mTracker = analytics.newTracker(R.xml.global_tracker);
}
return mTracker;
}
}
Gradle ПРОЕКТ
classpath 'com.google.gms:google-services:1.5.0-beta2'
Gradle МОДУЛЬ
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.google.android.gms:play-services-ads:8.3.0'
compile 'com.google.android.gms:play-services-analytics:8.3.0'
compile 'com.google.android.gms:play-services-appindexing:8.3.0'
} применить плагин:
AndroidMaifest
<?xml version="1.0" encoding="utf-8"?>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name=".CallDetectService"
android:enabled="true"
android:exported="false" >
</service>
<receiver
android:name=".RingerModeStateReceiver"
android:enabled="true"
android:exported="true" >
<intent-filter>
<action android:name="android.media.RINGER_MODE_CHANGED" />
</intent-filter>
</receiver>
<!-- ATTENTION: This was auto-generated to add Google Play services to your project for
App Indexing. See https://g.co/AppIndexing/AndroidStudio for more information. -->
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>
Я также иметь конфигурацию 'com.google.gms.google-услуг' файл, скопированный в каталог приложения. , если я не укажу код в главной операции, которую будет выполнять мое приложение, но ничего не отображается в моей учетной записи Analytics .
Любая помощь была бы принята с благодарностью. Я следил за учебным пособием Google, но ничего не происходило тогда, когда я вставлял код в главную активность моего приложения.
Привет, вы можете показать нам свой файл манифеста? – Hemix
Нет, для этого нужно использовать большой молот для расширения класса приложения. Получить трекер, передав ему контекстный объект. – AndRSoid
В манифесте нет класса приложения, объявленного в теге приложения. – AndRSoid