AddonClient

@PublicApi
interface AddonClient


Antarmuka utama untuk memulai dan menghentikan sesi add-on.

Catatan: Hanya satu sesi yang dapat aktif pada satu waktu. Jika tidak, ListenableFuture yang ditampilkan oleh begin akan di-resolve dengan file . Sesi dapat berakhir dengan sendirinya (misalnya, pengguna keluar dari rapat) dan memanggil onSessionEnded, atau sesi dapat diakhiri dengan memanggil endSession.

Contoh penggunaan:

class AwesomeAddonSessionHandler implements AddonSessionHandler {}

class AwesomeCoWatchingHandler implements CoWatchingHandler {}

public void registerStatusListener() {
  AddonClient meetClient = AddonClientFactory.getClient();
  meetClient.registerMeetingStatusListener(
      appContext,
      meetingStatus -> {
        switch (meetingStatus.status()) {
          case NO_MEETING:
            // User is not in a meeting currently.
            break;
          case MEETING:
            // User is in a meeting, check if they want to start an add-on session.
            showStartAddonSessionDialog();
            break;
          case ADDON_SESSION:
            // User is in a meeting that already hosts an add-on session, check if they want
            // to join the ongoing session.
            showJoinAddonSessionDialog();
            break;
        }
      },
      Optional.empty());
}

public ListenableFuture<AddonClient> initialSetup() {
  AddonClient meetClient = AddonClientFactory.getClient();
  return meetClient
      .newSessionBuilder(appContext, new AwesomeAddonSessionHandler())
      .withCoWatching(new AwesomeCoWatchingHandler())
      .begin();
}

Ringkasan

Jenis bertingkat

Menunjukkan peristiwa kegagalan yang terjadi sebelum, selama, atau setelah sesi add-on.

Fungsi publik

AddonSession.Builder!

Menampilkan builder untuk sesi add-on baru.

Unit
notifyAddonFailureEvent(
    appContext: Context!,
    failureEventType: AddonClient.AddonFailureEventType!
)

Memberi tahu Meet tentang peristiwa kegagalan add-on.

Unit
registerMeetingStatusListener(
    appContext: Context!,
    listener: MeetingStatusListener!,
    handler: Optional<Handler!>!
)

Mendaftarkan pemroses untuk diberi tahu tentang perubahan status rapat dan sesi add-on.

Unit

Membatalkan pendaftaran pemroses aktif untuk perubahan MeetingStatus.

Fungsi publik

newSessionBuilder

fun newSessionBuilder(handler: AddonSessionHandler!): AddonSession.Builder!

Menampilkan builder untuk sesi add-on baru. Sesi hanya akan dimulai setelah begin dipanggil.

Untuk memulai sesi, rantai withCoWatching, withCoDoing terlebih dahulu, atau keduanya ke builder ini.

Contoh penggunaan:

ListenableFuture<AddonSession> session = meetClient
    .newSessionBuilder(appContext, new AwesomeAddonSessionHandler())
    .withCoWatching(new AwesomeCoWatchingHandler())
    .withCoDoing(new AwesomeCoDoingHandler())
    .begin();
Untuk memanfaatkan fungsi metadata peserta, panggil withParticipantMetadata di rantai builder untuk menentukan status awal dan mendaftarkan pemroses untuk peserta lain. Misalnya:
ListenableFuture<AddonSession> session = meetClient
    .newSessionBuilder(new AwesomeAddonSessionHandler())
    .withCoWatching(new AwesomeCoWatchingHandler())
    .withParticipantMetadata(new AwesomeMetadataHandler(), myMetadataBytes)
    .begin(appContext);
Lihat begin untuk detail selengkapnya tentang cara sesi dimulai.
Parameter
handler: AddonSessionHandler!

callback yang berlaku untuk semua sesi add-on

Hasil
AddonSession.Builder!

builder untuk instance AddonSession baru

Menampilkan
java.lang.NullPointerException

jika salah satu argumen yang diberikan adalah null

notifyAddonFailureEvent

fun notifyAddonFailureEvent(
    appContext: Context!,
    failureEventType: AddonClient.AddonFailureEventType!
): Unit

Memberi tahu Meet tentang peristiwa kegagalan add-on.

Parameter
appContext: Context!

nilai getApplicationContext aplikasi yang menggunakan SDK Add-on Meet

failureEventType: AddonClient.AddonFailureEventType!

jenis peristiwa kegagalan yang terjadi sebelum, selama, atau setelah sesi berbagi live

Menampilkan
java.lang.NullPointerException

jika salah satu argumen yang diberikan adalah null

registerMeetingStatusListener

fun registerMeetingStatusListener(
    appContext: Context!,
    listener: MeetingStatusListener!,
    handler: Optional<Handler!>!
): Unit

Mendaftarkan pemroses untuk diberi tahu tentang perubahan status rapat dan sesi add-on.

Pemroses yang terdaftar akan diberi tahu karena salah satu status berikut:

  • MEETING - Ada rapat yang aktif di aplikasi Meet
  • ADDON_SESSION - Ada sesi add-on yang aktif. Hal ini hanya dapat dilakukan jika ada rapat yang aktif.
  • NO_MEETING - Tidak ada rapat atau sesi add-on
Parameter
appContext: Context!

nilai getApplicationContext aplikasi yang menggunakan SDK Add-on Meet

listener: MeetingStatusListener!

MeetingStatusListener akan diberi tahu tentang perubahan status

handler: Optional<Handler!>!

Optional dari Handler untuk eksekusi asinkron. Jika logika tidak diberikan, logika yang dihasilkan dapat berjalan di UI thread.

Menampilkan
java.lang.IllegalStateException

Jika metode ini dipanggil sebelum memanggil unregisterMeetingStatusListener untuk pemroses yang sudah terdaftar

unregisterMeetingStatusListener

fun unregisterMeetingStatusListener(appContext: Context!): Unit

Membatalkan pendaftaran pemroses aktif untuk perubahan MeetingStatus.

Parameter
appContext: Context!

nilai getApplicationContext aplikasi yang menggunakan SDK Add-on Meet

Menampilkan
java.lang.IllegalStateException

Jika metode ini dipanggil sebelum memanggil registerMeetingStatusListener.