SDK接入流程(flutter版)
集成前准备
- 开始集成前建议先对自身业务做下梳理,确认下哪些业务需要接入 SDK,明确对应的 业务端口、域名以及业务服务器 IP(注意:业务服务器 IP 必须未在公网上解析暴露过,无法通过解析获取,最好是能跟其 他的业务隔离开)。
- 创建SDK接入实例,创建成功会得到AppID 跟 AppKey
- 转发规则配置
- 每条转发规则需要确认转发key(唯一表示一个转发规则),源服务器的IP/域名,端口,通信协议(tcp/udp)
- 下载flutter版sdk:https://www.ddnn.com/assets/downloads/xshield_plugin.tar.gz
集成接入集成接入流程
- 将下载的flutter版sdk解压到项目根目录下
- 修改pubsepc.yml,添加xshield_plugin
dependencies:
flutter:
sdk: flutter
xshield_plugin:
path: sdk_plugin/
import 'package:xshield_plugin/xshield_plugin.dart';
// 联系技术人员获取appId, appKeybool _initSDK(Strring appId, String appKey) async { var result = await XshieldPlugin.init(_appId, _appKey) ?? false; return result;
}
- init方法调用成功后,便可获取客户端的对外ip,以及获取指定域名的本地转发地址
// 此方法必须在_initSDK成功后调用String _getClientIP() async { var ip = await XshieldPlugin.getClientIP() ?? ""; return ip;
}// 获取指定域名的转发地址,必须在_initSDK成功后调用// 成功的返回值应该为 ip:port,例如:127.0.0.1:12345, 后续的通信都经过这个转发地址进行转发通信// domain: 转发规则的标识名,如test.comString _getTCPProxyAddress(String domain) { var result = await XshieldPlugin.getTCPProxyAddr(domain) ?? ''; return result;
}// 获取UDP转发地址String _getUDPProxyAddress(String domain) { var result = await XshieldPlugin.getUDProxyAddr(domain) ?? '';
}