在微信云控系统中,主要由服务器端,手机客户端,模拟点击 滑动等部分组成。其系统关键的核心在于服务器端的命令推送到手机上,以及手机接收到命令后执行相应程序的模拟人工操作。在开发过程中,我们主要用到的开发语言有:PHP、Android、Java、C、C++、服务器的推送方式有很多种,在我们实现云控系统中选用的是个推来实现命令的推送。后台设备管理,以及命令参数的下发等等,都是大家都会经常遇到的各种管理系统的开发类似的。部分核心代码为:
//服务端推送接口,支持三个接口推送
//1.PushMessageToSingle接口:支持对单个用户进行推送
//2.PushMessageToList接口:支持对多个用户进行推送,建议为50个用户
//3.pushMessageToApp接口:对单个应用下的所有用户进行推送,可根据省份,标签,机型过滤推送
//
//单推接口案例
public function pushMessageToSingle(){
//var_dump(‘./‘.ROOT . ‘touchuan/‘ . ‘IGt.Push.php‘);exit();
//require_once(‘./‘.ROOT . ‘touchuan/‘ . ‘IGt.Push.php‘);
//$igt = new \IGeTui(HOST,APPKEY,MASTERSECRET);
$igt = new \IGeTui(NULL,APPKEY,MASTERSECRET,false);
//消息模版:
// 1.TransmissionTemplate:透传功能模板
// 2.LinkTemplate:通知打开链接功能模板
// 3.NotificationTemplate:通知透传功能模板
// 4.NotyPopLoadTemplate:通知弹框下载功能模板
// $template = IGtNotyPopLoadTemplateDemo();
// $template = IGtLinkTemplateDemo();
// $template = IGtNotificationTemplateDemo();
$template = $this->IGtTransmissionTemplateDemo();
我们研发的群控系统不同于市场上的群控系统,是可以运行在任何电脑上的,不用再购买另外一台服务器,对群控系统的操作便捷性以及实用性都做了极大的优化。该系统的实现主要分为5个部分:pc端操作软件、adb底层传输、手机端模拟点击、手机端底层劫持、控制授权的web服务器端授权系统。部分核心源代码为:
new Thread(new Runnable() {
public void run() {
try {
if(popUp)
screenshot = Utilities.bitmapMatrix(screenshot);
else
screenshot = Utilities.bitmapMatrix1(screenshot);
baos = new ByteArrayOutputStream();
screenshot.compress(Bitmap.CompressFormat.JPEG, 30, baos);
data = baos.toByteArray();
dos.writeInt(data.length);
dos.write(data);
if (baos != null) {
baos.flush();
}
} catch (Exception e) {
} finally {
if (baos != null) {
try {
baos.close();
baos = null;
} catch (IOException ioe) {
}
}
screenshot.recycle();
screenshot = null;
data = null;
}
try {
if (baos != null) {
baos.close();
baos = null;
}
if (screenshot != null) {
screenshot.recycle();
screenshot = null;
data = null;
}
} catch (Exception e) {
e.printStackTrace();
}
System.gc();
}}).run();
微信云控系统是相对于微信群控系统而言的,微信云控系统源码与群控系统源码的区别在于,群控系统是通过usb线控制手机去执行命令,而微信云控系统是通过网络传输命令去执行命令。在微信群控系统中,因为受限于电脑端口的约束,以及adb的约束,一台电脑最多直接控制上百部手机,而在微信云控系统中,一台电脑可以控制成千上万部手机。可以给无数手机下发命令。不会受限于端口这些。
原文地址:http://blog.51cto.com/13912601/2155922