添加 Google Analytics
This commit is contained in:
1 parent
9aecbf9e66
commit
78bcb037ac
13 files changed
+170
-11
No files matched your search
+2
-2
@@ -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"
|
||||
|
||||
@@ -75,6 +75,7 @@
|
||||
android:layout_marginTop="36dp"
|
||||
android:layout_gravity="center"
|
||||
android:textSize="18sp"
|
||||
android:autoLink="web"
|
||||
android:visibility="gone" />
|
||||
|
||||
<LinearLayout
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
Version 0.5.2 (2014-06-14)
|
||||
* 添加账户收藏管理
|
||||
* 添加主题颜色设定
|
||||
* 添加 Google Analytics
|
||||
* 修正其他问题
|
||||
|
||||
Version 0.5.1 (2014-05-24)
|
||||
* 修正不能看瞎眼本子的错误
|
||||
* 修正搜索标签错误
|
||||
|
||||
@@ -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
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user