AddonClient

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

סיכום

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

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

שיטות ציבוריות

abstract AddonSession.Builder

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

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

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

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

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

abstract void

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

שיטות ציבוריות

newSessionBuilder

abstract AddonSession.Builder newSessionBuilder(AddonSessionHandler handler)

מחזירה ב-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 ניתן למצוא פרטים נוספים על אופן התחלת סשן.
פרמטרים
AddonSessionHandler handler

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

החזרות
AddonSession.Builder

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

קליעות
java.lang.NullPointerException

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

notifyAddonFailureEvent

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

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

פרמטרים
Context appContext

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

AddonClient.AddonFailureEventType failureEventType

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

קליעות
java.lang.NullPointerException

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

registerMeetingStatusListener

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

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

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

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

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

MeetingStatusListener listener

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

Optional<Handler> handler

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

קליעות
java.lang.IllegalStateException

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

unregisterMeetingStatusListener

abstract void unregisterMeetingStatusListener(Context appContext)

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

פרמטרים
Context appContext

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

קליעות
java.lang.IllegalStateException

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