angular - Ionic 3: Cum pot să știu dacă am acces la Internet pe o rețea (wifi sau mobilă)


Aș dori să știu cum pot afla dacă am acces la internet pe o rețea, pentru că aș putea fi conectat la o rețea wifi fără să am acces la internet, de exemplu, dar cum pot să știu?

Folosec ionic-native/network, dar asta nu este suficient!

this.platform.ready().then(() => {
  this.network.onConnect().subscribe((data) => {
    console.log(data);
  });

  this.network.onDisconnect().subscribe((data) =>  {
    console.log(data);
  });

  this.network.onchange().subscribe(data => {
    console.log(data);
  })

Pentru că, după cum poți vedea, detectează doar dacă sunt conectat la o rețea, dar nu știe dacă rețeaua are acces la internet.

Sper că mă poți ajuta :)

Răspuns #1

Modul în care ai testa asta este să faci o cerere HTTP către un server, și dacă acesta răspunde cu 2XX, atunci dispozitivul tău este conectat. Poți „să interoghezi” (să trimiți cereri la intervale regulate) pentru a vedea când conexiunea este pierdută, dar îți recomand să faci asta către propriul tău server ca să nu superi o altă companie :)

Am folosit acest plugin înainte și ai dreptate în evaluarea ta că este destul de inutil în ceea ce privește verificarea conexiunii la internet, dar această metodă (trimiterea de cereri HTTP regulate) este destul de comună.