Kami mentransfer siswa ke udalenka dalam 1 hari

gambar

Pada awal 16 Maret, kami duduk di ruang terbuka yang nyaman, dan keesokan harinya seluruh kantor pindah ke rumah terpencil. Pada habr cukup banyak kisah serupa. Tetapi spesifik situasi kita bukanlah pemindahan karyawan, tetapi pemindahan pelanggan. Ini adalah lebih dari tiga ribu siswa yang datang untuk belajar penuh waktu, tetapi di satu sisi berakhir dengan korespondensi.

Apa yang telah dilakukan


Departemen pelatihan untuk guru telah mengembangkan pedoman untuk kuliah online. Misalnya, seperti:

Durasi kelas
- 4 ., , (30-40 ), .

- 8 . ( ), ( , , , ).

, , .

Perhatian yang terfokus
, โ€“ , , . : , 15-20 , , .

(10-12 ). (30+ ), ยซยป , , 2 . 2 . โ€“ .

Pekerjaan besar jatuh pada para karyawan dari lini dukungan pertama dan kedua. Tiba-tiba, ribuan perangkat pengguna pribadi muncul pada dukungan, yang diperlukan untuk membantu menginstal perangkat lunak yang diperlukan, mengeluarkan lisensi untuk perangkat lunak tertentu, dan, tiba-tiba, Zoom tidak berfungsi di Crimea (yang berhasil meninggalkan sana), Opera dengan bantuan VPN terintegrasi.

Zoom dipilih sebagai platform utama.

Awalnya, muncul pertanyaan dengan perencanaan kelas, penciptaan konferensi dan menginformasikan semua siswa dan guru.

gambar

Seperti inilah jadwal kuliah Zoom untuk beberapa hari pertama. Di mana semua konferensi dibuat secara manual

gambar

Jadi, ketika mulai lagi dalam 1s.

Terima kasih kepada kolega saya bahwa dia segera merokok Zoom API dan mengacaukan pembuatan otomatis konferensi sesuai jadwal. Dan juga autoinformasi tentang itu.

Dan di sini ada tautan ke karya Sergey tentang cara membuat konferensi menggunakan Zoom API.

Saya, pada gilirannya, ingin berbagi pengalaman tentang integrasi platform dalam aplikasi Android.
Dalam kasus pengguna kami, ini ternyata sangat nyaman, karena Konferensi dibuat di server dan pengidentifikasi mereka ditransfer ke jadwal di telepon.

gambar

Jadwalkan antarmuka yang terintegrasi dengan Zoom

Sekarang, mari kita lihat cara kerjanya.
Kode Sumber

1. Impor dua perpustakaan dari SDK : commonlib dan mobilertc. Ini mungkin tahap yang paling menyedihkan, karena aplikasi Anda menjadi 80 megabita lebih berat.

2. Kami menerapkan InitAuthSDKCallback, MeetingServiceListener dalam aktivitas atau fragmen kami. Agar zoom berfungsi, diperlukan API minimal 21 (minSdkVersion 16 ditunjukkan dalam dokumentasi di situs, tetapi tidak diperbarui dengan sangat cepat, lebih baik untuk fokus pada contoh dalam sampel yang berasal dari SDK).

Saat membuat fragmen, inisialisasi SDK

Inisialisasi Zoom SDK
private View view;
private ZoomSDK mZoomSDK;
@Override
public View onCreateView(
            LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment_first, container, false);

        mZoomSDK = ZoomSDK.getInstance();
        if (mZoomSDK.isLoggedIn()) {
            getActivity().onBackPressed();
            return null;
        }

        InitAuthSDKHelper.getInstance().initSDK(getContext(), this);
        if (mZoomSDK.isInitialized()) {

            ZoomSDK.getInstance().getMeetingService().addListener(this);
            ZoomSDK.getInstance().getMeetingSettingsHelper().enable720p(true);
        }

        return view;
}


Untuk melakukan ini, buat kelas InitAuthSDKHelper dan panggil fungsi:

initSDK
public void initSDK(Context context, InitAuthSDKCallback callback) {
        if (!mZoomSDK.isInitialized()) {
            mInitAuthSDKCallback = callback;

            ZoomSDKInitParams initParams = new ZoomSDKInitParams();
//            initParams.jwtToken = SDK_JWTTOKEN;
            initParams.appKey = SDK_KEY;
            initParams.appSecret = SDK_SECRET;
            initParams.enableLog = true;
            initParams.logSize = 50;
            initParams.domain = WEB_DOMAIN;
            initParams.videoRawDataMemoryMode = ZoomSDKRawDataMemoryMode.ZoomSDKRawDataMemoryModeStack;
            mZoomSDK.initialize(context, this, initParams);
        }
}


Di sini kami memperhatikan parameter berikut:

appKey dan appSecret - ini adalah pengidentifikasi dan kunci rahasia aplikasi Anda yang Anda buat di situs zoom (dibutuhkan sekitar 1 menit), terdaftar sebagai pengembang.

Dalam praktiknya, sangat tidak dianjurkan untuk menggunakannya untuk identifikasi.
Sebagai gantinya, Anda harus menggunakan parameter jwtToken , seperti yang tertulis di sini .

Koneksi Konferensi
private AutoCompleteTextView idMeeting;
private AutoCompleteTextView idDisplayName;

private void onClickJoin() {
        if(!mZoomSDK.isInitialized())
        {
            Toast.makeText(getContext(),"ZoomSDK has not been initialized 
            successfully",Toast.LENGTH_SHORT).show();
            InitAuthSDKHelper.getInstance().initSDK(getContext(), this);
            return;
        }

if (ZoomSDK.getInstance().getMeetingSettingsHelper().isCustomizedMeetingUIEnabled()) {
   ZoomSDK.getInstance().getSmsService().enableZoomAuthRealNameMeetingUIShown(false);
} else {
   ZoomSDK.getInstance().getSmsService().enableZoomAuthRealNameMeetingUIShown(true);
}

        String number = idMeeting.getText().toString();
        String name = idDisplayName.getText().toString();

        JoinMeetingParams params = new JoinMeetingParams();
        params.meetingNo = number;
        params.displayName = name;
        ZoomSDK.getInstance().getMeetingService().joinMeetingWithParams(getContext(), params);
}


gambar

Implementasi ini menggunakan antarmuka asli. Tetapi kemungkinan penyesuaian didukung.

temuan


  1. Proses pelatihan (dengan pengecualian pada kasus-kasus tersebut ketika lokakarya dan peralatan khusus diperlukan) dapat ditransfer secara online.
  2. Pendekatan yang terfokus dan sistematis adalah penting untuk menghilangkan kebun binatang alat komunikasi yang akan digunakan setiap tutor.
  3. Jika proses pelatihan di backend Anda sebelumnya dibuat, maka pengenalan konferensi ke dalam aplikasi seluler tidak akan memakan banyak waktu.

All Articles