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!

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

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!

تعرِض أداة إنشاء لجلسة إضافة جديدة. ستبدأ الجلسة فقط عند استدعاء "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 لمزيد من التفاصيل حول كيفية بدء الجلسة.
المَعلمات
handler: AddonSessionHandler!

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

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

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

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

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

notifyAddonFailureEvent

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

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

المَعلمات
appContext: Context!

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

failureEventType: AddonClient.AddonFailureEventType!

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

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

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

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

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

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

unregisterMeetingStatusListener

fun unregisterMeetingStatusListener(appContext: Context!): Unit

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

المَعلمات
appContext: Context!

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

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

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