AddonClient

@PublicApi
interface AddonClient


הממשק הראשי להתחלה ולעצירה של סשן של תוסף.

הערה: רק סשן אחד יכול להיות פעיל בכל פעם. אחרת, ListenableFuture שהוחזר על ידי begin יפתור את הבעיה עם . סשן יכול להסתיים מעצמו (למשל, המשתמש יצא מהפגישה) ולהתקשר אל onSessionEnded. לחלופין, אפשר לסיים את הסשן בטלפון endSession.

דוגמה לשימוש:

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

סיכום

סוגים מקוננים

מייצג אירוע נכשל לפני, במהלך או אחרי סשן של תוסף.

תפקידים ציבוריים

AddonSession.Builder!

מחזירה ב-builder של סשן חדש של תוסף.

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

יודיע ל-Meet על אירוע כשל של תוסף.

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

רישום מאזינים שיקבלו התראות על שינויים בסטטוס של פגישות וסשנים של תוספים.

Unit

מבטל רישום של האזנה פעילה לשינויים ב-MeetingStatus.

תפקידים ציבוריים

newSessionBuilder

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

מחזירה ב-builder של סשן חדש של תוסף. הסשן יתחיל רק לאחר קריאה ל-begin.

כדי להתחיל סשן, צריך קודם את שרשרת withCoWatching, withCoDoing או את שתיהן ב-builder הזה.

דוגמה לשימוש:

ListenableFuture<AddonSession> session = meetClient
    .newSessionBuilder(appContext, new AwesomeAddonSessionHandler())
    .withCoWatching(new AwesomeCoWatchingHandler())
    .withCoDoing(new AwesomeCoDoingHandler())
    .begin();
כדי להשתמש בפונקציונליות של המטא-נתונים של המשתתפים, צריך לבצע קריאה ל-withParticipantMetadata בשרשרת של ה-builder כדי לציין את המצב הראשוני ולרשום בקשת האזנה למשתתפים אחרים. לדוגמה:
ListenableFuture<AddonSession> session = meetClient
    .newSessionBuilder(new AwesomeAddonSessionHandler())
    .withCoWatching(new AwesomeCoWatchingHandler())
    .withParticipantMetadata(new AwesomeMetadataHandler(), myMetadataBytes)
    .begin(appContext);
בכתובת begin ניתן למצוא פרטים נוספים על אופן התחלת סשן.
פרמטרים
handler: AddonSessionHandler!

קריאות חוזרות (callback) שחלות על כל הסשנים של תוספים

החזרות
AddonSession.Builder!

builder למכונה חדשה של AddonSession

קליעות
java.lang.NullPointerException

אם אחד מהארגומנטים שצוין הוא null

notifyAddonFailureEvent

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

יודיע ל-Meet על אירוע כשל של תוסף.

פרמטרים
appContext: Context!

הערך getApplicationContext של האפליקציה שמשתמשת ב-SDK של התוסף ל-Meet

failureEventType: AddonClient.AddonFailureEventType!

סוג אירוע הכשל שהתרחש לפני, במהלך או אחרי סשן של שיתוף בזמן אמת

קליעות
java.lang.NullPointerException

אם אחד מהארגומנטים שצוין הוא null

registerMeetingStatusListener

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

רישום מאזינים שיקבלו התראות על שינויים בסטטוס של פגישות וסשנים של תוספים.

המאזינים הרשומים יקבלו התראה בגלל אחד מהסטטוסים הבאים:

  • MEETING – יש פגישה פעילה באפליקציית Meet
  • ADDON_SESSION – יש סשן פעיל של תוסף. זה אפשרי רק אם יש גם פגישה פעילה.
  • NO_MEETING – אין סשן של פגישה או תוסף
פרמטרים
appContext: Context!

הערך getApplicationContext של האפליקציה שמשתמשת ב-SDK של התוסף ל-Meet

listener: MeetingStatusListener!

את MeetingStatusListener כדי לקבל התראות על שינויים בסטטוס

handler: Optional<Handler!>!

Optional של Handler להפעלה אסינכרונית. אם לא מסופק ערך כזה, הלוגיקה שתתקבל עשויה לפעול ב-thread של ממשק המשתמש.

קליעות
java.lang.IllegalStateException

אם מתבצעת קריאה לשיטה הזו לפני שמפעילים את unregisterMeetingStatusListener ל-listener שכבר רשום

unregisterMeetingStatusListener

fun unregisterMeetingStatusListener(appContext: Context!): Unit

מבטל רישום של האזנה פעילה לשינויים ב-MeetingStatus.

פרמטרים
appContext: Context!

הערך getApplicationContext של האפליקציה שמשתמשת ב-SDK של התוסף ל-Meet

קליעות
java.lang.IllegalStateException

אם קוראים לשיטה הזו לפני שמפעילים את registerMeetingStatusListener.