Admob shows Test ads but not real ads
When apps are newly registered with AdMob, it takes some time and a few ads requests to allow inventory to build. Because of this, you may not see live impressions immediately. Once your app starts making more requests, you should see more consistent results. Please note that test ads operate through the same channels as live ads. Being able to return a test ad ensures that your application is communicating properly with our network. Be patience it will work after some days.
Remove the line that says
.addTestDevice("4CCC00EF4EA205A6FE82E1AEB26B0839")
Also, when you use a virtual device, it shows the test ads no matter what. Are you testing it on a real device?
You might be using the sample unit id: ca-app-pub-3940256099942544/6300978111
If you use above then you will see test ads.
Make sure you change to your own unit id before releasing the app.