Saltar al contenido principal
Tutoriales

Pantalla de espera en Vue, Angular, React con Capacitor

Aprende a implementar una pantalla de espera en aplicaciones de Vue, Angular o React utilizando la red API y Capacitor. Mejora la experiencia del usuario al manejar escenarios de desconexión de manera efectiva.

Martin Donadieu

Martin Donadieu

Gerente de contenido

Pantalla de espera en Vue, Angular, React con Capacitor

How to Create an Offline Screen in Vue 3, Angular 14, or React

En este tutorial, aprenderemos a crear una pantalla de offline en aplicaciones de Vue 3, Angular 14 y React utilizando la red API. La red API proporciona información de red y conectividad, lo que nos permite manejar escenarios de offline y brindar una mejor experiencia del usuario. Para verificaciones de alcance más profundas más allá de una simple bandera online/offline, @capgo/capacitor-network-diagnostics pueden probar la alcanzabilidad de URL, puertos TCP y saludos de WebSocket desde nativos code.

Requisitos previos

Antes de comenzar, asegúrese de tener instalado lo siguiente:

Configuración del proyecto

Primero, crea un nuevo proyecto utilizando la herramienta de armado correspondiente para cada marco de trabajo.

Vue 3

Abre tu terminal y ejecuta el siguiente comando para crear un nuevo proyecto de Vue 3:

vue create offline-screen-vue3

Elige el preset predeterminado y espera a que el proyecto se cree.

Angular 14

Abre tu terminal y ejecuta el siguiente comando para crear un nuevo proyecto de Angular 14:

ng new offline-screen-angular14

Sigue las instrucciones, y cuando se te pregunte sobre características adicionales, selecciona "Ruta" presionando la tecla de espacio espera a que el proyecto se cree.

React

Abre tu terminal y ejecuta el siguiente comando para crear un nuevo proyecto de React:

npx create-react-app offline-screen-react

Espera a que el proyecto se cree.

Instalando la red API

Ahora, installemos el @capacitor/network paquete, que proporciona la red API.

Abra su terminal y navegue hasta su directorio de proyecto. Luego, ejecute el siguiente comando para instalar el paquete:

npm install @capacitor/network

Para proyectos Capacitor, también ejecute el siguiente comando para sincronizar los archivos de proyecto nativos:

npx cap sync

Asegúrese de tener instalado globalmente el Capacitor CLI ejecutando:

npm install -g @capacitor/cli

Implementación de la pantalla de desconexión

La siguiente función implementará la pantalla de desconexión en cada marco de trabajo. Mostraremos un mensaje simple cuando el usuario se desconecte.

Vue 3

En su proyecto Vue 3, abra el src/main.js archivo y importe el Network módulo desde @capacitor/network:

import { createApp } from 'vue';
import { Network } from '@capacitor/network';

const app = createApp(App);

// Your application setup

app.mount('#app');

Network.addListener('networkStatusChange', status => {
  if (status.connected) {
    // User is back online
    // Hide the offline screen
    document.getElementById('offline-screen').style.display = 'none';
  } else {
    // User is offline
    // Display the offline screen
    document.getElementById('offline-screen').style.display = 'block';
  }
});

const logCurrentNetworkStatus = async () => {
  const status = await Network.getStatus();
  console.log('Network status:', status);
};

In su plantilla de aplicación (App.vue), agrega un <div> con un id de offline-screen para mostrar el mensaje de pantalla de desconexión:

<template>
  <div id="app">
    <div id="offline-screen">
      <h1>You are offline</h1>
      <p>Please check your internet connection and try again.</p>
    </div>
    <!-- Your application content -->
  </div>
</template>

<style>
#offline-screen {
  display: none;
  text-align: center;
  padding: 20px;
  background-color: #f2f2f2;
}

#offline-screen h1 {
  font-size: 24px;
}

#offline-screen p {
  font-size: 16px;
}
</style>

Ahora, cuando el usuario se desconecta, se mostrará la pantalla de desconexión. Cuando el usuario vuelva a conectarse, se ocultará la pantalla de desconexión.

Angular 14

En tu proyecto de Angular 14, abre el src/app/app.component.ts archivo y importa el Network módulo desde @capacitor/network:

import { Component } from '@angular/core';
import { Network } from '@capacitor/network';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  constructor() {
    Network.addListener('networkStatusChange', status => {
      if (status.connected) {
        // User is back online
        // Hide the offline screen
        document.getElementById('offline-screen').style.display = 'none';
      } else {
        // User is offline
        // Display the offline screen
        document.getElementById('offline-screen').style.display = 'block';
      }
    });
  }

  logCurrentNetworkStatus = async () => {
    const status = await Network.getStatus();
    console.log('Network status:', status);
  };

}

En tu plantilla de aplicación (app.component.html), agrega un <div> con un id de offline-screen para mostrar el mensaje de pantalla de desconexión:

<div id="offline-screen">
  <h1>You are offline</h1>
  <p>Please check your internet connection and try again.</p>
</div>

<!-- Your application content -->

Agregue los siguientes estilos al archivo: app.component.css archivo:

#offline-screen {
  display: none;
  text-align: center;
  padding: 20px;
  background-color: #f2f2f2;
}

#offline-screen h1 {
  font-size: 24px;
}

#offline-screen p {
  font-size: 16px;
}

Ahora, cuando el usuario se desconecta, se mostrará la pantalla de desconexión. Cuando el usuario vuelva a conectarse, se ocultará la pantalla de desconexión.

React

En su proyecto de React, abra el archivo src/App.js y importe el módulo desde Network Agregue los siguientes estilos al archivo: @capacitor/network:

import React, { useEffect } from 'react'
import { Network } from '@capacitor/network'

function App() {

  useEffect(() => {
    Network.addListener('networkStatusChange', (status) => {
      if (status.connected) {
        // User is back online
        // Hide the offline screen
        document.getElementById('offline-screen').style.display = 'none'
      }
      else {
        // User is offline
        // Display the offline screen
        document.getElementById('offline-screen').style.display = 'block'
      }
    })
  }, [])

  const logCurrentNetworkStatus = async () => {
    const status = await Network.getStatus()
    console.log('Network status:', status)
  }

  return (
    <div id="app">
      <div id='offline-screen'>
        <h1>You are offline</h1>
        <p>Please check your internet connection and try again.</p>
      </div>
      {/* Your application content */}
    </div>
  )

}

export default App

archivo: App.css Ahora, cuando el usuario se desconecta, se mostrará la pantalla de desconexión. Cuando el usuario vuelva a conectarse, se ocultará la pantalla de desconexión.

#offline-screen {
  display: none;
  text-align: center;
  padding: 20px;
  background-color: #f2f2f2;
}

#offline-screen h1 {
  font-size: 24px;
}

#offline-screen p {
  font-size: 16px;
}

Métodos y Interfaces de Apoyo

file: __CAPGO_KEEP_0__

La red API proporciona varios métodos e interfaces para ayudarte a manejar la conexión de red. Aquí hay algunas de las principales:

Continuar desde la pantalla de Offline en Vue, Angular, React con Capacitor

Si estás utilizando Offline Screen en Vue, Angular, React con Capacitor para planificar el comportamiento de medios y interfaz nativa, conectarlo con Usando @capgo/capacitor-live-activities para la capacidad nativa en Usando @capgo/capacitor-live-activities, @capgo/capacitor-live-activities para el detalle de implementación en @capgo/capacitor-live-activities, Usando @capgo/capacitor-video-player For la capacidad nativa en Using @capgo/capacitor-video-player, @capgo/capacitor-video-player For el detalle de implementación en @capgo/capacitor-video-player, y Using @capgo/capacitor-native-navigation For la capacidad nativa en Using @capgo/capacitor-native-navigation.

Actualizaciones en vivo para aplicaciones Capacitor

Cuando un error en la capa web está activo, envíe la corrección a través de Capgo en lugar de esperar días para la aprobación de la tienda de aplicaciones. Los usuarios reciben la actualización en segundo plano mientras los cambios nativos siguen en el camino de revisión normal.

Comienza Ahora

Últimas noticias de nuestro Blog

Capgo le da las mejores pistas que necesita para crear una aplicación móvil verdaderamente profesional.