Wir bringen die Schüler in 1 Tag nach udalenka

Bild

Bereits am 16. März saßen wir in einem komfortablen offenen Raum, und am nächsten Tag zog das gesamte Büro an einen abgelegenen Ort, nach Hause. Auf einen habr genug genug ähnliche Geschichten. Die Besonderheiten unserer Situation sind jedoch nicht die Übertragung von Mitarbeitern, sondern die Übertragung von Kunden. Dies sind mehr als dreitausend Studenten, die in Vollzeit zum Studium kamen, aber einerseits in der Korrespondenz landeten.

Was getan wurde


Die Ausbildungsabteilung für Lehrer hat Richtlinien für Online-Vorlesungen entwickelt. Zum Beispiel:

Unterrichtsdauer
- 4 ., , (30-40 ), .

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

, , .

Aufmerksamkeit fokussieren
, – , , . : , 15-20 , , .

(10-12 ). (30+ ), «» , , 2 . 2 . – .

Die Mitarbeiter der ersten und zweiten Unterstützungslinie haben große Arbeit geleistet. Plötzlich tauchten Tausende von persönlichen Benutzergeräten im Support auf, auf denen die Installation der erforderlichen Software, die Ausstellung von Lizenzen für bestimmte Software und plötzlich die Funktion von Zoom auf der Krim (die es geschafft hat, dort zu bleiben), Opera mit einer integrierten VPN-Hilfe, nicht mehr funktioniert.

Als Hauptplattform wurde Zoom gewählt.

Die Frage stellte sich zunächst mit der Planung des Unterrichts, der Einrichtung von Konferenzen und der Information aller Schüler und Lehrer.

Bild

So sah der Zoom-Vorlesungsplan für die ersten Tage aus. In dem alle Konferenzen manuell erstellt wurden

Bild

Und so, als es in 1s wieder anfing.

Dank meines Kollegen, dass er sofort die Zoom-API geraucht und die automatische Erstellung der Konferenz gemäß dem Zeitplan vermasselt hat. Und auch Autoinformationen darüber.

Und hier ist ein Link zu Sergeys Arbeiten zum Erstellen von Konferenzen mithilfe der Zoom-API.

Ich möchte wiederum Erfahrungen mit der Plattformintegration in der Android-Anwendung teilen.
In unserem Benutzerfall erwies sich dies als sehr praktisch, weil Konferenzen werden auf dem Server erstellt und ihre Kennungen werden in den Zeitplan auf dem Telefon übertragen.

Bild

In Zoom integrierte Zeitplanoberfläche

Nun wollen wir sehen, wie es funktioniert.
Quellcode

1. Importieren Sie zwei Bibliotheken aus dem SDK : commonlib und mobilertc. Dies ist wahrscheinlich die traurigste Etappe, weil Ihre Anwendung wird 80 Megabyte schwerer.

2. Wir implementieren InitAuthSDKCallback, MeetingServiceListener in unserer Aktivität oder unserem Fragment. Damit der Zoom funktioniert, ist eine Mindest-API von 21 erforderlich (minSdkVersion 16 ist in der Dokumentation auf der Site angegeben, wird jedoch nicht sehr schnell aktualisiert. Es ist besser, sich auf Beispiele in Beispielen aus dem SDK zu konzentrieren).

Initialisieren Sie beim Erstellen eines Fragments das SDK

Zoom SDK initialisieren
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;
}


Erstellen Sie dazu die InitAuthSDKHelper-Klasse und rufen Sie die Funktion auf:

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);
        }
}


Hier achten wir auf folgende Parameter:

appKey und appSecret - Dies ist die Kennung und der geheime Schlüssel Ihrer Anwendung, die Sie auf der als Entwickler registrierten Zoom-Site erstellen (dies dauert ca. 1 Minute).

In der Praxis wird dringend davon abgeraten, sie zur Identifizierung zu verwenden.
Stattdessen sollten Sie die Verwendung jwtToken Parameter , wie geschrieben steht hier .

Konferenzverbindung
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);
}


Bild

Diese Implementierung verwendet die native Schnittstelle. Die Möglichkeit der Anpassung wird jedoch unterstützt.

Ergebnisse


  1. Der Schulungsprozess (mit Ausnahme der Fälle, in denen Workshops und spezielle Ausrüstung erforderlich sind) kann online übertragen werden.
  2. Ein fokussierter und systematischer Ansatz ist wichtig, um den Zoo von Kommunikationswerkzeugen zu eliminieren, die jeder Tutor verwenden wird.
  3. Wenn der Schulungsprozess in Ihrem Backend zuvor eingerichtet wurde, dauert die Einführung von Konferenzen in die mobile Anwendung nicht lange.

All Articles