The issue here is that you don't have any adapters configured for the Ad networks that you have configured for mediation.
AdMob is attempting to load ads from all of the providers that you have configured (AdColony, Fuse, Chartboost, etc) but without the appropriate adapter registered, it can't load the ad.
In your code snippet above, you posted above (repeated below), you will essentially need to uncomment the line for "AddNetworkExtrasBundle" and use that to register adapters for your providers.
AdRequest adRequest = new AdRequest.Builder() //.AddTestDevice(AdRequest.DeviceIdEmulator) //.AddTestDevice("FE5692B3DAD1B4CE3BE3BDA2FF4B6103") //.AddNetworkExtrasBundle(adMobAdapter.Class, extras) .Build();
Here is the list of ad networks that have adapters for doing mediation through admob:
You will need to take the SDK / adapter for each ad network, generate the c# bindings, and then reference the dll with those bindings in your app. Then just a tip, the syntax is a little different in c# to get the same behavior as .Class in java so your code will look something like this:
AdRequest adRequest = new AdRequest.Builder() .AddNetworkExtrasBundle(Java.Lang.Class.FromType(typeof(AdMobAdapter)), extras) .Build();
Unfortunately I have tried to get this working with AdColony specifically and have had trouble generating the bindings correctly, but in general this approach should work for other ad providers, let me know if it works for you!