Empezando
-
Instalar el paquete
Ventana de terminal npm i @capgo/capacitor-home-indicatorVentana de terminal pnpm add @capgo/capacitor-home-indicatorVentana de terminal yarn add @capgo/capacitor-home-indicatorVentana de terminal bun add @capgo/capacitor-home-indicator -
Sincronización con proyectos nativos
Ventana de terminal npx cap syncVentana de terminal pnpm cap syncVentana de terminal yarn cap syncVentana de terminal bunx cap sync -
Configurar el complemento
Ocultar indicador de inicio:
import { HomeIndicator } from '@capgo/capacitor-home-indicator';// Hide the home indicatorawait HomeIndicator.hide();Mostrar indicador de inicio:
// Show the home indicatorawait HomeIndicator.show();// Check visibility statusconst { hidden } = await HomeIndicator.isHidden();console.log('Is hidden:', hidden);No se requiere configuración adicional. El complemento solo funciona en dispositivos iOS con indicador de inicio (iPhone X y posteriores).
Este complemento no tiene ningún efecto en los dispositivos Android ya que no tienen un indicador de inicio estilo iOS.
-
Uso avanzado
import { HomeIndicator } from '@capgo/capacitor-home-indicator';import { App } from '@capacitor/app';export class ImmersiveMode {private isImmersive = false;async enterImmersiveMode() {this.isImmersive = true;// Hide home indicatorawait HomeIndicator.hide();// Hide status bar for full immersion// StatusBar.hide(); // If using @capacitor/status-bar}async exitImmersiveMode() {this.isImmersive = false;// Show home indicatorawait HomeIndicator.show();// Show status bar// StatusBar.show(); // If using @capacitor/status-bar}async toggleImmersiveMode() {const { hidden } = await HomeIndicator.isHidden();if (hidden) {await this.exitImmersiveMode();} else {await this.enterImmersiveMode();}}setupAppLifecycle() {// Handle app state changesApp.addListener('appStateChange', async ({ isActive }) => {if (!isActive && this.isImmersive) {// App went to background, might want to show indicatorawait HomeIndicator.show();} else if (isActive && this.isImmersive) {// App came to foreground, restore immersive modeawait HomeIndicator.hide();}});}}
API Referencia
Section titled “API Referencia”Métodos
Section titled “Métodos”hide()
Section titled “hide()”Oculta el indicador de inicio.
Devoluciones: Promise<void>
show()
Section titled “show()”Muestra el indicador de inicio.
Devoluciones: Promise<void>
isHidden()
Section titled “isHidden()”Compruebe si el indicador de inicio está actualmente oculto.
Devoluciones: Promise<{ hidden: boolean }>
Interfaces
Section titled “Interfaces”interface HiddenResult { hidden: boolean;}Notas de plataforma
Section titled “Notas de plataforma”- Sólo funciona en dispositivos con indicador de inicio (iPhone X y posteriores)
- Requiere iOS 11.0 o posterior
- El indicador reaparece cuando los usuarios deslizan el dedo desde abajo.
Android
Section titled “Android”- Este complemento no tiene ningún efecto en Android
- Android usa diferentes gestos/botones de navegación
Casos de uso comunes
Section titled “Casos de uso comunes”- Juegos: juegos en pantalla completa sin distracciones
- Reproductores de vídeo: reproducción de vídeo inmersiva
- Visualizadores de fotos: galerías de fotos en pantalla completa
- Presentaciones: Presentaciones sin distracciones
- Aplicaciones de quiosco: aplicaciones de visualización pública
Mejores prácticas
Section titled “Mejores prácticas”-
Control de usuario: proporcione siempre una forma de salir del modo inmersivo
// Add a gesture or button to toggle immersive modeconst toggleButton = document.getElementById('toggle-immersive');toggleButton.addEventListener('click', () => {immersiveMode.toggleImmersiveMode();}); -
Respeta los gestos del sistema: no interfieras con la navegación del sistema
-
Guardar estado: recuerda la preferencia del usuario por el modo inmersivo
Solución de problemas
Section titled “Solución de problemas”El indicador de inicio no se oculta:
- Verifique que el dispositivo tenga un indicador de inicio (iPhone X+)
- Verifique que la versión iOS sea 11.0 o superior
- Asegúrese de que la aplicación tenga foco
El indicador reaparece inesperadamente:
- Este es el comportamiento normal de iOS para los gestos del sistema.