Schedule Conference | Conference List | Configure Conference | nvite Members |
| | |
|
Intent intent = new Intent(this, ScheduleConferenceActivity.class); startActivity(intent);
val intent = Intent(this, ScheduleConferenceActivity::class.java)startActivity(intent)
class YourViewController: UIViewContrller {func jumpToScheduleViewController {let scheduleViewController = ScheduleConferenceViewController()navigationController?.pushViewController(scheduleViewController, animated: true)}}
ScheduleRoomPage
when needed to access the conference scheduling page.import 'package:tencent_conference_uikit/tencent_conference_uikit.dartNavigator.push(context,MaterialPageRoute(builder: (context) => ScheduleRoomPage(),),);
Enter the schedule conference interface | Configure conference details | Scheduled successful |
| | |
<!-- For example, if your parent layout is ConstraintLayout, add the following code --><FrameLayout android:id="@+id/tuiroomkit_fl_conference_list_container" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent"/>
ConferenceListFragment fragment = new ConferenceListFragment(); FragmentTransaction transaction = this.getSupportFragmentManager().beginTransaction(); transaction.add(R.id.tuiroomkit_fl_conference_list_container, fragment); transaction.commitAllowingStateLoss();
val fragment = ConferenceListFragment()val transaction = supportFragmentManager.beginTransaction()transaction.add(R.id.tuiroomkit_fl_conference_list_container, fragment)transaction.commitAllowingStateLoss()
class YourViewController: UIView {// ConferenceListView initialization requires two parameters:// @param viewController, the viewController to which the meeting list page is addedfunc showConferenceList {let listView = ConferenceListView(viewController: self)view.addSubview(listView)}}
import 'package:flutter/material.dart';import 'package:tencent_conference_uikit/tencent_conference_uikit.dart';// In your own page, add ConferenceListWidgetclass YourPage extends StatelessWidget {const YourPage({Key? key}) : super(key: key);@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text("Your Page")),body: Column(children: [...YourWidgets(), // Your other widgets, this is just an examconst ConferenceListWidget(), // Conference list component],),);}}
Click on the conference list | View conference details | Modify conference Information |
| | |
// Replace SelectParticipantActivity.class with the custom address book activityConferenceSession.sharedInstance().setContactsViewProvider(SelectParticipantActivity.class);
// Replace SelectParticipantActivity::class.java with the custom address book activityConferenceSession.sharedInstance().setContactsViewProvider(SelectParticipantActivity::class.java)
SelectParticipantActivity
is an example code for the custom address book. You can view it in the Demo project (directory: app/src/main/java/com/tencent/liteav/demo/SelectParticipants).Intent intent = new Intent();// participants is the list of selected users, must be of type ArrayList<User>. intent.putExtra(SELECTED_PARTICIPANTS, participants);setResult(3, intent);finish();
val intent = Intent()// participants is the list of selected users, must be of type ArrayList<User>.intent.putExtra(SELECTED_PARTICIPANTS, participants)setResult(3, intent)finish()
// Retrieve the selected user listConferenceParticipants participants = (ConferenceParticipants) bundle.getSerializable(CONFERENCE_PARTICIPANTS); ArrayList<User> selectedList = participants.selectedList;
// Retrieve the selected user listval participants = bundle.getSerializable(CONFERENCE_PARTICIPANTS) as ConferenceParticipantsval selectedList: ArrayList<User> = participants.selectedList
members.json
file of the demo project, some test user information has been pre-configured. You can choose two accounts, log in with the configured userId on two different phones, and then select the other user when scheduling or editing a meeting. This way, the scheduled meeting will appear in the other user's schedule list.SelectMemberControllerProtocol
protocol.// Sample Codeclass SelectMemberViewController: UIViewController, ContactViewProtocol {weak var delegate: ContactViewSelectDelegate?var selectedUsers: [User]func didSelectFinished() {// Through the delegate, call back the selected members to Conference in the method where the selection idelegate?.onMemberSelected(self, invitees: selectedMembers)}}
ConferenceParticipants
object in your address book page's constructor parameter. The data source will be mentioned in the code in step two.ConferenceParticipants
class has two members:// Sample CodeConferenceSession.sharedInstance.setContactsViewProvider { participants inreturn SelectMemberViewController(participants: participants)}
loadMembers
method of SelectMembersViewModel
, you can load your own member list data (you can also directly obtain Chat Relationship Chain Data).members.json
stores the user information required for invitations. Follow these steps:assets
directory of your project, create a new members.json
file listing all the user information you need. The file format should be the same as the members.json
mentioned above.pubspec.yaml
file of your project, complete the following configuration:assets:- assets/members.json
members.json
in the member invitation interface.members.json
mentioned above, the invite friends interface will default to pulling your Chat Buddy Information. When you need to invite other members to the conference, you can add the members you want to invite as friends according to your business needs.import 'package:tencent_cloud_chat_sdk/manager/v2_tim_manager.dart';// In Flutter Conference, there is already a dependency on tencent_cloud_chat_sdk, so there is no need to configure it separately// Replace the userID in the code with the UserID of the user you want to add to complete the friend additV2TIMManager().getFriendshipManager().addFriend(userID: 'userID', addType: FriendTypeEnum.V2TIM_FRIEND_TYPE_BOTH);
Schedule conference interface click Add | Add or delete members from the user list |
| |
SchdeuleConference├── ConferenceDetails // Conference details interface├── ConferenceList // Conference list interface├── ModifyConference // Modify conference interface├── SelectScheduleParticipant // Calling the address book list transmitted from outside├── TimeZone // Configure timezone interface└── View // Schedule conference interface
Source├── ConferenceListView.swift // Conference list├── ScheduleConferenceViewController.swift // Schedule conference interface└── View└── ConferenceOptions├── ConferenceInvitation // Conference invitation├── MemberSelect // Invite members├── ModifySchedule // Modify conference└── ScheduleConference└── View├── ScheduleConference // Schedule conference├── ScheduleDetails // Schedule conference details└── Widget // Conference pop view
pages├── conferenceList // Folder for scheduled conference list| ├── view.dart // Scheduled conference list page| └── widget.dart| ├── conference_date_item.dart // Single date widget in the conference list| ├── conference_item.dart // Single conference widget in the meeting list| └── no_schedule_widget.dart // Widget displayed when there are no conference in the conference list├── schedule_conference // Folder for scheduled conference page│ ├── view.dart // Scheduled conference page│ └── widgets│ ├── attendee_selector // Folder for attendee selection page│ │ ├── view.dart // Attendee selection page│ │ └── widgets│ │ └── selected_attendees.dart // Pop-up page of selected attendees│ ├── duration_selector.dart // Widget for selecting conference duration│ ├── room_control.dart // Widget for muting/unmuting all attendees or disabling/enabling video during the conference│ ├── room_info.dart // Widget for overall room information of the scheduled conference│ ├── room_type.dart // Widget for selecting room type│ ├── start_time_selector.dart // Widget for selecting conference start time│ └── time_zone_selector.dart // Page for selecting conference time zone└── schedule_details // Folder for conference details│ ├── view.dart // conference details page│ └── widgets│ ├── details_button_item.dart // Single button widget in the conference details page└── └── room_info.dart // Meeting information widget
Was this page helpful?