1. 程式人生 > >自主開發亞馬遜,facebook一機一號雲控系統源碼,及技術展現

自主開發亞馬遜,facebook一機一號雲控系統源碼,及技術展現

final uptime hup smi 通知 mov 演變 亞馬遜 android

亞馬遜,facebook雲控系統是從微信雲控系統的基礎上演變而來的, 完全一機一號和真實手機環境。英文系統語言,美國ip。完全真實的亞馬遜賬號環境和facebook賬號環境。全自動化批量控制亞馬遜,facebook等系統。一部手機,一個amazon賬號,一個facebook賬號,共用同一個ip節約軟件和硬件成本。 雲控系統的核心實現是後臺服務器下發命令,手機端接收命令去執行相應的操作。其中下發命令主要使用到的技術原理是第三方的推送服務,我們主要使用的是個推,服務器源代碼為: // 1.TransmissionTemplate:透傳功能模板 // 2.LinkTemplate:通知打開鏈接功能模板 // 3.NotificationTemplate:通知透傳功能模板 // 4.NotyPopLoadTemplate:通知彈框下載功能模板 // var_dump("ssssssssssss"); //$template = IGtNotyPopLoadTemplateDemo(); //$template = IGtLinkTemplateDemo(); //$template = IGtNotificationTemplateDemo(); $template = $this->IGtTransmissionTemplateDemo($cmd); //個推信息體 $message = new \IGtListMessage(); $message->set_isOffline(true);//是否離線 $message->set_offlineExpireTime(3600 * 12 * 1000);//離線時間 $message->set_data($template);//設置推送消息類型

// $message->set_PushNetWorkType(1); //設置是否根據WIFI推送消息,1為wifi推送,0為不限制推送
// $contentId = $igt->getContentId($message);
$contentId = $igt->getContentId($message,"toList任務別名功能"); //根據TaskId設置組名,支持下劃線,中文,英文,數字
foreach ($idsArr as $k=>$v) {
$target = new \IGtTarget();
$target->set_appId(APPID);

$target->set_clientId($v);
// $target1->set_alias(Alias);
$targetList[$k] = $target;

    手機端執行主要用到的是自動化操作,在Android端我們用到的自動化測試框架為uiautomator,部分源代碼為:

public void doubleClick(int x,int y)
{
publicVariable();
touchDown( x, y);
//SystemClock.sleep(100);
touchUp( x, y);
touchDown( x, y);
//SystemClock.sleep(100);
touchUp( x, y);

}
long mDownTime;
public boolean touchDown(int x,int y)
{
mDownTime = SystemClock.uptimeMillis();
MotionEvent downEvent = getMotionEvent(mDownTime, mDownTime, MotionEvent.ACTION_DOWN, x, y);
return uiAutomation.injectInputEvent(downEvent,true);
}
public boolean touchUp(int x,int y)
{
final long eventTime = SystemClock.uptimeMillis();
MotionEvent upEvent = getMotionEvent(mDownTime, eventTime, MotionEvent.ACTION_UP, x, y);
return uiAutomation.injectInputEvent(upEvent,true);
}
public boolean touchMove(int x,int y)
{
final long eventTime = SystemClock.uptimeMillis();
MotionEvent moveEvent = getMotionEvent(mDownTime, eventTime, MotionEvent.ACTION_MOVE, x, y);
return uiAutomation.injectInputEvent(moveEvent,true);
}

     在整個實現過程中,其中ip問題的解決有幾種方式,一種是通過Android手機自帶pptp的形式連接,一種是通過第三方軟件***的形式連接。我們使用的是***進行ip的鏈接。其中***的ip鏈接,ip相關信息的輸入。都可以在後臺完成。

自主開發亞馬遜,facebook一機一號雲控系統源碼,及技術展現