Как проверить наличие интернет соединения ?(Android)

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Как проверить наличие интернет соединения ?(Android)

Сообщение kirya_355 18 июл 2018, 15:13

всем привет, я создал скрипт ,который показывает рекламу при нажатии, вроде работает , но хотелось бы , чтобы при выключенном интернете выдавал ошибку
вот скрипт
Синтаксис:
Используется csharp
using UnityEngine;
using UnityEngine.Advertisements;
using UnityEngine.SceneManagement;
public class UnityAds : MonoBehaviour
{
  public GameObject banner, banner1;//нужно ,чтобы баннер появлялся когда выключен интернет
  private bool ads;

  void Start ()
  {

    if (Advertisement.isSupported)
    {
      ads = true;
      Advertisement.Initialize ("2578372", false);
    }
    else
      ads = false;

  }

  void OnMouseUpAsButton ()
  {
    if (ads == true)
      ShowRewardedAd ();
    if (ads == false)
      Instantiate (banner1, new Vector2 (0, 0), Quaternion.identity);//баннер , который пишет , что устройство не поддерживает рекламу
  }

  public void ShowRewardedAd ()
  {
    if (Advertisement.IsReady ("rewardedVideo"))
    {
      var options = new ShowOptions { resultCallback = HandleShowResult };
      Advertisement.Show ("rewardedVideo", options);
    }

  }

  private void HandleShowResult (ShowResult result)
  {
    switch (result)
    {
      case ShowResult.Finished:

        if (SceneManager.GetActiveScene ().name == "shop")//в магазине при просмотре рекламы дает очки
        {
          int i = PlayerPrefs.GetInt ("allscore");
          PlayerPrefs.SetInt ("allscore", i + 50);

        }

        break;
      case ShowResult.Skipped:

        break;
      case ShowResult.Failed:

        break;
    }
  }
}
 


Как проверить наличие интернет соединения ? В интернете искал не нашёл рабочего скрипта .
kirya_355
UNIт
 
Сообщения: 106
Зарегистрирован: 09 май 2018, 21:40

Re: Как проверить наличие интернет соединения ?(Android)

Сообщение kirya_355 18 июл 2018, 20:26

Что-то нашёл
if(Application.internetReachability == NetworkReachability.NotReachable)

if(Application.internetReachability == NetworkReachability.ReachableViaCarrierDataNetwork)

if(Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork)
kirya_355
UNIт
 
Сообщения: 106
Зарегистрирован: 09 май 2018, 21:40

Re: Как проверить наличие интернет соединения ?(Android)

Сообщение kirya_355 18 июл 2018, 20:29

kirya_355
UNIт
 
Сообщения: 106
Зарегистрирован: 09 май 2018, 21:40

Re: Как проверить наличие интернет соединения ?(Android)

Сообщение kirya_355 18 июл 2018, 20:30

классно я сам себе помог)))))
kirya_355
UNIт
 
Сообщения: 106
Зарегистрирован: 09 май 2018, 21:40

Re: Как проверить наличие интернет соединения ?(Android)

Сообщение Tolking 18 июл 2018, 21:24

Только имей ввиду если Application.internetReachability != NetworkReachability.NotReachable - это не значит что есть интернет...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2715
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Как проверить наличие интернет соединения ?(Android)

Сообщение kirya_355 19 июл 2018, 01:07

Tolking писал(а):Только имей ввиду если Application.internetReachability != NetworkReachability.NotReachable - это не значит что есть интернет...

Я кстати думал об этом , ведь там ещё есть локальная сеть , поэтому нужно прописывать 2 вариант , а не просто отрицание 1
kirya_355
UNIт
 
Сообщения: 106
Зарегистрирован: 09 май 2018, 21:40

Re: Как проверить наличие интернет соединения ?(Android)

Сообщение kirya_355 19 июл 2018, 01:08

Интересно как 2 вариант реагирует на wi-fi с интернетом
kirya_355
UNIт
 
Сообщения: 106
Зарегистрирован: 09 май 2018, 21:40

Re: Как проверить наличие интернет соединения ?(Android)

Сообщение kirya_355 19 июл 2018, 01:09

kirya_355 писал(а):Что-то нашёл
if(Application.internetReachability == NetworkReachability.NotReachable)

if(Application.internetReachability == NetworkReachability.ReachableViaCarrierDataNetwork)

if(Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork)

Я про эти варианты
kirya_355
UNIт
 
Сообщения: 106
Зарегистрирован: 09 май 2018, 21:40

Re: Как проверить наличие интернет соединения ?(Android)

Сообщение seaman 19 июл 2018, 12:29

https://issuetracker.unity3d.com/issues ... -in-builds
У меня в билде тоже не работает, как ожидалось...
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Как проверить наличие интернет соединения ?(Android)

Сообщение Tolking 19 июл 2018, 13:08

Не! Там все норм. Работает как описано. Если у тебя включен WiFi то устройство может добраться до интернета через лан, если включена мобильная передача данных, то можешь через него достигнуть инет... Если у тебя роутер не подключен к инету, или услуга на сим не оплачена, то это проверять никто не обещал... :)
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2715
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Как проверить наличие интернет соединения ?(Android)

Сообщение kirya_355 19 июл 2018, 14:45

Tolking писал(а):Не! Там все норм. Работает как описано. Если у тебя включен WiFi то устройство может добраться до интернета через лан, если включена мобильная передача данных, то можешь через него достигнуть инет... Если у тебя роутер не подключен к инету, или услуга на сим не оплачена, то это проверять никто не обещал... :)

то есть если есть wi-fi а на нем не оплачен инет , то функция все равно скажет что инет есть? и наоборот , если есть мобильный интернет , но он не оплачен то функция скажет , что интернет есть?
kirya_355
UNIт
 
Сообщения: 106
Зарегистрирован: 09 май 2018, 21:40

Re: Как проверить наличие интернет соединения ?(Android)

Сообщение 1max1 19 июл 2018, 15:02

Может просто отправить запрос на гугл и если ответа не дождешься, то значит нету подключения.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Как проверить наличие интернет соединения ?(Android)

Сообщение Tolking 19 июл 2018, 15:10

Функция скажет, то что должна - что интернет достижим...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2715
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Как проверить наличие интернет соединения ?(Android)

Сообщение seaman 19 июл 2018, 15:34

Не! Там все норм. Работает как описано.

Простейший проект:
https://yadi.sk/d/GLuQ-qw73ZM9a2
Простейший скрипт:
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TestInet : MonoBehaviour {
        private Renderer rend;
       
        void Start () {
                rend = GetComponent<Renderer>();
        }
       
        void Update () {
                if(Application.internetReachability == NetworkReachability.NotReachable)
                        rend.material.color = Color.red;
                else
                        rend.material.color = Color.green;
        }
}


Рядом запускаю билд на ПС и редактор. Выключаю/включаю сеть. В редакторе цвет меняется, в билде нет
Да, забыл сказать. На ПС сеть одна, wi-fi нет.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Как проверить наличие интернет соединения ?(Android)

Сообщение seaman 19 июл 2018, 15:36

Может просто отправить запрос на гугл и если ответа не дождешься, то значит нету подключения.

Гугл дает большой файл. Я беру со своего сервера файлик в 5 байт. Так сеть и проверяю.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

След.

Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 8