mobile v1.0.4:初始化步骤打点,超时可区分卡在 存储目录/建目录/SDK内核;初始化超时放宽到 30s(B-58)
This commit is contained in:
@@ -80,9 +80,9 @@ class _LoginScreenState extends State<LoginScreen> {
|
||||
password: password,
|
||||
platformID: IMService.instance.platformID,
|
||||
);
|
||||
// 2. 初始化消息组件(分两步超时,方便定位卡在哪一步)
|
||||
// 2. 初始化消息组件(分两步超时,方便定位卡在哪一步;老手机首次建库可能偏慢,放宽到 30 秒)
|
||||
await IMService.instance.init().timeout(
|
||||
const Duration(seconds: 15),
|
||||
const Duration(seconds: 30),
|
||||
onTimeout: () => throw AuthException('消息组件初始化超时'),
|
||||
);
|
||||
// 3. 登录 OpenIM SDK
|
||||
@@ -117,6 +117,7 @@ class _LoginScreenState extends State<LoginScreen> {
|
||||
}
|
||||
final sdkErr = IMService.instance.lastConnectError;
|
||||
if (sdkErr != null && sdkErr.isNotEmpty) parts.add('消息组件报告:$sdkErr');
|
||||
parts.add('初始化进行到哪一步:${IMService.instance.lastInitStep}');
|
||||
if (mounted) setState(() => _error = parts.join('\n'));
|
||||
// SDK 日志可能较大,异步读完后再补一行提示用户拍照
|
||||
try {
|
||||
|
||||
@@ -130,11 +130,17 @@ class IMService extends ChangeNotifier {
|
||||
});
|
||||
}
|
||||
|
||||
/// 初始化进行到哪一步(超时时展示,区分卡在获取目录还是 SDK 内核)
|
||||
String lastInitStep = '还没开始';
|
||||
|
||||
Future<void> _doInit() async {
|
||||
lastInitStep = '① 获取存储目录';
|
||||
final dir = await getApplicationDocumentsDirectory();
|
||||
final dataDir = '${dir.path}/openim';
|
||||
_dataDir = dataDir;
|
||||
lastInitStep = '② 创建数据目录';
|
||||
await Directory(dataDir).create(recursive: true);
|
||||
lastInitStep = '③ 启动消息组件内核';
|
||||
final ok = await OpenIM.iMManager.initSDK(
|
||||
platformID: platformID,
|
||||
apiAddr: apiAddr,
|
||||
@@ -162,6 +168,7 @@ class IMService extends ChangeNotifier {
|
||||
onUserTokenInvalid: _forceLogout,
|
||||
),
|
||||
);
|
||||
lastInitStep = '④ 内核已返回(结果:$ok)';
|
||||
sdkReady = ok == true;
|
||||
_setBusinessListeners();
|
||||
notifyListeners();
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
name: changlian
|
||||
description: 畅联 —— 公司内部通讯 App(手机端)
|
||||
publish_to: "none"
|
||||
version: 1.0.3+4
|
||||
version: 1.0.4+5
|
||||
|
||||
environment:
|
||||
sdk: ">=3.6.0 <4.0.0"
|
||||
|
||||
Reference in New Issue
Block a user