Hello, Following is how we are doing, please have a look.
1. We are passing custom participant_id for Start meeting Options like below.
public static void joinMeeting(Context context, String meetingNumber, String password, String display_name,
String host_id, String participant_id,
MeetingServiceListener meetingServiceListener,
InMeetingServiceListener inMeetingServiceListener) {
ZoomSDK zoomSDK = ZoomSDK.getInstance();
if (!zoomSDK.isInitialized()) {
Toast.makeText(context, "ZoomSDK has not been initialized successfully", Toast.LENGTH_LONG).show();
return;
}
MeetingService meetingService = zoomSDK.getMeetingService();
StartMeetingOptions options = new StartMeetingOptions();
options.no_invite = true;
options.participant_id = participant_id;
options.meeting_views_options = MeetingViewsOptions.NO_TEXT_MEETING_ID
+ MeetingViewsOptions.NO_TEXT_PASSWORD;
options.no_webinar_register_dialog = true;
StartMeetingParamsWithoutLogin params = new StartMeetingParamsWithoutLogin();
params.meetingNo = meetingNumber;
params.userId = host_id;
params.zoomAccessToken = password;
params.displayName = display_name;
meetingService.startMeetingWithParams(context, params, options);
meetingService.addListener(meetingServiceListener);
InMeetingService inMeeting = zoomSDK.getInMeetingService();
inMeeting.addListener(inMeetingServiceListener);
}
2. By using the following API, we are getting the correct response in the case of StartMeetingOptions.
API URL
curl --request GET \ --url ‘https://api.zoom.us/v2/metrics/meetings/**********/participants?page_size=30&type=live’ \ --header 'authorization: Bearer *******
API RESPONSE
{
“next_page_token”: “”,
“page_count”: 1,
“page_size”: 30,
“participants”: [
{
“connection_type”: “UDP”,
“data_center”: “India (Cloud Top)”,
“device”: “Android”,
“domain”: “”,
“email”: “itadmin@indiashoppe.org”,
“harddisk_id”: “”,
“id”: “kih6ouepa5aa0f4409842b”,
“ip_address”: “49.34.130.136”,
“join_time”: “2020-12-21T05:15:20Z”,
“location”: “Ahmedabad (IN)”,
“mac_addr”: “”,
“network_type”: “Cellular”,
“pc_name”: “”,
“recording”: false,
“share_application”: false,
“share_desktop”: false,
“share_whiteboard”: false,
“user_id”: “16778240”,
“user_name”: “Jankiii Gadhavi”,
“version”: “5.2.42043.1112”
}
],
“total_records”: 1
}
3. Now When we are passing the Custom partcipant_id in Join meeting options(In android client SDK) like below, we are getting incorrect participant id
public static void joinMeeting(Context context, String meetingNumber, String password, String display_name, String participant_id,
MeetingServiceListener meetingServiceListener,
InMeetingServiceListener inMeetingServiceListener) {
ZoomSDK zoomSDK = ZoomSDK.getInstance();
if (!zoomSDK.isInitialized()) {
Toast.makeText(context, "ZoomSDK has not been initialized successfully", Toast.LENGTH_LONG).show();
return;
}
MeetingService meetingService = zoomSDK.getMeetingService();
JoinMeetingOptions options = new JoinMeetingOptions();
options.no_invite = true;
options.meeting_views_options = MeetingViewsOptions.NO_TEXT_MEETING_ID
+ MeetingViewsOptions.NO_TEXT_PASSWORD;
options.participant_id = participant_id;
options.no_webinar_register_dialog = true;
JoinMeetingParams params = new JoinMeetingParams();
params.displayName = display_name; // TODO: Enter your name
params.meetingNo = meetingNumber;
params.password = password;
meetingService.joinMeetingWithParams(context, params, options);
meetingService.addListener(meetingServiceListener);
InMeetingService inMeeting = zoomSDK.getInMeetingService();
inMeeting.addListener(inMeetingServiceListener);
}
API URL
curl --request GET \ --url ‘https://api.zoom.us/v2/metrics/meetings/**********/participants?page_size=30&type=live’ \ --header 'authorization: Bearer *******
API RESPONSE
{
“next_page_token”: “”,
“page_count”: 1,
“page_size”: 30,
“participants”: [
{
“connection_type”: “UDP”,
“data_center”: “India (Cloud Top)”,
“device”: “Android”,
“domain”: “”,
“email”: “itadmin@indiashoppe.org”,
“harddisk_id”: “”,
“id”: “kih6ouepa5aa0f4409842b”,
“ip_address”: “49.34.130.136”,
“join_time”: “2020-12-21T05:15:20Z”,
“location”: “Ahmedabad (IN)”,
“mac_addr”: “”,
“network_type”: “Cellular”,
“pc_name”: “”,
“recording”: false,
“share_application”: false,
“share_desktop”: false,
“share_whiteboard”: false,
“user_id”: “16778240”,
“user_name”: “Jankiii Gadhavi”,
“version”: “5.2.42043.1112”
},
{
“connection_type”: “UDP”,
“data_center”: “India (Cloud Top)”,
“device”: “Android”,
“domain”: “”,
“harddisk_id”: “”,
“id”: “ZpsOCkjyQnm22FJygLStOw”,
“ip_address”: “103.226.185.114”,
“join_time”: “2020-12-21T05:17:29Z”,
“location”: “Ahmedabad (IN)”,
“mac_addr”: “”,
“network_type”: “Wifi”,
“pc_name”: “”,
“recording”: false,
“share_application”: false,
“share_desktop”: false,
“share_whiteboard”: false,
“user_id”: “16784384”,
“user_name”: “Janki Gadhavi”,
“version”: “5.2.42043.1112”
},
{
“connection_type”: “UDP”,
“data_center”: “India (Cloud Top)”,
“device”: “Android”,
“domain”: “”,
“harddisk_id”: “”,
“id”: “ZpsOCkjyQnm22FJygLStOw”,
“ip_address”: “67.202.59.170”,
“join_time”: “2020-12-21T05:17:22Z”,
“leave_reason”: “Janki Gadhavi left the meeting.
Reason: left the meeting.”,
“leave_time”: “2020-12-21T05:17:29Z”,
“location”: “Ashburn (US)”,
“mac_addr”: “”,
“network_type”: “Wifi”,
“pc_name”: “”,
“recording”: false,
“share_application”: false,
“share_desktop”: false,
“share_whiteboard”: false,
“user_id”: “16783360”,
“user_name”: “Janki Gadhavi”,
“version”: “5.2.42043.1112”
}
],
“total_records”: 3
}
Please have a look at the above response, the first item in the list has the correct participant id because there we have used StartMeetingOptions whereas for the rest two participant id is not correct where we have used JoinMeetingOptions.
Is there any way to pass custom data to zoom SDK while joining the meeting, which can be fetched by any API?