sendGift method
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;
}
}