AddonSessionHandler

@PublicApi
interface AddonSessionHandler


Callback yang disediakan oleh aplikasi add-on untuk sebuah sesi.

Ringkasan

Jenis bertingkat

Menjelaskan alasan callback onSessionEnded dipicu.

Menjelaskan hak istimewa yang dialokasikan atau dicabut dari peserta dalam sesi add-on.

Fungsi publik

Unit
onCollaborationStartingStateUpdate(
    collaborationStartingState: CollaborationStartingState!
)

Menerima status awal kolaborasi terbaru dari sesi add-on.

Unit

Menerima status hak istimewa terbaru yang menentukan cara pengguna diizinkan untuk berpartisipasi dalam sesi add-on.

Unit

Merespons akhir sesi add-on.

Fungsi publik

onCollaborationStartingStateUpdate

fun onCollaborationStartingStateUpdate(
    collaborationStartingState: CollaborationStartingState!
): Unit

Menerima status awal kolaborasi terbaru dari sesi add-on.

Implementasi konkret diperlukan agar add-on dapat mendukung status awal kolaborasi.

onParticipantPrivilegeChanged

fun onParticipantPrivilegeChanged(
    privileges: (Mutable)List<AddonSessionHandler.Privilege!>!,
    disabledPrivileges: (Mutable)List<AddonSessionHandler.Privilege!>!
): Unit

Menerima status hak istimewa terbaru yang menentukan cara pengguna diizinkan untuk berpartisipasi dalam sesi add-on.

Penerapan konkret diperlukan agar add-on dapat mendukung kontrol host.

onSessionEnded

fun onSessionEnded(endReason: AddonSessionHandler.EndReason!): Unit

Merespons akhir sesi add-on.

  1. Pengendali ini tidak akan menerima panggilan tambahan, kecuali jika AddonSession baru dibuat dengan instance pengendali yang sama ini.
  2. SDK akan menghapus dirinya sendiri. Tidak diperlukan panggilan tambahan ke endSession.

Contoh penerapan:

if (EndReason.SESSION_ENDED_UNEXPECTEDLY.equals(endReason)) {
  log("Something happened unexpectedly");
  // Display UI to user in case they want to reconnect.
  return;
}

if (EndReason.MEETING_ENDED_BY_USER.equals(endReason)) {
  // The meeting is disconnected because the user left the meeting. Perform some
  // cleanup, then exit.
  this.onMeetingDisconnected();
  return;
}

if (EndReason.SESSION_ENDED_BY_USER.equals(endReason)) {
  // Disconnected because the user left the session from the Meet application. However, the
  // conference is still active in Meet. Perform some cleanup, then listen for a possible
  // rejoin event.
  this.onSessionDisconnected();
  return;
}
Parameter
endReason: AddonSessionHandler.EndReason!

alasan sesi berakhir