Chat messages are not sent from iOS Meeting SDK

Description
I can send messages directly in the chat UI. However, if I send messages by using the SDK’s function, the messages are only displayed on the current device, other participants don’t see them.

Which iOS Meeting SDK version?
5.7.1.

To Reproduce(If applicable)

MobileRTCMeetingService *meetService = [[MobileRTC sharedRTC] getMeetingService];
    if (meetService) {
        MobileRTCSendChatError error = [meetService sendChatToGroup:MobileRTCChatGroup_All WithContent:message];
        return @(error == MobileRTCSendChatError_Successed);
    }
    return @(NO);

Smartphone (please complete the following information):

  • Device: iOS Simulator - iPhone 13 Pro Max
  • OS: iOS 15.2

Additional context
The issue doesn’t happen on Android Meeting SDK.

Hi @noob, thanks for the post.

Can you please try updating to the latest version of the SDK and checking if it’s still reproducible?

Thanks!

Thanks for replying.

I’ve updated to version 5.9.1 (2191) and the issue still occurred.

Screenshot: https://paste.pics/FPHLV (I cannot attach media files so I uploaded it to another site).

The message “Sent from SDK” is generated by the following code:

MobileRTCMeetingService *meetService = [[MobileRTC sharedRTC] getMeetingService];
   
    if (meetService) {
        MobileRTCSendChatError error = [meetService sendChatToGroup:MobileRTCChatGroup_All WithContent:@"Sent from SDK"];
        return @(error == MobileRTCSendChatError_Successed);
    }
    return @(NO);

The message “Hello” was input manually from the chat UI.

Result: “Hello” was delivered (other attendees can see it), while “Sent from SDK” was not.
Tested on an iPhone 6 iOS 13.6 and got the same issue.

FYI, here’s how I init the SDK and start a meeting:

    MobileRTCSDKInitContext *context = [[MobileRTCSDKInitContext alloc] init];
    context.domain = @"https://zoom.us";
    context.enableLog = YES;
    context.appGroupId = appGroupId;
    BOOL sdkInitSuc = [[MobileRTC sharedRTC] initialize:context];
    if (sdkInitSuc) {
        [[MobileRTC sharedRTC] setLanguage:@"en"];
        MobileRTCAuthService *authService = [[MobileRTC sharedRTC] getAuthService];
        
        if (authService) {
            authService.clientKey = sdkKey;
            authService.clientSecret = sdkSecret;
            authService.delegate = self;
            [authService sdkAuth];    
        }
    }
...

Start meeting with API user:

    MobileRTCMeetingService *meetService = [[MobileRTC sharedRTC] getMeetingService];
    if (meetService) {
        meetService.delegate = self;
        dispatch_async(dispatch_get_main_queue(), ^{
            MobileRTCMeetingStartParam4WithoutLoginUser * user = [[MobileRTCMeetingStartParam4WithoutLoginUser alloc] init];
            user.userType = MobileRTCUserType_APIUser;
            user.meetingNumber = meetingNumber;
            user.userName = userName;
            user.zak = token;
            user.userID = userId;
            MobileRTCMeetError error = [meetService startMeetingWithStartParam:user];
        });
...

Hi @noob,

Thanks for the additional information. Can you please confirm what the return value of the sendChatToGroup method is when this issue is present? Also, at what point are you trying to send the chat message programmatically?

Thanks!

Hi @jon.lieblich ,

For the sake of testing, I added a button into meetService.meetingView. When user taps the button, the code sendChatToGroup is invoked.

To log the return value of sendChatToGroup:

MobileRTCSendChatError error = [meetService sendChatToGroup:MobileRTCChatGroup_All WithContent:@"Sent from SDK"];
NSLog(@"[Zoom] sendChatToGroup error: %lu", (unsigned long)error);

console:

[Zoom] sendChatToGroup error: 0

Hi @noob,

Thanks for checking that. The return value you are seeing is MobileRTCSendChatError_Successed, so the SDK should attempt to send the message. Can you also check that the value of getAttendeeChatPriviledge is?

Thanks!

Hi @jon.lieblich ,

The result of

MobileRTCMeetingChatPriviledgeType chatPriv = [meetService getAttendeeChatPriviledge];

is:
MobileRTCMeetingChatPriviledge_Everyone_Publicly_And_Privately

Hi @noob,

Thanks for confirming that. With that setting, there shouldn’t be anything preventing anyone in the meeting from sending messages. Can you please provide the encrypted SDK logs so that we can look into this further? There are instructions on how to obtain logs here.

Thanks!

Hi @jon.lieblich, here are the logs: Google Drive

Hi @noob,

Thanks for that! I’m seeing several log files in there. Can you please confirm which one is from a session in which this issue was present?

Thanks!

Hi @jon.lieblich Please check the latest one.

Hi @noob,

There are still several files in the link you’ve provided. In order to investigate the logs, we need to know which file was generated in a session where your issue was reproduced.

Thanks!

Hi, I’m getting “Sorry you cannot post a link to that host”. Looks like I’m not allowed to post links any more. Is there anyway that I can send the file to you?
Sorry for the inconvenience.

Hi @noob,

No problem at all! The best alternative would be to submit the information through a ticket on our developer support site.

Thanks!

Hi @jon.lieblich that developer support site always displays the “Sign In” button: when I click it I’m moved to the profile page → back to the support site → the Sign In button is always displayed. Hence I cannot submit anything. Tried on Chrome and Safari on macOS Big Sur. May I ask for a sample iOS project that the chat messages actually work?

Hi @noob,

Sorry that you are running into issues with submitting a ticket on the developer support site. Can you try clearing your browser’s cache and see if that makes a difference? I also noticed that our system incorrectly flagged a couple of your replies, which may have been preventing you from posting links. Those flags have been cleared, so you may be able to post now if the support site still is not working.

May I ask for a sample iOS project that the chat messages actually work?

I’ve tested the sample app included with the SDK and am able to send chat messages programmatically. Since you are seeing different behavior, we’ll need those logs to determine what is different on your end.

Thanks!

Hi @jon.lieblich Thank you for your patience. Here is the latest log: Google Drive

Hi @noob,

Thank you and absolutely no problem! We’ll investigate the logs and let you know as soon as we have any new information.

Thanks!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.