Hub Activation API ช่วยให้คุณค้นพบและเปิดใช้งานฮับ Google Home แบบเป็นโปรแกรมได้ ซึ่งจะมีประโยชน์อย่างยิ่งเมื่อผู้ใช้ไม่มีวิธีอื่นในการเปิดใช้งานฮับ เช่น ในกรณีที่ฮับไม่มีหน้าจอ
Hub Activation API ช่วยให้คุณสร้างแอปที่ค้นพบและเปิดใช้งานฮับได้ หากต้องการทำสิ่งต่อไปนี้
รับข้อมูลอ้างอิงไปยัง
HubManagementTraitในโครงสร้าง:val hubManagementTrait = hubManagementTraitFlow.firstOrNull { it.metadata.sourceConnectivity?.connectivityState == ConnectivityState.ONLINE } if (hubManagementTrait == null) { errorsEmitter.emit(HomeException.notFound("HubManagement trait isn't online")) }ระบุอุปกรณ์ที่สามารถทำหน้าที่เป็นฮับในเครือข่าย Wi-Fi โดยทำดังนี้
try { val unused = hubManagementTrait.discoverAvailableHubs() } catch (e: Exception) { Log.d(TAG_HUB_DISCOVERY, "Error discovering hubs $e") errorsEmitter.emit(e) } val hubManagementTraitFlow = structureFlow.flatMapLatest { it.trait(HubManagement) } val discoveredHubs = hubManagementTraitFlow .map { it.discoveredHubsList } .handleErrors() .flowOn(ioDispatcher) .stateIn( scope = CoroutineScope(viewModelScope.coroutineContext + ioDispatcher), started = SharingStarted.WhileSubscribed(), listOf(), )เปิดใช้งานอุปกรณ์ที่รองรับฮับโดยทำดังนี้
try { val unused = hubManagementTrait.activateHub(hub) } catch (e: Exception) { Log.d("Hub Activation", "Error activating hub $e") }