En esta aplicación de ejemplo para iOS, se usan las APIs de Google Home. Usa esta guía para compilar y ejecutar la app por primera vez.
Requisitos previos
Asegúrate de cumplir con los requisitos mínimos para usar las APIs de Home para iOS.
Para compilar e instalar la app de ejemplo, necesitarás una computadora con Xcode versión 15.3 o posterior instalado.
Para probar la app, necesitarás lo siguiente:
- Una Cuenta de Google.
- Un ID de Apple inscrito en el Programa para desarrolladores de Apple para generar archivos de configuración de dispositivos físicos (si aún no se creó, la inscripción genera un costo adicional y puede tardar hasta 48 horas en completarse)
- Un dispositivo iOS (no un simulador) con iOS 16.4 o versiones posteriores configurado con la cuenta de prueba
- Una red Wi-Fi
- Un hub de Google que admita las APIs de Home.
- Un router Thread de borde si tu dispositivo requiere Thread y tu hub no tiene esa capacidad
- Al menos un tipo de dispositivo compatible.
Para el desarrollo, necesitarás una Mac que cumpla con los siguientes requisitos:
- macOS Sonoma o versiones posteriores
- Xcode 15.3 o versiones posteriores
Crea archivos de configuración de implementación de Apple
Primero, una app requiere que se habilite la función App Attest. Como resultado, no se puede implementar en dispositivos simuladores. Esto requiere que crees un perfil de aprovisionamiento con la autorización App Attest.
En segundo lugar, requiere que se habiliten los grupos de apps para la comunicación entre la app y MatterExtension. Esto requiere que registres un identificador de grupo de apps.
Para obtener más detalles, consulta Crea un perfil de aprovisionamiento de desarrollo en perfiles de aprovisionamiento de Apple.
A continuación, se describen los pasos mínimos necesarios para implementar una app:
- Crea un identificador de grupo de apps para que tu app se comunique con
MatterExtension.- Accede al portal para desarrolladores de Apple.
- Agrega un identificador de grupo de apps. Por ejemplo, se podría formatear como
group.com.company.commissioning.
- Registra tu dispositivo de prueba en la cuenta de desarrollador.
Crea un perfil para el destino de tu app.
- Decide un identificador de paquete de aplicación para tu app. El identificador debe ser único y descriptivo. Por ejemplo, se podría
formatear como
com.company.HomeApiSample. Este identificador se usará en el resto de esta sección. - Registra tu ID de app. Cuando se te solicite, agrega la función App Attest y App Groups.
Edita el ID de app recién creado y configura la función App Groups para agregar el identificador de grupo de apps registrado.
Crea un perfil de aprovisionamiento de desarrollo para el desarrollo de tu app. Asócialo a tu ID de app recién creado y a los dispositivos de prueba seleccionados. Asegúrate de tener un certificado de desarrollador para firmar la app.
- Si aún no creaste uno, consulta Crea certificados de ID de desarrollador para obtener instrucciones.
- Decide un identificador de paquete de aplicación para tu app. El identificador debe ser único y descriptivo. Por ejemplo, se podría
formatear como
Crea un perfil para el destino de tu
MatterExtension.- Decide un identificador de paquete de aplicación para tu
MatterExtension. El identificador debe heredarse del identificador de la app. Por ejemplo, se podría formatear comocom.company.HomeApiSample.MatterExtension. - Registra tu ID de app. Cuando se te solicite, agrega la función App Group.
- Edita el ID de app recién creado y configura la función App Groups para agregar el identificador de grupo de apps registrado que se creó en los pasos anteriores.
- Crea un perfil de aprovisionamiento de desarrollo
para
MatterExtension.
- Decide un identificador de paquete de aplicación para tu
Genera el ID de cliente de OAuth y habilita las APIs de Home
Tu app necesita un ID de cliente de OAuth para identificarse en el backend de autenticación de Google. Para iOS y las apps, el tipo de aplicación de ID de cliente de OAuth debe configurarse como iOS. La app también realizará llamadas a la API de Home. Para habilitar esta funcionalidad, la API debe estar habilitada en el Google Cloud proyecto.
Genera el ID de cliente de OAuth
- En la consola de Google Cloud, ve al panel de selección de proyectos y selecciona el proyecto que deseas usar para crear credenciales de OAuth.
- Para ir a la página APIs y servicios, haz clic en el botón de menú en la parte superior izquierda > Ver todos los productos > APIs y servicios.
- En el menú de navegación, haz clic en Credenciales.
Si aún no configuraste la pantalla de consentimiento para este proyecto de Google Cloud, aparecerá el botón Configurar pantalla de consentimiento. En ese caso, configura la pantalla de consentimiento con el siguiente procedimiento. Si ya se configuró la pantalla de consentimiento de OAuth y su estado de publicación es Prueba, asegúrate de que las cuentas de prueba que usarás se agreguen al grupo Usuarios de prueba. De lo contrario, continúa con el siguiente paso.
- Según tu caso de uso, selecciona Interna o Externa y, luego, haz clic en Crear. Se mostrará el panel Pantalla de consentimiento de OAuth.
- Ingresa la información en la página Información de la app según las instrucciones en pantalla y, luego, haz clic en Guardar y continuar. Se mostrará el panel Permisos.
- No es necesario que agregues ningún permiso, así que haz clic en Guardar y continuar. Se mostrará el panel Usuarios de prueba.
- Si elegiste crear una pantalla de consentimiento interna, debes agregar usuarios para probar el acceso a tu app. Haz clic en Agregar usuarios. Se mostrará el panel Agregar usuarios. Los usuarios de prueba tienen el privilegio de otorgar permisos en tu app. En el campo vacío, agrega una o más direcciones de correo electrónico de la Cuenta de Google y, luego, haz clic en Agregar.
- Haz clic en Guardar y continuar. Se mostrará el panel Resumen.
- Revisa la información de la pantalla de consentimiento de OAuth y, luego, haz clic en Volver al panel.
En el panel del menú de la izquierda, haz clic en Credenciales para crear tu ID de cliente de OAuth.

- Haz clic en el botón CREAR CREDENCIALES y selecciona ID de cliente de OAuth.
- En tipo de aplicación, selecciona iOS.
- Ingresa el ID del paquete con el identificador de tu app y el ID del equipo de Apple Developer. Los otros campos son opcionales y se pueden dejar en blanco.
- Haz clic en CREAR y anota el ID de cliente creado o DESCARGAR PLIST. Esto se usará más adelante para habilitar la funcionalidad de flujo de permisos. Para obtener más información, consulta la sección Crea credenciales de autorización.
- Haz clic en el botón CREAR CREDENCIALES y selecciona ID de cliente de OAuth.
Habilita las APIs de Home
Habilita el acceso a las APIs de Home.
- En la pestaña APIs y servicios, haz clic en APIs y servicios habilitados.
- Haz clic en HABILITAR APIs Y SERVICIOS en la parte superior de la página.
- Busca la
HOME APIy selecciónala. - En la página de detalles de la API de Home, haz clic en HABILITAR.
Descarga el código fuente
El código fuente de la app de ejemplo está disponible en GitHub.
Navega hasta donde quieras guardar el proyecto y, luego, clónalo:
git clone https://github.com/google-home/google-home-api-sample-app-ios.gitPara cargar el proyecto en Xcode, haz clic en Archivo > Abrir y selecciona
GoogleHomeAPISampleIOS.xcodeproj en la raíz del repositorio clonado.
Agrega el SDK al proyecto
El proyecto de la app de ejemplo requiere información adicional para compilarse. Esto incluye agregar de forma local los archivos del framework del SDK, propagar la información del identificador de tu cuenta de desarrollador y propagar tu ID de cliente de OAuth.
Compila la app
Para descargar el SDK de iOS de las APIs de Home, primero debes acceder a Google Home Developers.
Configura tu proyecto de Xcode para la app de ejemplo:
- Descomprime el SDK descargado en el directorio
ThirdParty/GoogleHomeSDKen relación con el directorio raíz del proyecto. - Configura los IDs de cliente de desarrollador y de OAuth:
- En el panel de navegación, busca la carpeta GoogleHomeAPISampleIOS y abre el archivo Info.plist para editarlo.
En el archivo Info.plist, propaga el GIDClientID con tu ID de cliente de OAuth (consulta la sección Configura el consentimiento de OAuth), el Número de proyecto de Cloud correspondiente a tu proyecto de Cloud y el GIDTeamID con el ID del equipo de Apple Developer de la cuenta de desarrollador que se usó durante el proceso de registro de OAuth.
Agrega la función App Attest:
- En el panel de navegación de Xcode, selecciona el archivo de proyecto
GoogleHomeAPISampleIOSpara editar la configuración del proyecto. - Haz clic en la pestaña Signing and Capabilities en la parte superior y selecciona el destino
GoogleHomeAPISampleIOSen el lado izquierdo, en la sección TARGETS. - Justo debajo de la pestaña Signing and Capabilities, haz clic en + Capability y busca App Attest.
- Haz clic en App Attest para agregar. Si falta esta función en la búsqueda, es posible que el proyecto ya la haya agregado.
- En el panel de navegación de Xcode, selecciona el archivo de proyecto
Agrega la función App Groups.

- Ve al proyecto GoogleHomeAPISampleIOS > destino GoogleHomeAPISampleIOS.
- Haz clic en Signing & Capabilities > + Capability.
- Selecciona la función App Groups.
- Haz clic en el ícono + en App Groups y agrega el identificador de App Groups para tu app que agregaste en el portal para desarrolladores de Apple.
- Repite estos pasos para el destino MatterAddDeviceExtension para agregarlo a App Groups.
Actualiza el identificador del paquete.
- Para ejecutar y, luego, implementar correctamente la app de ejemplo en el hardware con tus certificados de desarrollador y perfiles de aprovisionamiento, deberás proporcionar un identificador de paquete único. Este debe ser el mismo identificador asociado con tus credenciales de cliente de OAuth (consulta más arriba).
- En el panel de navegación de Xcode, selecciona el archivo de proyecto
GoogleHomeAPISampleIOSpara editar la configuración del proyecto. - Haz clic en la pestaña Signing and Capabilities en la parte superior y selecciona el destino
GoogleHomeAPISampleIOSen el lado izquierdo, en la sección TARGETS. - Selecciona el campo Bundle Identifier en la sección Signing y, luego, ingresa el identificador único de la aplicación.
- Selecciona o instala el perfil de aprovisionamiento relacionado con ese paquete con las autorizaciones requeridas.
- Repite estos pasos para el destino
MatterAddDeviceExtensionpara ingresar el identificador del paquete de la extensión y, luego, importar su perfil de aprovisionamiento registrado.
Actualiza el identificador de grupo de apps registrado en el código.
- La aplicación debe configurar la instancia del SDK para usar el identificador de App Group para funciones como la puesta en servicio de dispositivos. Para usar el ID de App Group registrado en el portal para desarrolladores de Apple, actualiza la app buscando la cadena
HOME_API_TODO_ADD_APP_GROUPy reemplazando cada instancia por ella.
Estas configuraciones se realizan en los siguientes archivos:
GoogleHomeAPISampleIOS.swiftcuando se inicializa el SDKRequestHandler.swiftCommissioningManager.swift
- La aplicación debe configurar la instancia del SDK para usar el identificador de App Group para funciones como la puesta en servicio de dispositivos. Para usar el ID de App Group registrado en el portal para desarrolladores de Apple, actualiza la app buscando la cadena