Buscar pacotes, repositórios e categorias de apps

Capa de cross_connectivity
Detalhes do pacotev3.3.0

cross_connectivity

Um plugin Flutter para lidar com conectividade e estado de conexão real em plataformas móveis, web e desktop. Suporta iOS, Android, Web, Windows, Linux e macOS.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
1,5 mil
Curtidas
128
Pontos Pub
140

Instalar pacote

flutter pub add cross_connectivity

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

CrossConnectivity é um plugin Flutter que fornece monitoramento consistente do status de conectividade em plataformas móveis, web e desktop. Ele diferencia entre a disponibilidade geral da rede e o estado real de conexão no mundo real, garantindo detecção confiável de acesso ativo à internet. Compatível com Android, iOS, Web, macOS, Windows e Linux, oferece aos desenvolvedores uma API unificada para lidar com condições de rede em ambientes diversos. O plugin suporta tanto redes Wi-Fi quanto celulares, e fornece atualizações em tempo real sobre mudanças na conexão.

Casos de uso

  • Responsividade em tempo real do aplicativo com base no status da conexão
  • Tratamento de modo offline em aplicativos multiplataforma
  • Monitoramento de saúde da rede para operações de sincronização de dados
  • Atualizações dinâmicas da interface quando há mudanças na conectividade
  • Garantir a transmissão segura de dados apenas por conexões ativas

Principais recursos

  • Suporta todas as principais plataformas, incluindo web e desktop
  • Distingue entre conectividade e estado real de conexão
  • Emissão em tempo real de eventos para mudanças na rede
  • Leve e fácil de integrar
  • Fornece detecção precisa do tipo de conexão

Indicado para

  • Aplicações Flutter multiplataforma
  • Aplicativos que exigem comportamento robusto offline/on-line
  • Desenvolvedores direcionados para web e desktop junto com mobile
  • Aplicações que precisam de conhecimento preciso do estado da rede

Considerações

  • Requer permissões específicas da plataforma em dispositivos móveis
  • O suporte ao Web depende das capacidades do navegador
  • As implementações de desktop podem variar levemente por sistema operacional
  • Não destinado a diagnósticos de rede de baixo nível
  • Pode exigir lógica adicional para cenários de rede complexos

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

cross_connectivity

Build Pub GitHub GitHub stars

A Flutter plugin for handling Connectivity and REAL Connection state in the mobile, web and desktop platforms. Supports iOS, Android, Web, Windows, Linux and macOS.

Getting Started

In order to use this plugin, add dependency in the pubspec.yaml:

cross_connectivity: any

or

cross_connectivity:
    git:
      url: https://github.com/marchdev-tk/cross_connectivity

Add an import to dart file:

import 'package:cross_connectivity/cross_connectivity.dart';
Samples

Web sample:

Web Sample

Desktop sample:

Desktop Sample

Mobile sample:

Mobile Sample

Usage
Functional approach

This plugin provides two streams:

  • isConnected that shows whether the device is REALLY connected to the network or not.
  • onConnectivityChanged that it will not let you know about state of the REAL network connection. It only shows connectivity state.

Also for one time check could be used following methods:

  • checkConnection() that is working like isConnected, but returns Future<bool> instread of Stream<bool>.
  • checkConnectivity() that is working like onConnectivityChanged, but returns Future<ConnectivityStatus> instread of Stream<ConnectivityStatus>.

There are no more methods (they are working only on Android/iOS/macOS):

  • getWifiName() - Obtains the wifi name (SSID) of the connected network.
  • getWifiBSSID() - Obtains the wifi BSSID of the connected network.
  • getWifiIP() - Obtains the IP address of the connected wifi network.

They are removed to wifi_info_flutter.

Migration guide:

If you don't use any of the above APIs, your code should work as is. In addition, you can also remove NSLocationAlwaysAndWhenInUseUsageDescription and NSLocationWhenInUseUsageDescription in ios/Runner/Info.plist

If you use any of the above APIs, you can find the same APIs in the wifi_info_flutter plugin. For example, to migrate getWifiName, use the new plugin:

final WifiInfo _wifiInfo = WifiInfo();
final String wifiName = await _wifiInfo.getWifiName();
Widget approach

As an alteration to funcitonal approach could be used ConnectivityBuilder widget as follows:

ConnectivityBuilder(
  builder: (context, isConnected, status) => Row(
    mainAxisSize: MainAxisSize.min,
    children: <Widget>[
      Icon(
        isConnected == true
            ? Icons.signal_wifi_4_bar
            : Icons.signal_wifi_off,
        color: isConnected == true ? Colors.green : Colors.red,
      ),
      const SizedBox(width: 8),
      Text(
        '$status',
        style: TextStyle(
          color: status != ConnectivityStatus.none
              ? Colors.green
              : Colors.red,
        ),
      ),
    ],
  ),
)

Feature requests and Bug reports

Feel free to post a feature requests or report a bug here.

Categorias

Dependências

Lista de dependências 4 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.