mieszko4 / react-native-zoom-us

MIT License
122 stars 116 forks source link

android issue in join meeting #235

Closed meldawi closed 1 year ago

meldawi commented 1 year ago

hello, the app was working fine on both platforms till last month the android stop working because old version "react-native-zoom-us": "^6.8.1" then i upgrade to latest "react-native-zoom-us": "^6.14.1" but the issue changes and i stuck in this error only in android [Error: Error: 20, internalErrorCode=0] ios work fine

"react-native": "0.67.0",
"react-native-zoom-us": "^6.14.1"
compileSdkVersion = 31
targetSdkVersion = 31
"${PODS_ROOT}/ZoomSDK/zoom-sdk-ios-5.11.3.4099/lib/MobileRTCResources.bundle"
mieszko4 commented 1 year ago

:thinking: Based on https://marketplace.zoom.us/docs/sdk/native-sdks/android/resource/error-codes/ error=20 is MEETING_ERROR_WEBINAR_ENFORCE_LOGIN so maybe you using different link on Android and iOS?

meldawi commented 1 year ago

@mieszko4 i am not handle anything with api backend handle creating the meeting and started it from web app i`m just initialize and joinMeeting this code work fine on ios but android throw this error

 const initializeResult = yield ZoomUs.initialize({
        jwtToken: self.init_sdk_jwt_token,
        iosAppGroupId: 'group.org.****',
        iosScreenShareExtensionId: 'org.***'
      })
try {
  const joinMeetingResult = await ZoomUs.joinMeeting({
    userName: self.current_user_name,
    meetingNumber: `${self.meeting_id}`,
    password: self.meeting_password,
    zoomAccessToken: self.zoom_zak_token,
  })
      __DEV__ && console.log({ joinMeetingResult })
} catch (error) {
  __DEV__ && console.log({ error })
}
mieszko4 commented 1 year ago

Perhaps webinars work different for iOS and Android?. Error MEETING_ERROR_WEBINAR_ENFORCE_LOGIN says User needs to log in if he wants to join the webinar. (https://zoom.github.io/zoom-sdk-android/us/zoom/sdk/MeetingError.html#MEETING_ERROR_WEBINAR_ENFORCE_LOGIN)

Joining with normal meeting works well (tested on https://github.com/mieszko4/react-native-zoom-us-test), Also I see you provide both password and zoom_zak_token - I was testing it without zoom_zak_token so maybe that's the issue here, i.e. try without zoom_zak_token maybe?

meldawi commented 1 year ago

@mieszko4 thanks for help.. i try it without zoom_zak_token but i throw this errors ios : {"error": [Error: Error: 23, internalErrorCode=sign in with the specified account to join meeting]} android: {"error": [Error: joinMeeting, errorCode=101]} the zak is required to join this meeting its created for specific users 😒

meldawi commented 1 year ago

@mieszko4 i clone your repo https://github.com/mieszko4/react-native-zoom-us-test and test the join and start meeting working fine on ios but android join work fine and start failed with same error i just invited you to repo just take App.tsx file and replace with the demo file and will work fine with demo app/ thanks in advance

AhmedFehmee commented 1 year ago

I think the main issue here according to error=20 is MEETING_ERROR_WEBINAR_ENFORCE_LOGIN @meldawi try to join with zoom_access_token that need to passing to JoinMeetingParam4WithoutLogin object not JoinMeetingParams object that @mieszko4 use inside RNZoomUsModule >> joinMeeting function

JoinMeetingParam4WithoutLogin params = new JoinMeetingParam4WithoutLogin(); params.displayName = paramMap.getString("userName"); params.meetingNo = paramMap.getString("meetingNumber"); if (paramMap.hasKey("password")) params.password = paramMap.getString("password"); if (paramMap.hasKey("zoomAccessToken")) params.zoomAccessToken = paramMap.getString("zoomAccessToken");

meldawi commented 1 year ago

@mieszko4 i try @AhmedFehmee update on nodemodules and it's worked fine can you update package ?

meldawi commented 1 year ago

@mieszko4 thanks it's work <3