メインコンテンツにスキップ
チュートリアル

Offline Screen in Vue, Angular, React with Capacitor

Vue、Angular、またはReactアプリケーションでオフライン画面を実装する方法を学びましょう。Network APIとCapacitorを使用して、ユーザー体験を向上させて、オフラインシナリオを効果的に処理してください。

記事のクレジット

マーティン・ドナディュー

著者

バレリア

レビュー

ジョーダン

編集者

Offline Screen in Vue, Angular, React with Capacitor

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

このチュートリアルでは、Vue 3、Angular 14、Reactアプリケーションでオフライン画面を作成する方法を学びます。Network APIを使用して、Network APIのネットワークと接続性情報を取得し、オフラインシナリオを処理し、ユーザー体験を向上させることができます。ネットワークのより深い到達可能性チェックのために、単純なオンライン/オフラインフラグを超えて、 @capgo/capacitor-network-diagnostics can test URL reachability, TCP ports, and WebSocket handshakes from native code.

前提条件

このチュートリアルを始める前に、以下をインストールしてください。

プロジェクトの設定

まず、各フレームワークのためのサブフォルダを作成し、Capacitorをインストールします。

Vue 3

ターミナルを開いて、次のコマンドを実行して新しい Vue 3 プロジェクトを作成します。

vue create offline-screen-vue3

プロジェクトの作成を待ってください。

Angular 14

ターミナルを開いて、次のコマンドを実行して、新しいAngular 14プロジェクトを作成します。

ng new offline-screen-angular14

プロンプトに従い、追加の機能について尋ねられたときに「Routing」を選択してください。 スペースバー プロジェクトの作成を待ってください。

リアクト

ターミナルを開いて、次のコマンドを実行して新しい React プロジェクトを作成します。

npx create-react-app offline-screen-react

プロジェクトの作成を待ってください。

API

ネットワークをインストールする @capacitor/network package, which provides the Network API.

ターミナルを開いてプロジェクトディレクトリに移動してください。次に、以下のコマンドを実行してパッケージをインストールしてください:

npm install @capacitor/network

Capacitor プロジェクトの場合、以下のコマンドも実行してネイティブプロジェクトファイルを同期してください:

npx cap sync

Capacitor と CLI がグローバルにインストールされていることを確認するには、以下のコマンドを実行してください:

npm install -g @capacitor/cli

オフライン画面の実装

次に、各フレームワークでオフライン画面の機能を実装します。ユーザーがオフラインになったときに、シンプルなメッセージを表示します。

Vue 3

Vue 3 プロジェクトで、ファイルを開いて src/main.js モジュールをインポートしてください Network __CAPGO_KEEP_0__ @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 your application template (),App.vueを追加します。 <div> を指定します。 offline-screen を表示します:

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

現在、ユーザーがオフラインの場合、オフライン画面が表示されます。ユーザーがオンラインに戻ると、オフライン画面が非表示になります。

Angular 14

Angular 14プロジェクトで、 src/app/app.component.ts ファイルを開きます。 Network モジュールをインポートします。 @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);
  };

}

からapp.component.htmlを追加します。 <div> __CAPGO_KEEP_0__ offline-screen オフライン画面を表示するために:

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

<!-- Your application content -->

次のスタイルを追加します。 app.component.css ファイル:

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

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

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

ユーザーがオフラインになったとき、オフライン画面が表示されます。ユーザーがオンラインになったとき、オフライン画面が非表示になります。

React

コンテキスト: Capgo マーケティング ウェブサイト。役割: 短い UI ラベルまたはナビゲーション アイテム。見られる場所: コンポーネント FrameworkSelector.astro。メッセージ キー `framework_react` (フレームワーク React)。 src/App.js React プロジェクトで、次のファイルを開きます。 Network モジュールをインポートします。 @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

モジュールは次のファイルからインポートします。 App.css 次のスタイルを追加します。

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

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

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

ファイル:

ユーザーがオフラインになったとき、オフライン画面が表示されます。ユーザーがオンラインになったとき、オフライン画面が非表示になります。

ネットワーク API は、ネットワーク接続を管理するためにいくつかのメソッドとインターフェイスを提供しています。ここでは、主なものを紹介します。

Vue、Angular、Reactのオフライン画面から続けて Capacitor

Vue、Angular、Reactのオフライン画面から続けて __CAPGO_KEEP_0__ ネイティブメディアとインターフェイスの動作を計画する場合、 Capacitor を使用します。 __CAPGO_KEEP_0__ を使用して、ネイティブ機能の __CAPGO_KEEP_1__-live-activities に接続します。 capgo を使用して、ネイティブ機能の capacitor-live-activities に接続します。 capgo を使用して、 capacitor-live-activities の実装詳細を提供します。 capgo を使用して、ネイティブ機能の capacitor-video-player に接続します。 capgo を使用して、ネイティブ機能の capacitor-video-player に接続します。 capgo を使用して、 capacitor-video-player の実装詳細を提供します。 for the native capability in Using @capgo/capacitor-video-player, @capgo/capacitor-video-player for the implementation detail in @capgo/capacitor-video-player, and Using @capgo/capacitor-native-navigation for the native capability in Using @capgo/capacitor-native-navigation.

Capacitorアプリのリアルタイム更新

ウェブ層のバグが生じた場合、Capgoを通じて修正を配信するのではなく、数日間待ってアプリストアの承認を待つのではなく、ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路に残します。

マーティンから人間のサポート

今すぐ始めましょう

最新のブログ記事

Capgoは、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。