I'm still confused as well. You have a gmail account and that means you have an address at gmail that ends in gmail.com, or whatever they use. You have an app called gmail that retrieves the messages sent to that gmail address. From what you say, it doesn't show that you have pending mail until you actually open the app. That would be a discussion for you with the provider of gmail and the gmail app, namely, Google, not Apple.
You also have an iCloud account and there is an email address there that ends in iCloud.com, or me.com, depending on when you first created it. Both work to come to whatever mail server you set up. You give the email application the various server information and logins to your email at Apple and get the messages on that app. Most of us use the Apple app called Mail, but there are third party options. I don't know if the gmail app can get non-gmail messages, but if it can, you just provide the server settings as you would to Mail and the app will retrieve the messages for you. Again, if the ONLY time that happens is when the app is open, that is a problem for the developer, Google, not Apple.
So, if you go to Settings on your iDevice (iPhone or iPad) and then scroll down to the Gmail app, are there settings there? If so, what do you have set? Some mail apps will work in the background to get notifications to you about pending messages, maybe the gmail app doesn't do that for non-gmail addresses?