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

تعرِض أداة إنشاء لجلسة إضافة جديدة.

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)

تعرِض أداة إنشاء لجلسة إضافة جديدة. ستبدأ الجلسة فقط عند استدعاء "begin".

لبدء جلسة، يُرجى إضافة السلسلة الأولى withCoWatching أو withCoDoing أو كليهما إلى أداة الإنشاء هذه.

مثال على الاستخدام:

ListenableFuture<AddonSession> session = meetClient
    .newSessionBuilder(appContext, new AwesomeAddonSessionHandler())
    .withCoWatching(new AwesomeCoWatchingHandler())
    .withCoDoing(new AwesomeCoDoingHandler())
    .begin();
للاستفادة من وظيفة البيانات الوصفية للمشاركين، يمكنك استدعاء البيانات الوصفية للمشاركين في سلسلة أداة الإنشاء لتحديد الحالة الأولية وتسجيل المستمعين للمشاركين الآخرين. على سبيل المثال:
ListenableFuture<AddonSession> session = meetClient
    .newSessionBuilder(new AwesomeAddonSessionHandler())
    .withCoWatching(new AwesomeCoWatchingHandler())
    .withParticipantMetadata(new AwesomeMetadataHandler(), myMetadataBytes)
    .begin(appContext);
اطّلِع على begin لمزيد من التفاصيل حول كيفية بدء الجلسة.
المَعلمات
AddonSessionHandler handler

عمليات معاودة الاتصال التي تنطبق على جميع الجلسات الإضافية

المرتجعات
AddonSession.Builder

أداة إنشاء لمثيل AddonSession جديد

الرميات
java.lang.NullPointerException

إذا كان أي من الوسيطات المقدمة فارغة

notifyAddonFailureEvent

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

تُبلِغ Meet بحدوث عطل في الإضافة.

المَعلمات
Context appContext

القيمة getApplicationContext للتطبيق الذي يستخدم حزمة تطوير البرامج (SDK) لإضافة Meet

AddonClient.AddonFailureEventType failureEventType

نوع حدث الفشل الذي حدث قبل جلسة المشاركة المباشرة أو أثناءها أو بعدها

الرميات
java.lang.NullPointerException

إذا كان أي من الوسيطات المقدمة فارغة

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 للتنفيذ غير المتزامن. إذا لم يتم توفير معرّف، قد يتم تشغيل المنطق الناتج في سلسلة تعليمات واجهة المستخدم.

الرميات
java.lang.IllegalStateException

في حال طلب هذه الطريقة قبل طلب خدمة "unregisterMeetingStatusListener" لمستمع سبق أن تم تسجيله

unregisterMeetingStatusListener

abstract void unregisterMeetingStatusListener(Context appContext)

إلغاء تسجيل المستمع النشط لتغييرات MeetingStatus

المَعلمات
Context appContext

القيمة getApplicationContext للتطبيق الذي يستخدم حزمة تطوير البرامج (SDK) لإضافة Meet

الرميات
java.lang.IllegalStateException

إذا تم طلب هذه الطريقة قبل طلب الرقم registerMeetingStatusListener.