AddonClient

@PublicApi
public 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.

Metode publik

abstract AddonSession.Builder

Menampilkan builder untuk sesi add-on baru.

abstract void
notifyAddonFailureEvent(
    Context appContext,
    AddonClient.AddonFailureEventType failureEventType
)

Memberi tahu Meet tentang peristiwa kegagalan add-on.

abstract void
registerMeetingStatusListener(
    Context appContext,
    MeetingStatusListener listener,
    Optional<Handler> handler
)

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

abstract void

Membatalkan pendaftaran pemroses aktif untuk perubahan MeetingStatus.

Metode publik

newSessionBuilder

abstract AddonSession.Builder newSessionBuilder(AddonSessionHandler handler)

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
AddonSessionHandler handler

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

abstract void notifyAddonFailureEvent(
    Context appContext,
    AddonClient.AddonFailureEventType failureEventType
)

Memberi tahu Meet tentang peristiwa kegagalan add-on.

Parameter
Context appContext

nilai getApplicationContext aplikasi yang menggunakan SDK Add-on Meet

AddonClient.AddonFailureEventType failureEventType

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

abstract void registerMeetingStatusListener(
    Context appContext,
    MeetingStatusListener listener,
    Optional<Handler> handler
)

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
Context appContext

nilai getApplicationContext aplikasi yang menggunakan SDK Add-on Meet

MeetingStatusListener listener

MeetingStatusListener akan diberi tahu tentang perubahan status

Optional<Handler> 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

abstract void unregisterMeetingStatusListener(Context appContext)

Membatalkan pendaftaran pemroses aktif untuk perubahan MeetingStatus.

Parameter
Context appContext

nilai getApplicationContext aplikasi yang menggunakan SDK Add-on Meet

Menampilkan
java.lang.IllegalStateException

Jika metode ini dipanggil sebelum memanggil registerMeetingStatusListener.