sendGift method

Future<bool> sendGift(
  1. GiftMessage message
)

Implementation

Future<bool> sendGift(GiftMessage message) async {
  debugPrint("GiftManager sendGift:GiftMessage:${message.toString()}");
  if (message.sender == null ||
      message.receiver == null ||
      message.gift == null) {
    debugPrint("GiftManager sendGift: fail, param is null}");
    return false;
  }
  V2TimValueCallback<V2TimMsgCreateInfoResult> createCustomMessage =
      await TencentImSDKPlugin.v2TIMManager
          .getMessageManager()
          .createCustomMessage(
            data: jsonEncode(GiftJson.fromMessage(message)),
          );
  if (createCustomMessage.code == 0) {
    String? id = createCustomMessage.data?.id;
    V2TimValueCallback<V2TimMessage> sendMessageRes =
        await TencentImSDKPlugin.v2TIMManager.getMessageManager().sendMessage(
              id: id!,
              receiver: "",
              groupID: GiftStore().roomId,
              priority: MessagePriorityEnum.V2TIM_PRIORITY_NORMAL,
            );
    if (sendMessageRes.code == 0) {
      debugPrint("GiftManager sendBarrage success");
      GiftStore().state.giftMessage.value = message;
      if (_onSendGiftCallback != null) {
        _onSendGiftCallback!(message);
      }
      return true;
    } else {
      debugPrint(
          "GiftManager sendBarrage fail,{code:${sendMessageRes.code}, desc:${sendMessageRes.desc}");
      return false;
    }
  } else {
    debugPrint("GiftManager sendBarrage createTextMessage fail,"
        "{code:${createCustomMessage.code}, desc:${createCustomMessage.desc}");
    return false;
  }
}