AddonClient

@PublicApi
interface AddonClient


อินเทอร์เฟซหลักสำหรับการเริ่มและการหยุดเซสชันส่วนเสริม

หมายเหตุ: ใช้งานได้ครั้งละ 1 เซสชันเท่านั้น มิเช่นนั้น 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

ยกเลิกการลงทะเบียน Listener ที่ใช้งานอยู่สำหรับการเปลี่ยนแปลง MeetingStatus รายการ

ฟังก์ชันสาธารณะ

newSessionBuilder

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

แสดงเครื่องมือสร้างสำหรับเซสชันส่วนเสริมใหม่ เซสชันจะเริ่มขึ้นเมื่อมีการเรียก begin เท่านั้น

หากต้องการเริ่มเซสชัน ให้เชน withCoWatching, withCoDoing หรือทั้ง 2 อย่างมายังเครื่องมือสร้างนี้ก่อน

ตัวอย่างการใช้งาน:

ListenableFuture<AddonSession> session = meetClient
    .newSessionBuilder(appContext, new AwesomeAddonSessionHandler())
    .withCoWatching(new AwesomeCoWatchingHandler())
    .withCoDoing(new AwesomeCoDoingHandler())
    .begin();
หากต้องการใช้ประโยชน์จากฟังก์ชันข้อมูลเมตาของผู้เข้าร่วม ให้เรียกใช้ guestMetadata ในเชนเครื่องมือสร้างเพื่อระบุสถานะเริ่มต้นและลงทะเบียน Listener สำหรับผู้เข้าร่วมคนอื่นๆ ตัวอย่างเช่น
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 สำหรับการดำเนินการแบบไม่พร้อมกัน หากไม่ระบุ ตรรกะที่เป็นผลลัพธ์อาจทำงานในเธรด UI

การขว้าง
java.lang.IllegalStateException

หากมีการเรียกใช้วิธีนี้ก่อนเรียกใช้ unregisterMeetingStatusListener สำหรับ Listener ที่ลงทะเบียนแล้ว

unregisterMeetingStatusListener

fun unregisterMeetingStatusListener(appContext: Context!): Unit

ยกเลิกการลงทะเบียน Listener ที่ใช้งานอยู่สำหรับการเปลี่ยนแปลง MeetingStatus รายการ

พารามิเตอร์
appContext: Context!

ค่า getApplicationContext ของแอปพลิเคชันที่ใช้ SDK ของส่วนเสริม Meet

การขว้าง
java.lang.IllegalStateException

หากมีการเรียกใช้วิธีนี้ก่อนเรียกใช้ registerMeetingStatusListener