最新版本:仿歪歪*敏*感*词*系统源码,内置采集*敏*感*词*,程序可打包安卓苹果
优采云 发布时间: 2022-11-08 01:30最新版本:仿歪歪*敏*感*词*系统源码,内置采集*敏*感*词*,程序可打包安卓苹果
源代码说明:
更新,添加内置采集+添加应用
增加卡密码充值,避免对接支付问题,轻松收款,提现
4套前台模板
7.21 更新
添加首次访问的初始帐户密码
优化完善后台采集
更新cookie机制,修复用户账号会发生变化的bug
代理分销后台重做,更美观,数据统计更详细。
添加被子小说采集源码
增加官方支付宝和官方微信支付接口
优化器,支持mysql5.7,性能翻倍
2019.7.15
新增卡密码充值功能,不再担心支付方式,后台可根据产品生成卡密码一键导出
2019.6.12更新
新增歪*敏*感*词*模板cdn图片拼接功能,速度更快!
更新 采集 源
2019.6.1更新:
新增后台运营会员vip日期选择
优化后台操作逻辑,修改时间戳为日期
添加Apple和Android主页弹出,Apple弹出添加主屏幕,Android弹出访问下载应用程序
2019.5.28更新:修复采集源重复采集的问题,增加更新提示
修复物品排序问题
2019.5.22更新:添加歪采集源章节缩略图采集
免责声明:源代码仅供休闲娱乐。请不要将其用于商业和非法目的进行研究和学习。如发生与我无关的法律纠纷,从您使用本源代码的那一刻起,即视为您已接受本声明。
特别回血2999!购买并赚取
请不要将其他源代码与此进行比较
源代码经楼主测试没有任何问题
购买须知:本套程序仅收录测试数据,程序仅收录安装,不收录任何设置。系统内置小说*敏*感*词*采集规则。为防止恶意购买,本源代码一经售出将不退还,并保护权益。最后,如果您不明白,请联系客服询问!
环境要求:操作系统linux,PHP/5.4x,mysql/5.5x,Apache/2.4.x,开启openssl扩展。
源码截图:
最新版本:# Android SDK 自动采集指南
安卓SDK自动采集指南 1.自动采集介绍
TA 系统提供了自动数据采集接口,您可以根据业务需求选择需要自动采集的数据。
当前支持的自动采集事件类型包括:APP安装,
记录正在安装APP启动的日志,包括打开APP和
从后台 APP 关机中唤醒,包括关闭 APP 并调用后台,同时采集启动时间 用户浏览应用中的页面(活动) 用户点击APP中的控件 应用崩溃时记录崩溃信息
更详细地描述了每种数据类型的采集方法
下一个
2. 开启自动采集
您可以调用启用自动跟踪以打开自动采集功能:
List eventTypeList = new ArrayList();
//APP安装事件
eventTypeList.add(ThinkingAnalyticsSDK.AutoTrackEventType.APP_INSTALL);
//APP启动事件
eventTypeList.add(ThinkingAnalyticsSDK.AutoTrackEventType.APP_START);
//APP关闭事件
eventTypeList.add(ThinkingAnalyticsSDK.AutoTrackEventType.APP_END);
//APP浏览页面事件
eventTypeList.add(ThinkingAnalyticsSDK.AutoTrackEventType.APP_VIEW_SCREEN);
//APP点击控件事件
eventTypeList.add(ThinkingAnalyticsSDK.AutoTrackEventType.APP_CLICK);
//APP崩溃事件
eventTypeList.add(ThinkingAnalyticsSDK.AutoTrackEventType.APP_CRASH);
//开启自动采集事件
ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID).enableAutoTrack(eventTypeList);
您可以根据业务需求启用自动采集事件。
技巧
如果您需要
要采集控制点击事件或片段浏览事件,您需要集成
要设置公共事件属性或设置自定义访客 ID,请确保在打开自动采集之前调用 setSuperProperties() 或 identify()
代码示例:
// 初始化 SDK
ThinkingAnalyticsSDK.sharedInstance(this, "TA_APP_ID","TA_SERVER_URL");
// 设置访客 ID
ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID).identify("123456789ABCabc");
// 设置公共事件属性
try {
JSONObject superProperties = new JSONObject();
superProperties.put("Channel","B1");
ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID).setSuperProperties(superProperties);
} catch (JSONException e) {
e.printStackTrace();
}
//设置完访客ID与公共属性后,再开启自动采集
List eventTypeList = new ArrayList();
eventTypeList.add(ThinkingAnalyticsSDK.AutoTrackEventType.APP_INSTALL);
eventTypeList.add(ThinkingAnalyticsSDK.AutoTrackEventType.APP_START);
eventTypeList.add(ThinkingAnalyticsSDK.AutoTrackEventType.APP_END);
eventTypeList.add(ThinkingAnalyticsSDK.AutoTrackEventType.APP_VIEW_SCREEN);
eventTypeList.add(ThinkingAnalyticsSDK.AutoTrackEventType.APP_CLICK);
eventTypeList.add(ThinkingAnalyticsSDK.AutoTrackEventType.APP_CRASH);
ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID).enableAutoTrack(eventTypeList);
3. 自动采集事件详解 3.1 APP安装事件APP安装事件会记录APP的实际安装情况,APP
启动时上报,事件触发时间为安装后APP首次启动的时间,
APP升级不会触发安装事件,删除并重新安装后会上报安装事件。
3.2 应用启动事件
当用户打开APP或从后台唤醒APP时,将触发APP启动事件,详细事件如下所述:
3.3 应用关闭事件当用户关闭APP
或调用APP到后台时,会触发APP关闭事件,详细事件如下所述
3.4 APP浏览页面事件APP浏览页面事件
会在用户浏览页面时触发页面浏览事件(Activity),详细事件说明如下:
可以将其他属性添加到页面视图事件以扩展其分析值,下面介绍如何自定义页面视图事件的属性
3.4.1 为片段启用页面浏览事件的自动采集
对于 android.support.v4.app.Fragment 的片段,可以使用以下方法自动采集页面浏览事件:
SDK初始化完成后,调用如下方法启动片段自动采集功能
ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID).trackFragmentAppViewScreen();
对于 android.app.Fragment Fragment,你可以通过以下方法自行调用页面浏览事件:
ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID).trackViewScreen(targetFragment);
3.4.2 自定义页面视图事件的属性
对于页面浏览事件
的活动,您可以通过实现界面 ScreenAutoTracker 来添加属性,并通过覆盖以下两种方法将页面 URL 信息和其他自定义属性添加到页面视图事件:
public class MainActivity extends AppCompatActivity implements ScreenAutoTracker {
private Context mContext;
@Override
public String getScreenUrl() {
return "thinkingdata://page/main";
}
@Override
public JSONObject getTrackProperties() throws JSONException {
JSONObject jsonObject = new JSONObject();
jsonObject.put("param1", "ABCD");
jsonObject.put("param2", "thinkingdata");
return jsonObject;
}
}
其中,getScreenUrl 的返回值将作为活动的 URL 架构,当触发页面的浏览事件时,会添加预设属性#url,该值为当前页面的 URL 架构,
并且 SDK 会在跳转前获取页面的 URL 架构,如果可以获取,则会将其添加到预设属性中#referrer即转发地址。
getTrackProperties 的返回值是页面浏览事件的自定义属性,该属性将自动添加到页面的浏览事件中
2. 对于 Fragment 的页面浏览事件,是的
通过注释片段类@ThinkingDataFragmentTitle,例如
@ThinkingDataFragmentTitle(title = "myFragment")
public class ListViewFragment extends BaseFragment {
// your fragment implementations
}
通过片段实现屏幕自动跟踪器接口,并将#title属性添加到自定义属性
@Override
public JSONObject getTrackProperties() {
try {
JSONObject properties = new JSONObject();
properties.put("#title", "RecyclerViewFragment");
return properties;
} catch (JSONException e) {
// ignore
}
return null;
}
3.5 APP控制点击事件
当用户单击控件时,将触发 APP 控件单击事件
有几种方法可以为页面上的视图设置更多点击事件的属性,以扩展其分析值:
3.5.1 自定义控件 ID
这
控件的 ID 默认使用 android:id,如果无法获取属性,或者想要自定义控件 ID,可以使用以下方法重写 #element_id 属性
ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID).setViewID(view,viewID);
对于对话框,您可以使用以下方法:
//android.app.Dialog
ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID).setViewID(view,viewID);
或
//android.support.v7.app.AlertDialog
<p>
ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID).setViewID(view,viewID);
</p>
参数视图为
需要设置控件 ID 的视图,参数 viewID 是设置的控件 ID,在上传控件的点击事件时#element_id的取值即为此处的传入值
3.5.2 自定义控件单击事件的属性
可以通过以下方式向控件(视图)的单击事件添加自定义属性:
ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID).setViewProperties(view,properties);
参数视图是需要设置 自定义属性和参数属性的视图
类型 JSONObject,是设置的自定义属性,将在上载控件的 Click 事件时添加这些属性。
此外,对于 ExpandableListView、ListView 和 GridView,您还可以通过适配器实现接口,以便在单击项目时添加自定义属性。
public interface ThinkingExpandableListViewItemTrackProperties {
/**
* 增加点击 groupPosition、childPosition 处 item 时的属性
* @param groupPosition
* @param childPosition
* @return
* @throws JSONException
*/
JSONObject getThinkingChildItemTrackProperties(int groupPosition, int childPosition) throws JSONException;
/**
* 增加点击 groupPosition 处 item 时的属性
* @param groupPosition
* @return
* @throws JSONException
*/
JSONObject getThinkingGroupItemTrackProperties(int groupPosition) throws JSONException;
}
public interface ThinkingAdapterViewItemTrackProperties {
/**
* 增加点击 position 处 item 时的属性
* @param position
* @return
* @throws JSONException
*/
JSONObject getThinkingItemTrackProperties(int position) throws JSONException;
}
3.5.3 将活动信息添加到警报对话框的点击事件中对于 AlertDialog
(android.app.AlertDialog 和
android.support.v7.app.AlertDialog),您可以绑定活动,页面的#screen_name和#title属性将被添加到点击事件中。
dialog.setOwnerActivity(targetActivity);
builder.show().setOwnerActivity(activity);
3.5.4 注释@ThinkingDataTrackViewOnClick上传控件点击事件
如果使用 android:onclick 方法向控件添加点击事件,可以在调用方法上添加注解@ThinkingDataTrackViewOnClick,执行调用方法时,SDK 会上传控件点击事件
@ThinkingDataTrackViewOnClick
public void buttonOnClick(View v){}
如果调用方法 buttonOnClick,则上载控件单击事件
3.6 APP崩溃事件
当应用未捕获异常时,将报告应用崩溃事件
4. 忽略自动采集事件
可以通过以下方式忽略页或控件的自动采集事件
4.1 忽略页面的自动采集事件
对于某些活动,如果您不想传输自动采集事件,包括页面浏览量和控制点击事件,可以通过以下方式忽略它们:
//单页面的忽略
ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID).ignoreAutoTrackActivity(MainActivity.class);
//多页面的忽略
List classList = new ArrayList();
classList.add(MainActivity.class);
ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID).ignoreAutoTrackActivities(classList);
您还可以在活动或片段之前添加注释@ThinkingDataIgnoreTrackAppViewScreen,以忽略活动或片段的页面浏览事件
//忽略 TestActivity 的页面浏览事件
@ThinkingDataIgnoreTrackAppViewScreen
public class TestActivity extends AppCompatActivity {
...
}
在活动之前添加注释@ThinkingDataIgnoreTrackAppViewScreenAndAppClick以忽略该页面下的活动页面视图事件和控件单击事件
//忽略 TestActivity 的页面浏览事件与该页面下的控件点击事件
@ThinkingDataIgnoreTrackAppViewScreenAndAppClick
public class TestActivity extends AppCompatActivity {
...
}
4.2 忽略特定类型控件的点击事件
如果需要忽略某种控件类型的单击事件,可以使用以下方法忽略它
ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID).ignoreViewType(ignoredClass);
4.3 忽略元素的点击事件(视图)。
如果要忽略
元素的 click 事件(View),可以使用以下方法忽略它
ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID).ignoreView(targetView);
5. 使用注释快速设置事件
如果需要监控方法被调用的次数,或者方法需要一调用就上传事件,可以使用注解@ThinkingDataTrackEvent快速设置需要上传的事件,注意属性不能传递到变量中,所以只适合上传简单事件
//使用注解
@ThinkingDataTrackEvent(eventName = "event_name", properties = "{\"paramString\":\"value\",\"paramNumber\":123,\"paramBoolean\":true}")
public void fun(){}
此时,如果调用方法 fun,则会上传一个名为 event_name 的事件,其属性为 “paramString”: “value”、“paramNumber”:123 和 “paramBoolean”: true
6. 自动采集事件的预设属性
以下预设属性对于每个自动采集事件都是唯一的
属性名称
中文名
描述: __________
#resume_from_background
是否从后台唤醒
指示应用是打开还是从后台唤醒,值为 TRUE 表示从后台唤醒,FALSE 表示直接打开
属性名称
中文名
描述: __________
#duration
活动持续时间
指示应用访问的时长(从启动到结束),以秒为单位
属性名称
中文名
描述: __________
#title
页面标题
是它所属的控件
活动
的标题,值为
活动
之
标题
属性的值
#screen_name
页面名称
是它所属的控件
活动
的包名称。类名
#url
页面地址
需要调用的当前页面的地址
getScreenUrl
进行网址设置
#referrer
转发地址跳转前
页面的地址,跳转前需要在页面上调用
getScreenUrl
进行网址设置
属性名称
中文名
描述: __________
#title
页面标题
是它所属的控件
活动
的标题,值为
活动
之
标题
属性的值
#screen_name
页面名称
是它所属的控件
活动
的包名称。类名
#element_id
元素标识
这
控件的 ID,默认使用
安卓:ID
调用
设置视图标识
进行设置
#element_type
元素类型
控件的类型
#element_selector
元素选择器
对于控件
视图路径
缝合数量
#element_position
元素位置
控件存在时控件的位置信息
位置
属性已上传
#element_content
元素内容
控件上的内容
属性名称
中文名
描述: __________
#app_crashed_reason
异常信息
字符类型,记录崩溃时的堆栈跟踪
7.集成自动采集功能插件(可选)。
技巧
你仅当您需要
打开控制点击事件和片段页面查看事件时,才需要集成此插件。
apply plugin: 'cn.thinkingdata.android'
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'cn.thinkingdata.android:android-gradle-plugin2:1.0.5'
}
}
插件相关参数可以在项目 build.gradle 文件中配置
apply plugin: 'cn.thinkingdata.android'
android {
}
ThinkingAnalytics {
debug = true
disableJar = true
exclude = []
excludeSensitive = []
}
如果要打开编译日志,可以设置 debug = true,默认为 false
如果要禁用对 jar 中类的扫描,可以设置 disableJar = true,默认值为 false
如果您不想扫描特定路径中的类,可以通过设置 exclude = ['cn.thinkingdata.android','android.support'] 来实现。
从插件 V1.0.5 版本开始,可以通过设置 excludeSensitive = ['AndroidID'] 来配置用于配置敏感属性(例如 AndroidID)的代码隔离,这需要主 SDK 版本 V2.8.1 或更高版本的支持。
技巧
对于 2.7.6.1 以下的 SDK,请集成旧插件
SDK 版本为 2.0.0-2.7.6,请使用以下插件:
apply plugin: 'cn.thinkingdata.android'
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'cn.thinkingdata.android:android-gradle-plugin:2.0.2'
}
}
为
2.0.0 之前的 SDK 版本,请使用以下插件:
apply plugin: 'com.thinkingdata.analytics.android'
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.thinking.analyselibrary.plugin:android-gradle-plugin:1.2.0'
}
}
8. 自动设置自定义属性采集事件
您可以调用 enableAutoTrack(List, JSONObject) 来打开自动采集功能并设置自定义属性
JSONObject properties = new JSONObject();
try {
properties.put("auto_self_define_key", "auto_self_define_value");
} catch (Exception e) {
e.printStackTrace();
}
ThinkingAnalyticsSDK.enableAutoTrack(typeList, properties);
您还可以调用 setAutoTrackProperties(List, JSONObject) 来设置或更新自定义属性
JSONObject properties = new JSONObject();
try {
properties.put("auto_self_define_key", "auto_self_define_value");
} catch (Exception e) {
e.printStackTrace();
}
ThinkingAnalyticsSDK.setAutoTrackProperties(typeList, properties);
9. 自动设置事件采集回调
V2.7.5 之后,您可以设置回调,在启用自动采集事件时获取当前事件的事件类型和事件属性,并通过设置返回值添加要上报给事件的其他属性。
List typeList = new ArrayList();
typeList.add(ThinkingAnalyticsSDK.AutoTrackEventType.APP_START);
typeList.add(ThinkingAnalyticsSDK.AutoTrackEventType.APP_INSTALL);
typeList.add(ThinkingAnalyticsSDK.AutoTrackEventType.APP_END);
mInstance.enableAutoTrack(typeList, new ThinkingAnalyticsSDK.AutoTrackEventListener() {
@Override
public JSONObject eventCallback(ThinkingAnalyticsSDK.AutoTrackEventType eventType, JSONObject properties) {
try {
return new JSONObject("{\"keykey\":\"value1111\"}");
} catch (JSONException e) {
e.printStackTrace();
return null;
}
}
});