用户登录

方法:

安装IP精灵SDK版,使用IP精灵用户登录。点击下载:IP精灵SDK

adb命令发送android广播示例:

连接广东省混拨示例:
adb shell am broadcast -a com.chuangdian.ipjlsdk.SDK_OPERATE --es username "IP精灵用户名" --es password "IP精灵用户密码" --ei opertype 2 --es province "广东省"

如图所示:

选择连接模式:

1.普通连接模式:使用混拨模式,连接共享的动态IP加速器线路

2.连接代理商的尊享线路:指定代理商购买的所有线路,则代理商下线的所有用户可以以独享模式连接,并保持所有账号获得的IP不重复。

3.连接用户的个人尊享线路:连接到自己的个人线路,以独享模式连接。

混拨连接

使用安卓广播机制指示app更换特定地方的IP。制作IP精灵连接客户端,或使用脚本发送安卓广播,发送广播更换IP的java代码如下:

	//示例:更换铁岭市IP

	//1 - 关闭当前动态IP加速器连接; 2 - 切换当前动态IP加速器连接IP
	int sdkOperateType = 2;
	String province = "";
	String city = "铁岭市";
	Intent intent = new Intent("com.chuangdian.ipjlsdk.SDK_OPERATE");
	intent.putExtra("opertype", sdkOperateType);
	intent.putExtra("province", province);
	intent.putExtra("city", city);
	context.sendBroadcast(intent);
	//其中,如果指定了city参数,则优先连接特定城市线路。否则连接特定省份线路,比如如果需要更换江西省IP则,参数这样填写:
	int sdkOperateType = 2;
	String province = "江西省";
	String city = "";
	……

	//如果需要随机连接全国混拨线路,则将province参数设置成“所有”即可,参数这样填写:
	int sdkOperateType = 2;
	String province = "所有";
	String city = "";
	……
	//如果需要直接指定IP精灵登录用户名和密码,让其自动登录,无需手动输入账号密码,则参数可以如下设置:
	//1 - 关闭当前动态IP加速器连接; 2 - 切换当前动态IP加速器连接IP
	int sdkOperateType = 2;
	String province = "";
	String city = "铁岭市";
	Intent intent = new Intent("com.chuangdian.ipjlsdk.SDK_OPERATE");
	intent.putExtra("username", "ipjlusername");        //IP精灵登录账号名
	intent.putExtra("password", "ipjlpwd");     //IP精灵账号密码
	intent.putExtra("opertype", sdkOperateType);
	intent.putExtra("province", province);
	intent.putExtra("city", city);
	context.sendBroadcast(intent);

注意:如需查看当前IP精灵所有的省份列表和特定省份下城市列表,点击主界面“所有省份线路列表”和“所有城市线路列表”按钮查看当前具有的省份和城市线路。如图所示:

连接个人

如果连接时,需要直接连接IP精灵用户已经购买的个人尊享线路,则按如下参数传递广播变量。

	//1 - 关闭当前动态IP加速器连接; 2 - 切换当前动态IP加速器连接IP
	int sdkOperateType = 1;
	Intent intent = new Intent("com.chuangdian.ipjlsdk.SDK_OPERATE");
	intent.putExtra("opertype", sdkOperateType); 
	intent.putExtra("username", "ipjlusername");
	intent.putExtra("password", "ipjlpwd");
	intent.putExtra("userown", true); //此参数指定连接用户的个人尊享线路
	intent.putExtra("province", ""); //如果用户存在多个个人尊享线路,则指定此区域信息可以优先连接此区域的个人线路,不指定时则传空值,传空值时表示随机挑选个人线路连接
	intent.putExtra("city", ""); //如果用户存在多个个人尊享线路,则指定此区域信息可以优先连接此区域的个人线路,不指定时则传空值,传空值时表示随机挑选个人线路连接
	context.sendBroadcast(intent);    

连接代理商

如果连接时,需要直接连接IP精灵用户代理商已经购买的所有尊享线路,则按如下参数传递广播变量。

注意:连接代理商尊享线路,可以控制代理商下线的所有用户IP使用不重复。此功能订制,需与我们技术部门联系。

	//1 - 关闭当前动态IP加速器连接; 2 - 切换当前动态IP加速器连接IP
	int sdkOperateType = 1;
	Intent intent = new Intent("com.chuangdian.ipjlsdk.SDK_OPERATE");
	intent.putExtra("opertype", sdkOperateType); 
	intent.putExtra("username", "ipjlusername");
	intent.putExtra("password", "ipjlpwd");
	intent.putExtra("agencyown", true); //此参数指定连接用户代理商的尊享线路
	intent.putExtra("province", ""); //如果用户存在多个个人尊享线路,则指定此区域信息可以优先连接此区域的个人线路,不指定时则传空值,传空值时表示随机挑选个人线路连接
	intent.putExtra("city", ""); //如果用户存在多个个人尊享线路,则指定此区域信息可以优先连接此区域的个人线路,不指定时则传空值,传空值时表示随机挑选个人线路连接
	context.sendBroadcast(intent);    

断开连接

如需要使用广播关闭当前动态IP加速器连接,示例java代码如下:

	//1 - 关闭当前动态IP加速器连接; 2 - 切换当前动态IP加速器连接IP
	int sdkOperateType = 1;
	Intent intent = new Intent("com.chuangdian.ipjlsdk.SDK_OPERATE");
	intent.putExtra("opertype", sdkOperateType);
	context.sendBroadcast(intent);

获取状态

IP精灵返回动态IP加速器连接状态。当使用广播操作动态IP加速器后,接受IP精灵动态IP加速器连接状态的返回广播命令如下:

	//静态注册安卓广播接收器
	<receiver android:name="com.chuangdian.ipjlclient.broadcast.SdkOperateResultBcReceiver">
		<intent-filter>
			<action android:name="com.chuangdian.ipjlsdk.SDK_OPERATE_RESULT" />
		</intent-filter>
	</receiver>

	//其中的com.chuangdian.ipjlclient.broadcast.SdkOperateResultBcReceiver为接受返回广播的处理类,处理示例代码如下:
	public class SdkOperateResultBcReceiver extends BroadcastReceiver {
		@Override
		public void onReceive(Context context, Intent intent) {
			int operateResult = intent.getIntExtra("operresult", 0);
				//operateResult的值列表如下
				// 0 -无结果
				// 1 - 完成关闭
				// 2 - 连接成功
				// 3 - 连接失败
				// 4 - 当前指定区域没有线路
				// 5 - 异常断开
				// 6 - 恢复连接
				// 7 - 需要点击信任对话框
				// 8 - App退出
				// 9 - IP精灵用户未登录
				//……根据返回的结果类型,指定自己的代码逻辑
		}
	}