rafinos Δημοσ. 23 Απριλίου 2016 Δημοσ. 23 Απριλίου 2016 Γεια σας παιδιά! Γνωρίζει κανείς αν ο τρόπος προσθήκης του Google Analytics σε μια εφαρμογή android είναι ο ίδιος σε Eclipse με αυτόν του Android Studio; Γιατί εγώ νομίζω πως κάπου υπάρχει διαφορά...
rafinos Δημοσ. 24 Απριλίου 2016 Μέλος Δημοσ. 24 Απριλίου 2016 Αυτό δεν σου κάνει; Required: Latest versions of Android Studio and Google Play Services Επίσης μιλάει για grandle file... που νομίζω ότι στο eclipse δεν χρησιμοποιούνται έτσι δεν είναι;
rafinos Δημοσ. 2 Μαΐου 2016 Μέλος Δημοσ. 2 Μαΐου 2016 (επεξεργασμένο) Παιδιά έκανα μέχρι και μετάβαση σε Android Studio... Ακολουθώ ακριβώς τα βήματα αλλά καταλήγω σε σημείο που δε τρέχει η εφαρμογή παρόλο που γίνεται κανονικά το build. Μήπως φταίει το ότι η εφαρμογή μου δουλεύει καθαρά σε webview; Για να καταλάβετε περισσότερο τι έχω κάνει, μπορείτε να κατεβάσετε από εδώ ένα rar με τον κώδικα των αρχείων γιατί αν το βάλω εδώ μάλλον θα μπερδευτεί περισσότερο η κατάσταση (είναι αρχεία σε μορφή text). Ή εναλλακτικά δείτε παρακάτω τον κώδικά μου. Στο MainActivity.java βλέπετε μόνο τα κομμάτια του κώδικα στα οποία έκανα αλλαγές για το analytics. MainActivity.java private WebView myWebView; private Tracker mTracker; private String name = new String("MyApp Main Screen"); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_main); setVolumeControlStream(AudioManager.STREAM_MUSIC); myWebView = (WebView) this.findViewById(R.id.webView1); WebSettings settings = myWebView.getSettings(); settings.setJavaScriptEnabled(true); myWebView.loadUrl("file:///android_asset/www/index.html"); myWebView.setVerticalScrollBarEnabled(false); myWebView.setHorizontalScrollBarEnabled(false); settings.setDomStorageEnabled(true); settings.setDatabaseEnabled(true); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { settings.setDatabasePath("/data/data/" + myWebView.getContext().getPackageName() + "/databases/"); } myWebView.addJavascriptInterface(new AudioInterface(this), "AndAud"); myWebView.addJavascriptInterface(new InternetInteface(this), "AndInChk"); myWebView.setWebChromeClient(new WebChromeClient() { @Override public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize, long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) { quotaUpdater.updateQuota(estimatedSize * 2); } }); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); // Obtain the shared Tracker instance. AnalyticsApplication application = (AnalyticsApplication) getApplication(); mTracker = application.getDefaultTracker(); } @Override protected void onResume() { /* myWebView.onResume(); */ myWebView.resumeTimers(); super.onResume(); mTracker.setScreenName(name); mTracker.send(new HitBuilders.ScreenViewBuilder().build()); } Ο παραπάνω κώδικας χωρίς της παρακάτω γραμμές δουλεύει μια χαρά private Tracker mTracker; private String name = new String("MyApp Main Screen"); //in onCreate class // Obtain the shared Tracker instance. AnalyticsApplication application = (AnalyticsApplication) getApplication(); mTracker = application.getDefaultTracker(); //in onResume class mTracker.setScreenName(name); mTracker.send(new HitBuilders.ScreenViewBuilder().build()); AnalyticsApplication.java package com.r.movie.quiz; import android.app.Application; import com.google.android.gms.analytics.GoogleAnalytics; import com.google.android.gms.analytics.Tracker; public class AnalyticsApplication extends Application { private Tracker mTracker; synchronized public Tracker getDefaultTracker() { if (mTracker == null) { GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); mTracker = analytics.newTracker(R.xml.global_tracker); } return mTracker; } } build.gradle -> App level apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "com.r.movie.quiz" minSdkVersion 15 targetSdkVersion 23 versionCode 28 versionName "1.1.6" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.3.0' compile 'com.google.android.gms:play-services-analytics:8.4.0' } apply plugin: 'com.google.gms.google-services' build.gradle -> project level // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0' classpath 'com.google.gms:google-services:2.0.0-alpha6' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.r.movie.quiz" android:versionCode="28" android:versionName="1.1.6"> <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="23" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity android:name="com.r.movie.quiz.MainActivity" android:configChanges="orientation" android:label="@string/app_name" android:screenOrientation="portrait" android:theme="@style/Theme.AppCompat.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> </manifest> Activity_Main.xml <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.r.movie.quiz.MainActivity" tools:ignore="MergeRootFrame" > <WebView android:id="@+id/webView1" android:layout_width="match_parent" android:layout_height="match_parent" /> </FrameLayout> Επεξ/σία 4 Μαΐου 2016 από rafinos
rafinos Δημοσ. 4 Μαΐου 2016 Μέλος Δημοσ. 4 Μαΐου 2016 Παιδιά βρήκα το πρόβλημα... Δεν είχα βάλει όνομα application στο Manifest <application android:name=".AnalyticsApplication" ... Το θέμα είναι ότι τώρα δεν στέλνει δεδομένα στο Analytics
rafinos Δημοσ. 13 Μαΐου 2016 Μέλος Δημοσ. 13 Μαΐου 2016 Παιδιά το έκανα (νομίζω δηλαδή) Έφτιαξα από την αρχή το λογαριασμό στο analytics και χρησιμοποίησα το αρχείο json με το νέο USER-ID Επίσης έσβησα τις παρακάτω γραμμές κώδικα από το MainActivity //in onResume class mTracker.setScreenName(name); mTracker.send(new HitBuilders.ScreenViewBuilder().build()); και έφτιαξα μια συνάρτηση για το παραπάνω με τίτλο sendScreenName() private void sendScreenName() { String name = "MainActivity"; // [START screen_view_hit] mTracker.setScreenName(name); mTracker.send(new HitBuilders.ScreenViewBuilder().build()); // [END screen_view_hit] } Τέλος, πρόσθεσα την παρακάτω γραμμή στην onCreate: sendScreenName(); Μετά από αυτά, όταν ανοίγω την εφαρμογή μου βλέπω τον μαγικό αριθμό "1" στο analytics.google.com στις αναφορές πραγματικού χρόνου!
rafinos Δημοσ. 19 Μαΐου 2016 Μέλος Δημοσ. 19 Μαΐου 2016 Προσωπικά θέλω ότι πιο απλό γίνεται, απλά θέλω τη δυνατότητα να βλέπω αν κάποιος χρησιμοποιεί την εφαρμογή εκείνη τη στιγμή. Διαφορετικά μου αρκούσε και το εργαλείο που παρέχει το google play console. Οπότε αφού προς στιγμήν φαίνεται πως λειτουργεί το google analytics θα κάτσω με αυτό. Αν στο μέλλον χρειαστεί κάτι πιο ιδιαίτερο θα έχω στο νου μου το Firebase (που δεν καταλαβαίνω γιατί η Google βγάζει εργαλεία που κάνουν το ίδιο πράγμα με διαφορετικό τρόπο ) Όπως είπα και σε ένα άλλο θέμα μήπως υπάρχει κάποιο έτοιμο κείμενο που μπορώ να χρησιμοποιήσω ως πολιτική απορρήτου επειδή χρησιμοποιώ το google analytics στην εφαρμογή ή θα πρέπει να γράψω κάτι μόνος μου;
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα