Crash with low 3g

Dec 21, 2012 at 3:00 AM

Hi People, first of all sorry for my english.

I'm using the Xna Rotator 0.4 and it works perfect in wifi mode, in 3g with good connection and with no 3g or wifi connected.

The problem is when I'm with poor 3g connection, like edge. In that case the application doesn't launch and ends without exception. I try with the samples projects and I found the same problem.

Any approuch of what is going on?

Thanks and regards.

Coordinator
Dec 23, 2012 at 5:57 PM

Not experienced that issue personally, but it certainly shouldn't crash the application.

I suspect it's to do with time-outs if it's a slow connection.  I will look into the issue.

Have you tested with different ad providers in case it's one specific provider causing the issue?

Dec 24, 2012 at 5:37 AM

What I've experienced on slow connections, is that the control hangs the UI thread if connected to a very slow connection.

So I guess what is happening is the app is reaching the default startup time limiit (I think it's around 10 seconds) - and then closing.

Try loading the ad control separately after the main page has loaded. 

Dec 26, 2012 at 6:36 PM

To fix the problem I set always to false the flag "this._isNetworkAvailable"

protected override void LoadContent()
        {
            spriteBatch = new SpriteBatch(GraphicsDevice);

            // TODO: Add your initialization code here
#if(WINDOWS_PHONE)
            //COMMENT TO FIX THE PROBLEM WITH LOW 3g CONNECTION
            /*
            if (!NetworkInterface.GetIsNetworkAvailable() || NetworkInterface.NetworkInterfaceType == NetworkInterfaceType.None)
            {
                //Would be good to add an all encompasing APP Based Fail AD, like an App ID Image
                this._isNetworkAvailable = false;
            }
            */
            this._isNetworkAvailable = false;
#endif

            _loaded = true;
            base.LoadContent();
        }

 

Then I set it to true on the method OnEnabledChanged

 

protected override void OnEnabledChanged(object sender, EventArgs args)
       {
            if (_currentAdControl != null)
            {
                ((DrawableGameComponent)_currentAdControl).Visible = this.Visible;
                if (!_isNetworkAvailable && NetworkInterface.GetIsNetworkAvailable())
                    _isNetworkAvailable = true;
            }
            base.OnEnabledChanged(sender, args);
        }

 

 

Coordinator
Dec 27, 2012 at 11:28 AM

Ok, so as I read it you saying the Network test on the phone is causing the LoadContent Event to fail, which is understandable.

I like your solution as it still retains the network test but offloading it elsewhere. Thanks will look to get that implemented soon.

Feb 9, 2013 at 9:38 AM
Hello,

I have the same problem. Was it resolved in any available version?

Thank you very much,
Francesco
Coordinator
Feb 10, 2013 at 1:40 PM
The solution is fairly simple as we are planning to drop the network detection part in the library. You can do this yourself or wait for the next release.
There's a fair amount to add / change and with our limited time not entirely sure when it will be available but we will get it out as soon as we can.
Coordinator
Feb 13, 2013 at 4:50 PM
Latest Alpha builds available on http://wp7adrotator.codeplex.com/releases