GooglePlayDeveloperConsoleでダウンロード数や訪問者数とかは確認出来るし、
AdMobの管理画面で広告の表示回数とクリック数がチェックできるから楽しいんだけど、
やっぱりもっと詳しい情報知りたくなるもので、、
ってことで、Google Analyticsを組み込んでみようとチャレンジ!
https://developers.google.com/analytics/devguides/collection/android/v4/
ここの説明通りいろいろ手を加えてみた!
(正直もうGradleには触れたくなかったが)
① build.gradle(Project:プロジェクト名)にちょこちょこっとコード追加
・classpath 'com.google.gms:google-services:1.5.0-beta2'
② build.gradle(Module:android)にもちょこちょこ追加
・apply plugin: 'com.google.gms.google-services'
・compile 'com.google.android.gms:play-services-analytics:8.4.0'
③ダウンロードした
google-services.json
ファイルをプロジェクトフォルダのandroidフォルダ直下へぶち込み
いざビルドしてみると、こんなエラー
エラーログ:
Error:Gradle: Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzpq;
Error:Gradle: Execution failed for task ':android:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_45\bin\java.exe'' finished with non-zero exit value 2
しかも
build.gradle(Module:android)の
compile 'com.google.android.gms:play-services-base:9.0.1'compile 'com.google.android.gms:play-services-ads:9.0.1'compile 'com.google.android.gms:play-services-auth:9.0.1'compile 'com.google.android.gms:play-services-gcm:9.0.1'compile 'com.google.android.gms:play-services-analytics:9.0.1'
の
compile 'com.google.android.gms:play-services-base:9.0.1'
部分に波線が、、、っでこんなメッセージが、
All com.google.android.gms libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 9.0.1, 8.4.0. Examples include com.google.android.gms:play-services-base:9.0.1 and com.google.android.gms:play-services-analytics:8.4.0
いろいろググってみたもののいまいち解決につながるヒントなく、、、
とりあえず、Google翻訳様に通訳してもらうと、
すべてのcom.google.android.gmsライブラリは(混合バージョンは、実行時のクラッシュを引き起こす可能性が)まったく同じバージョンの仕様を使用する必要があります。見つかったバージョン9.0.1、8.4.0。プレイサービスベース:9.0.1とcom.google.android.gms:例としてはcom.google.android.gmsを含むプレイ-サービス-分析を:8.4.0
要するに、、、
「9.0.1と8.4.0のバージョンが違うだら~」
っで、
compile 'com.google.android.gms:play-services-analytics:8.4.0'
の部分を
compile 'com.google.android.gms:play-services-analytics:9.0.1'
に書き換えたらビルド通った!!
あと、
apply plugin: 'com.google.gms.google-services'
これも削除しないとダメっぽい。
公式の説明通りにやればいいってものじゃないのか。。
トリック多すぎ
さてさて、あとはAnalyticsを組み込んだapkでリリースして、
無事訪問者の履歴が取得できれば問題ないのだが、、、
公式通りやってないのが一つ不安材料として残る。
0 件のコメント:
コメントを投稿