添加 Google Analytics

This commit is contained in:
seven332 committed 2014-06-14 01:49:40 +08:00
1 parent 9aecbf9e66
commit 78bcb037ac
13 files changed
+170 -11

No files matched your search

+2 -2
View File
@@ -15,8 +15,8 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hippo.ehviewer"
android:versionCode="16"
android:versionName="0.5.1" >
android:versionCode="17"
android:versionName="0.5.2" >
<uses-sdk
android:minSdkVersion="14"
+1
View File
@@ -75,6 +75,7 @@
android:layout_marginTop="36dp"
android:layout_gravity="center"
android:textSize="18sp"
android:autoLink="web"
android:visibility="gone" />
<LinearLayout
+6
View File
@@ -1,3 +1,9 @@
Version 0.5.2 (2014-06-14)
* 添加账户收藏管理
* 添加主题颜色设定
* 添加 Google Analytics
* 修正其他问题
Version 0.5.1 (2014-05-24)
* 修正不能看瞎眼本子的错误
* 修正搜索标签错误
+11 -1
View File
@@ -24,6 +24,10 @@
<string name="dailog_waring_yes">我愿意</string>
<string name="dailog_waring_no">不!</string>
<!-- Analyics -->
<string name="dailog_analyics_title">数据统计</string>
<string name="dailog_analyics_plain">您是否愿意将使用情况发送给开发者?这对开发者维护该应用有很大帮助。在发送使用情况的同时也会发送部分设备信息(譬如设备型号、系统版本)。开发者承诺不收集任何个人身份信息数据(譬如姓名、电话号码、电邮地址)。\n\n数据收集过程采用 Google Analytics。\nGOOGLE ANALYTICS(分析)服务条款:http://www.google.com/analytics/terms/cn.html\nGoogle隐私权和条款:http://www.google.com/intl/zh-CN/policies\n\n您以后可以在设置中修改选择</string>
<!-- Network -->
<string name="dailog_check_network">检查网络</string>
<string name="dailog_network_error_yes">我不在意</string>
@@ -196,11 +200,17 @@
<string name="source_title">源码</string>
<string name="update_about_settings_title">更新</string>
<string name="auto_check_for_update_title">自动检查更新</string>
<string name="auto_check_for_update_summary_on">每日第一次启动时检查更新</string>
<string name="auto_check_for_update_summary_on">每日第一次启动时检查更新</string>
<string name="auto_check_for_update_summary_off">从不自动检查更新</string>
<string name="check_for_update_title">检查更新</string>
<string name="check_for_update_summary">点击检查更新</string>
<string name="update_server_title">更新服务器</string>
<string name="analytics_about_settings_title">数据统计</string>
<string name="allow_analyics_title">启用数据统计</string>
<string name="allow_analyics_summary_on">感谢您对本应用的支持</string>
<string name="allow_analyics_summary_off">感谢您使用本应用</string>
<string name="about_analyics_title">关于数据统计</string>
<string name="about_analyics_comment">若您启用了数据统计,本应用会将您的使用情况发送给开发者。这对开发者维护该应用有很大帮助。在发送使用情况的同时也会发送部分设备信息(譬如设备型号、系统版本)。开发者承诺不收集任何个人身份信息数据(譬如姓名、电话号码、电邮地址)。\n\n数据收集过程采用 Google Analytics。\nGOOGLE ANALYTICS(分析)服务条款:http://www.google.com/analytics/terms/cn.html\nGoogle隐私权和条款:http://www.google.com/intl/zh-CN/policies</string>
<string name="preference_category_display">显示</string>
<string name="preference_screen_ori">屏幕方向</string>
+10 -1
View File
@@ -26,6 +26,10 @@
<string name="dailog_waring_yes">Yes, I would</string>
<string name="dailog_waring_no">NO !</string>
<!-- Analyics -->
<string name="dailog_analyics_title">Usage statistics</string>
<string name="dailog_analyics_plain">您是否愿意将使用情况发送给开发者?这对开发者维护该应用有很大帮助。在发送使用情况的同时也会发送部分设备信息(譬如设备型号、系统版本)。开发者承诺不收集任何个人身份信息数据(譬如姓名、电话号码、电邮地址)。\n\n数据收集过程采用 Google Analytics。\nGOOGLE ANALYTICS(分析)服务条款:http://www.google.com/analytics/terms/us.html\nGoogle隐私权和条款:http://www.google.com/intl/us/policies\n\n您以后可以在设置中修改选择</string>
<!-- Network -->
<string name="dailog_check_network">Checking network</string>
<string name="dailog_network_error_yes">I don\'t care</string>
@@ -205,7 +209,12 @@
<string name="check_for_update_title">Check for update</string>
<string name="check_for_update_summary">Tap to check for update</string>
<string name="update_server_title">Update server</string>
<string name="analytics_about_settings_title">Statistics</string>
<string name="allow_analyics_title">Enable statistics</string>
<string name="allow_analyics_summary_on">Thanks for you help</string>
<string name="allow_analyics_summary_off">Anyway, thanks being my little hippo</string>
<string name="about_analyics_title">About statistics</string>
<string name="about_analyics_comment">若您启用了数据统计,本应用会将您的使用情况发送给开发者。这对开发者维护该应用有很大帮助。在发送使用情况的同时也会发送部分设备信息(譬如设备型号、系统版本)。开发者承诺不收集任何个人身份信息数据(譬如姓名、电话号码、电邮地址)。\n\n数据收集过程采用 Google Analytics。\nGOOGLE ANALYTICS(分析)服务条款:http://www.google.com/analytics/terms/cn.html\nGoogle隐私权和条款:http://www.google.com/intl/zh-CN/policies</string>
<string name="portrait">Portrait</string>
<string name="landscape">Landscape</string>
+16
View File
@@ -64,4 +64,20 @@
</PreferenceCategory>
<PreferenceCategory
android:title="@string/analytics_about_settings_title" >
<CheckBoxPreference
android:key="allow_analyics"
android:title="@string/allow_analyics_title"
android:summaryOn="@string/allow_analyics_summary_on"
android:summaryOff="@string/allow_analyics_summary_off"
android:defaultValue="false" />
<Preference
android:key="about_analyics"
android:title="@string/about_analyics_title" />
</PreferenceCategory>
</PreferenceScreen>
+36 -7
View File
@@ -42,9 +42,10 @@ import android.widget.LinearLayout;
public class StartActivity extends Activity {
private static final int CHECK_WARING = 0;
private static final int CHECK_NETWORK = 1;
private static final int CHECK_CRASH = 2;
private static final int CHECK_EXTERNAL_STORAGE = 3;
private static final int CHECK_ANALYTICS = 1;
private static final int CHECK_NETWORK = 2;
private static final int CHECK_CRASH = 3;
private static final int CHECK_EXTERNAL_STORAGE = 4;
private String lastCrash;
private boolean isAnimationOver = false;
@@ -61,7 +62,7 @@ public class StartActivity extends Activity {
((AlertButton)v).dialog.dismiss();
Config.allowed();
check(CHECK_NETWORK);
check(CHECK_ANALYTICS);
}
}).setNegativeButton(R.string.dailog_waring_no,
new View.OnClickListener() {
@@ -73,6 +74,27 @@ public class StartActivity extends Activity {
}).create();
}
private AlertDialog createAllowAnalyicsDialog() {
return new DialogBuilder(this).setCancelable(false)
.setTitle(R.string.dailog_analyics_title)
.setLongMessage(R.string.dailog_analyics_plain)
.setPositiveButton(android.R.string.ok, new View.OnClickListener() {
@Override
public void onClick(View v) {
((AlertButton)v).dialog.dismiss();
Config.setAllowAnalyics(true);
check(CHECK_NETWORK);
}
}).setNegativeButton(android.R.string.cancel, new View.OnClickListener() {
@Override
public void onClick(View v) {
((AlertButton)v).dialog.dismiss();
Config.setAllowAnalyics(false);
check(CHECK_NETWORK);
}
}).create();
}
private AlertDialog createNetworkErrorDialog() {
return new DialogBuilder(this).setCancelable(false)
.setTitle(R.string.error).setMessage(R.string.em_no_network)
@@ -199,9 +221,10 @@ public class StartActivity extends Activity {
/**
* Order is
* 1. check waring
* 2. check network
* 3. check crash
* 4. check external storage
* 2. check analyics
* 3. check network
* 4. check crash
* 5. check external storage
*
* @param order
*/
@@ -212,6 +235,12 @@ public class StartActivity extends Activity {
createWarningDialog().show();
return;
}
case CHECK_ANALYTICS:
if (!Config.getSetAnalyics()) {
Config.setSetAnalyics(true);
createAllowAnalyicsDialog().show();
return;
}
case CHECK_NETWORK:
if (!isNetworkAvailable()) {
createNetworkErrorDialog().show();
@@ -16,6 +16,7 @@
package com.hippo.ehviewer.ui;
import com.google.analytics.tracking.android.EasyTracker;
import com.hippo.ehviewer.util.Config;
import android.app.Activity;
@@ -39,4 +40,18 @@ public abstract class AbstractActivity extends Activity {
if (screenOri != getRequestedOrientation())
setRequestedOrientation(screenOri);
}
@Override
public void onStart() {
super.onStart();
if (Config.getAllowAnalyics())
EasyTracker.getInstance(this).activityStart(this);
}
@Override
public void onStop() {
super.onStop();
if (Config.getAllowAnalyics())
EasyTracker.getInstance(this).activityStop(this);
}
}
@@ -19,6 +19,7 @@ package com.hippo.ehviewer.ui;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import com.google.analytics.tracking.android.EasyTracker;
import com.hippo.ehviewer.util.Config;
public abstract class AbstractFragmentActivity extends FragmentActivity {
@@ -40,4 +41,17 @@ public abstract class AbstractFragmentActivity extends FragmentActivity {
setRequestedOrientation(screenOri);
}
@Override
public void onStart() {
super.onStart();
if (Config.getAllowAnalyics())
EasyTracker.getInstance(this).activityStart(this);
}
@Override
public void onStop() {
super.onStop();
if (Config.getAllowAnalyics())
EasyTracker.getInstance(this).activityStop(this);
}
}
@@ -16,6 +16,7 @@
package com.hippo.ehviewer.ui;
import com.google.analytics.tracking.android.EasyTracker;
import com.hippo.ehviewer.util.Config;
import android.os.Bundle;
@@ -40,4 +41,17 @@ public class AbstractPreferenceActivity extends PreferenceActivity {
setRequestedOrientation(screenOri);
}
@Override
public void onStart() {
super.onStart();
if (Config.getAllowAnalyics())
EasyTracker.getInstance(this).activityStart(this);
}
@Override
public void onStop() {
super.onStop();
if (Config.getAllowAnalyics())
EasyTracker.getInstance(this).activityStop(this);
}
}
@@ -18,6 +18,7 @@ package com.hippo.ehviewer.ui;
import android.os.Bundle;
import com.google.analytics.tracking.android.EasyTracker;
import com.hippo.ehviewer.util.Config;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivity;
@@ -40,4 +41,17 @@ public class AbstractSlidingActivity extends SlidingActivity {
setRequestedOrientation(screenOri);
}
@Override
public void onStart() {
super.onStart();
if (Config.getAllowAnalyics())
EasyTracker.getInstance(this).activityStart(this);
}
@Override
public void onStop() {
super.onStop();
if (Config.getAllowAnalyics())
EasyTracker.getInstance(this).activityStop(this);
}
}
@@ -505,6 +505,7 @@ public class SettingsActivity extends AbstractPreferenceActivity {
private static final String KEY_WEBSITE = "website";
private static final String KEY_SOURCE = "source";
private static final String KEY_CHECK_UPDATE = "check_for_update";
private static final String KEY_ABOUT_ANALYICS = "about_analyics";
private Preference mAuthor;
private Preference mChangelog;
@@ -512,6 +513,7 @@ public class SettingsActivity extends AbstractPreferenceActivity {
private Preference mWebsite;
private Preference mSource;
private Preference mCheckUpdate;
private Preference mAboutAnalyics;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -530,6 +532,8 @@ public class SettingsActivity extends AbstractPreferenceActivity {
mSource.setOnPreferenceClickListener(this);
mCheckUpdate = (Preference)findPreference(KEY_CHECK_UPDATE);
mCheckUpdate.setOnPreferenceClickListener(this);
mAboutAnalyics = (Preference)findPreference(KEY_ABOUT_ANALYICS);
mAboutAnalyics.setOnPreferenceClickListener(this);
}
@Override
@@ -616,6 +620,12 @@ public class SettingsActivity extends AbstractPreferenceActivity {
UpdateHelper.setEnabled(true);
}
}).checkUpdate();
} else if (KEY_ABOUT_ANALYICS.equals(key)) {
new DialogBuilder(mActivity).setTitle(R.string.about_analyics_title)
.setLongMessage(R.string.about_analyics_comment)
.setSimpleNegativeButton()
.create().show();
}
return true;
}
+21
View File
@@ -62,6 +62,11 @@ public class Config {
private static final String KEY_DEFAULT_FAVORITE = "default_favorite";
private static final String DEFAULT_DEFAULT_FAVORITE = "-2";
private static final String KEY_SET_ANALYTICS = "set_analyics";
private static final boolean DEFAULT_SET_ANALYTICS = false;
private static final String KEY_ALLOW_ANALYTICS = "allow_analyics";
private static final boolean DEFAULT_ALLOW_ANALYTICS = false;
private static boolean mInit = false;
private static Context mContext;
@@ -289,4 +294,20 @@ public class Config {
public static void setDefaultFavorite(int defaultFavorite) {
mConfigPre.edit().putString(KEY_DEFAULT_FAVORITE, String.valueOf(defaultFavorite)).apply();
}
public static boolean getSetAnalyics() {
return mConfigPre.getBoolean(KEY_SET_ANALYTICS, DEFAULT_SET_ANALYTICS);
}
public static void setSetAnalyics(boolean setAnalyics) {
mConfigPre.edit().putBoolean(KEY_SET_ANALYTICS, setAnalyics).apply();
}
public static boolean getAllowAnalyics() {
return mConfigPre.getBoolean(KEY_ALLOW_ANALYTICS, DEFAULT_ALLOW_ANALYTICS);
}
public static void setAllowAnalyics(boolean setAnalyics) {
mConfigPre.edit().putBoolean(KEY_ALLOW_ANALYTICS, setAnalyics).apply();
}
}