subscribe method

Future<List<EMPresence>> subscribe(
  1. {required List<String> members,
  2. required int expiry}
)

订阅指定用户的在线状态。

Param members 要订阅在线状态的用户 ID 数组。

Param expiry 订阅时长,单位为秒。最长不超过 2,592,000 (30×24×3600) 秒,即 30 天。

Return 返回被订阅用户的当前状态。

Throws 如果有方法调用的异常会在这里抛出,可以看到具体错误原因。参见 EMError

Implementation

Future<List<EMPresence>> subscribe({
  required List<String> members,
  required int expiry,
}) async {
  Map req = {'members': members, "expiry": expiry};
  Map result =
      await _channel.invokeMethod(ChatMethodKeys.presenceSubscribe, req);
  try {
    EMError.hasErrorFromResult(result);
    List<EMPresence> list = [];
    result[ChatMethodKeys.presenceSubscribe]?.forEach((element) {
      list.add(EMPresence.fromJson(element));
    });
    return list;
  } on EMError catch (e) {
    throw e;
  }
}