Saltar al contenido principal
Tutoriales

Pantalla de Offline en Vue, Angular, React con Capacitor

Aprenda a implementar una pantalla de offline en aplicaciones de Vue, Angular o React utilizando la red API y Capacitor. Mejore la experiencia del usuario al manejar escenarios de offline de manera efectiva.

Martin Donadieu

Martin Donadieu

Gerente de Contenido

Pantalla de Offline en Vue, Angular, React con Capacitor

Cómo Crear una Pantalla de Offline en Vue 3, Angular 14 o 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.

Requisitos previos

Antes de comenzar, asegúrese de tener instalados los siguientes:

Configuración del Proyecto

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

Vue 3

Abra su terminal y ejecute 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

Abra su terminal y ejecute 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 “Ruteo” presionando la tecla de espacio. Espera a que se cree el proyecto. React

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

Espera a que se cree el proyecto.

npx create-react-app offline-screen-react

Instalando la red __CAPGO_KEEP_0__

Installing the Network API

paquete, que proporciona la red __CAPGO_KEEP_0__. @capacitor/network package, which provides the Network API.

Para proyectos __CAPGO_KEEP_0__, también ejecuta el siguiente comando para sincronizar los archivos del proyecto nativo:

npm install @capacitor/network

Asegúrate de tener instalado globalmente el Capacitor __CAPGO_KEEP_1__ ejecutando:

npx cap sync

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

npm install -g @capacitor/cli

Implementando la pantalla de desconexión

A continuación, implementaremos la funcionalidad de pantalla de desconexión en cada marco de trabajo. Mostraremos un mensaje simple cuando el usuario se desconecte.

Vue 3

En tu proyecto de Vue 3, abre el src/main.js __CAPGO_KEEP_0__ Network y importa el @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);
};

módulo desdeApp.vueEn tu plantilla de aplicación ( <div> ), agrega un offline-screen elemento con un id de

<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>

para mostrar el mensaje de pantalla de desconexión:

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

En su proyecto de Angular 14, abra el archivo src/app/app.component.ts y importe el módulo de Network En su plantilla de aplicación ( @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);
  };

}

), agregue un elemento con un id de app.component.htmlpara mostrar el mensaje de pantalla de offline: <div> Agregue los siguientes estilos al archivo offline-screen Ahora, cuando el usuario se desconecte, se mostrará la pantalla de offline. Cuando el usuario vuelva a conectarse, la pantalla de offline se ocultará.

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

<!-- Your application content -->

React app.component.css En su proyecto de React, abra el 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;
}

module from __CAPGO_KEEP_0__

element with an id of __CAPGO_KEEP_1__ to display the offline screen message:

Add the following styles to the __CAPGO_KEEP_2__ file: src/App.js archivo y importe el Network módulo desde @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

Agregar los siguientes estilos al App.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, la pantalla de desconexión se ocultará.

Métodos y Interfaces de Apoyo

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

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.

Comience ahora

Últimas noticias de nuestro Blog

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