Google Home Sample App for Matter는 Google Home Mobile SDK를 사용하여 Google Home app (GHA)와 유사한 Android 앱을 만듭니다. 이 샘플 앱은 다음과 같은 기능을 제공합니다.
- 로컬 및 가상 Matter 기기를 로컬 Android 패브릭에 커밋
- 실제 기기와 가상 기기를 개발 패브릭에 사용
- 개발 패브릭의 기기 제어(예: 조명 켜기)
- 멀티 관리자 기능을 사용하면 개발 패브릭의 기기를 다른 앱과 공유할 수 있고 반대로 다른 앱에서 공유된 개발 패브릭 기기에도 포함할 수 있습니다.
- 개발자 유틸리티
이 가이드에서는 Sample App for Matter APK를 설치하고 이를 사용하여 Matter 기기를 위임, 제어, 공유하는 방법을 설명합니다.
소스 코드를 다운로드하고, Mobile SDK를 통합하는 방법을 알아보고, Android 스튜디오에서 화면을 맞춤설정하는 방법을 알아보려면 Sample App for Matter Codelab을 사용해 보세요.
Sample App for Matter Codelab으로 이동
기본 요건
- 테스트 가능한 Android O (8.1, API 수준 27) 이상 기기 기기에 최신 Matter 지원 기능이 있는지 확인하려면 Matter 모듈 및 서비스 확인 가이드를 검토하세요.
- 사용/사용 중지 기능이 있는 Matter 기기를 빌드합니다. 이 샘플 앱은 가상 기기 및 ESP32에서 작동합니다.
rootnode_dimmablelight_bCwGYSDpoe
앱으로 Matter 가상 기기를 빌드합니다. Google Home Developer Console에서 Matter 통합을 생성할 때0xFFF1
를 공급업체 ID로,0x8000
을 제품 ID로 사용합니다.all-clusters-app
로 Espressif 기기를 빌드합니다. Developer Console에서 Matter 통합을 생성할 때0xFFF1
를 공급업체 ID로,0x8001
를 제품 ID로 사용합니다.
Google Nest Hub (2nd gen)를 비롯한 허브가 없어도 Sample App for Matter로 기기를 위임하고 제어할 수 있습니다.
설치
Sample App for Matter GitHub 저장소의 출시 섹션으로 이동합니다. 이름이
GHSAFM-1.4.1-default-debug.apk
인 APK를 찾습니다.targetcommissioner
를 선택하지 마세요.Android 디버그 브리지 (adb)를 설치합니다.
Android 기기를 USB에 연결하고 파일 전송을 사용 설정한 다음 APK를 설치합니다.
$ adb unroot && adb install GHSAFM-1.4.1-default-debug.apk
수수료 기기
샘플 앱을 처음 실행하면 Sample App for Matter Codelab 링크가 포함된 대화상자가 표시됩니다. 이 메시지를 다시 표시하지 않음을 선택하면 언제든지 앱의 관리 섹션에서 환경설정을 업데이트하여 대화상자를 다시 표시할 수 있습니다.
다음 단계에서는 Matter 앱을 로컬 Android 패브릭과 함께 샘플 앱에만 로컬인 개발 패브릭과 함께 추가합니다.
Matter 패브릭이란 무엇인가요?
Matter 패브릭은 홈 네트워크의 기기 간에 서로 신뢰할 수 있는 공유 도메인입니다.
기기에는 함께 상호작용하는 플랫폼, 앱 또는 기기 그룹에 해당하는 하나 이상의 패브릭이 있을 수 있습니다. Fabric에는 고유 ID가 있으며 기기는 동일한 사용자 인증 정보와 인증 기관(CA) 집합을 공유합니다. 이러한 사용자 인증 정보는 Matter 커밋 중에 할당됩니다.
Matter 기기를 수수료하려면 다음 단계를 완료하세요.
기기 추가 버튼을 탭하여 커밋 프로세스를 시작합니다.
그런 다음 컨트롤이 Google Play services 호출로 전송되며, 이 호출은 Mobile SDK 호출에서 실행됩니다. 소지 증빙 자료를 설정하려면 QR 코드를 스캔하거나 페어링 코드 사용을 탭합니다.
의뢰가 완료되면 기기 이름을 입력한 다음 완료를 탭합니다.
이제 기기가 로컬 Android 패브릭과 개발 패브릭에 모두 연결되었습니다.
기기를 의뢰할 때는 모든 작업 작업과 관련 화면이 Play services에 의해 처리됩니다. 이를 통해 일관된 사용자 환경을 제공하고 Wi-Fi 및 스레드 사용자 인증 정보와 같은 민감한 권한을 처리할 필요가 없습니다.
기기 제어
개발 패브릭은 샘플 앱에서 바로 Matter 기기를 제어하는 사용자 인증 정보를 만듭니다.
홈 화면에서 기기를 사용 또는 사용 중지로 전환할 수 있습니다. 기기를 탭하여 기기 세부정보에 액세스하세요.
기기 공유
Matter 사양에서 기기를 공유하는 것을 다중 관리자 흐름이라고 합니다. 기기가 샘플 앱에 의뢰되면 기기를 다른 생태계와 쉽게 공유할 수 있습니다.
Matter 기기를 다른 생태계와 공유하려면 Android 기기에 다른 플랫폼을 설치해야 합니다. 이 외부 플랫폼은 대상 수수료가 됩니다. 대상 수수료 사용자로 사용할 수 있는 샘플 앱의 다른 인스턴스를 만들었습니다.
Sample App for Matter GitHub 저장소의 출시 섹션으로 이동합니다. 이름이
GHSAFM-[version]-targetcommissioner
인 최신 APK를 찾습니다(예:GHSAFM-1.4.1-targetcommissioner-debug.apk
).대상 입찰자를 설치합니다.
$ adb unroot && adb install GHSAFM-1.4.1-targetcommissioner-debug.apk
홈 화면에서 기기를 탭하여 기기 정보를 표시합니다. 공유를 탭합니다.
샘플 앱은 Mobile SDK Share API를 호출하고 다시 한번 제어를 Play services로 전송합니다.
공유 시트가 표시되어 기기를 페어링하려는 앱 또는 플랫폼을 선택할 수 있습니다. 이 화면에서는 두 가지 방법으로 기기를 공유할 수 있습니다.
- 대상 수수료 앱과 공유할 설정 코드를 통해 수동으로
- Matter 수수료로 등록된 로컬 Android 앱
대상 수수료 입찰 앱은 GHSAFM-TC로 표시됩니다. 샘플 앱의 이 인스턴스를 탭하여 기기를 공유합니다.
그런 다음 외부 앱 (타겟 수수료)에서 자체 패브릭에 기기를 커밋합니다.
설정
홈 화면에서 설정
아이콘을 클릭합니다. 여기에서 사용자 환경설정을 업데이트하고 도움말을 확인하고 앱에 관해 자세히 알아볼 수 있습니다.하프시트 알림
설정 화면에서 Matter 기기에 대해 입찰 가능한 능동적 탐색 알림을 사용 중지할 수 있습니다.
애플리케이션에서 자체 Matter 검색 또는 수수료 흐름을 제공하는 경우 중단을 방지하기 위해 이러한 알림을 표시하지 않을 수 있습니다. 자세한 내용은 위임 가능한 탐색 알림 숨기기를 참고하세요.
개발자 유틸리티
설정 화면에서 개발자 유틸리티에 액세스할 수도 있습니다.
Logcat에서 기기 및 사용자 환경설정 DataStore 저장소의 콘텐츠를 검토하려면 다음 단계를 완료하세요.
Log repositories content(저장소 콘텐츠 로깅)를 클릭합니다.
대화상자에서 OK를 클릭한 후 Logcat을 선택합니다.
의견 및 도움말
Sample App for Matter 개발 환경을 개선할 수 있는 방법에 관한 생각이나 의견을 제출하려면 의견 양식을 작성하세요.
Sample App for Matter에 문제가 발생하면 환경 확인 단계를 완료하세요.
샘플 앱 사용과 관련된 질문이 있거나 코드 버그를 발견한 경우 GitHub 저장소의 Issue Tracker에 문제를 제출할 수 있습니다.
기술적 질문에 관한 Google의 공식 안내를 받으려면 스마트 홈 개발자 포럼을 사용하세요.
커뮤니티의 기술 지원을 받으려면 Stack Overflow에서 google-smart-home
태그를 사용하세요.