質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Analytics

Google AnalyticsはGoogleが開発した無料のウェブ分析のソリューションです。複数のクライアント側のAPIとデータをエクスポートし管理するREST APIも格納されています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

3回答

2887閲覧

AndroidアプリにおけるGoogleAnalyticsの組み込み方がわからないのですが…

退会済みユーザー

退会済みユーザー

総合スコア0

Google Analytics

Google AnalyticsはGoogleが開発した無料のウェブ分析のソリューションです。複数のクライアント側のAPIとデータをエクスポートし管理するREST APIも格納されています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

2クリップ

投稿2015/02/12 09:46

編集2015/03/04 10:45

お世話になります。

GoogleAnalytics v4 をアプリに組み込もうと調べて、コードを入れたのですがonStartの部分でClassCastExceptionでアプリが落ちてしまいます。

Web上のコードを見ると<Application>のタグが閉じられていなかったり、途中が省略されていていまいちよくわからないのですが、ManifestにそもそもApplicationタグが2つあるというのはありえるのですか?今までのチュートリアルや学校の課題等々ではひとつしか書いてこなかったのですが…

どこのサイトもいまいちよく設定方法がわからなくて困っています。どなたか、教えてください。

![エラーログ]WIDTH:600
なお、ClassCastExceptionの内容は以上のようになっています。黒塗りの部分にはすべて同じパッケージ名が入ります。パッケージの数は一つとなっています。GoogleAnalyticsに必要なクラスは「Analytics」というクラス名で実装しました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

onStartの部分でClassCastException

おそらくなのですが、AndroidManifest内の定義が抜けているのではと思います。

lang

1 <application 2 android:name=".Analytics"

<追記>

<Application>のタグが閉じられていなかったり、途中が省略されていていまいちよくわからないのですが

とおっしゃっているので、蛇足かとは思いましたが補足です。

例えば、現在のAndroidManifest.xmlの<Application>が下記のように定義されている場合、

lang

1 <application 2 android:allowBackup="true" 3 android:icon="@drawable/ic_launcher" 4 android:label="@string/app_name" 5 android:theme="@style/Theme.Sample" >

この様に追記してみてください。

lang

1 <application 2 android:name=".Analytics" 3 android:allowBackup="true" 4 android:icon="@drawable/ic_launcher" 5 android:label="@string/app_name" 6 android:theme="@style/Theme.Sample" >

投稿2015/03/02 06:50

編集2015/03/02 06:56
tetsuya

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/03/02 09:13

tetsuya様 >情報有り難うございます。 しかし、疑問に思うのは、これではアプリ本体であるMainActivityの起動はどうなるのでしょうか?現在ApplicationではMainActivityを起動するようにしているのですが…
退会済みユーザー

退会済みユーザー

2015/03/02 09:16

すみません、勘違いでした^^; MainActivityは<activity>タグで記述しているんですもんね。
退会済みユーザー

退会済みユーザー

2015/03/02 09:52

tetsuya様 おかげさまで、アプリは落ちなくなりました! しかし、Analytics自体は動きません^^; ログには以下のように出ます。 The Google Play services resources were not found. Check your project configuration to ensure that the resources are included. Thread[GAThread,5,main]: IllegalStateException getting Ad Id Info. If you would like to see Audience reports, please ensure that you have added '<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />' to your application manifest file. See http://goo.gl/naFqQk for details. Manifest.xmlの<Application>内のmeta-dataには以下のように書いています。 <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> strings.xml内では次のように書いています。 <integer name="google_play_services_version">4</integer> 以上よろしくお願いします。
tetsuya

2015/03/02 10:34

> ClassCastExceptionでアプリが落ちる のが一旦解決したのであれば、別に質問し直した良いかと思いますが...。 Advertising IDを取得するコードは試したわけではないので保証はできませんが、ざっと検索した内容を見てみると [AdvertisingIdClient | Android Developers](https://developer.android.com/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient.html) にあるように、IllegalStateExceptionは、 > indicating this method was called on the main thread. つまり、メインスレッドから呼ばれた時に発生するようです。 [Android広告IDを取得してみる - Qiita](http://qiita.com/zaru/items/81d28ea0924113dbd1f8) で紹介されているコードを参考にスレッドを立てて取得してみてはいかがでしょうか。
guest

0

なるほど。
ここに書くと長くなりそうなのでGoogleAnalyticsの導入方法をqiitaに書いてみたのでこれを参考に導入してみて下さい。
もしかしたらできるかもしれません。
http://qiita.com/chonbo2525/items/bbc55d728f8e1b8dca39

投稿2015/02/27 03:07

chonbo2525

総合スコア233

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/02/27 03:35

chonbo2525様 ありがとうございます! 早速URL先の記事を参考に導入を試みましたが、AndroidManiferst.xmlにて「@integer/google_play_services_version」の部分でエラーが出ました。「No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version')」とのことで、別途value.xmlで何か値を宣言しなければならないものと思いますが、どのように書けばよいでしょうか?
退会済みユーザー

退会済みユーザー

2015/02/27 03:36

すみません、value.xmlではなくvalue/strings.xmlですかね^^;
退会済みユーザー

退会済みユーザー

2015/02/27 03:45

試しにstrings.xmlに<integer name="google_play_services_version">4</integer>のように宣言しましたところ、アプリが起動はするものの、以前と同じようにClasscastExceptionでアプリが落ちてしまします…
chonbo2525

2015/02/27 09:25

@integer/google_play_services_versionはapplicationタグ内に定義されていますでしょうか?
guest

0

初めまして。
自身のアプリにGoogleAnalytics v4を組み込みたいとの事ですが、具体的にどのような所がわからないのでしょうか?
またonStartでエラーとのことですが、ClassCastExceptionの内容はどのようなものでしょうか?

ManifestにそもそもApplicationタグが2つあるというのはありえるのですか?

<application>は名前の通りアプリに関するタグなので複数存在するとゆうのは私は経験した事がありません。また、複数入れるとエラーになりました。

投稿2015/02/25 06:35

chonbo2525

総合スコア233

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/02/26 13:10

chonbo2525様 ご回答ありがとうございます。 何がわからない、というよりもGoogleAnalyticsを実際に導入している方が公開してくださっているソースを必要な部分を変更した上で実装したのになぜか動かないということがわからない状態です。「あってるはずなのに!!」という感じです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問