How to add AdMob ads to android app

I can build and run C++ SDL2 program and run it on my android phone. I have no experience with Java or Android development. I believe there must be some way to call some Java class(no idea how they work) from my c++ code. I followed this guide so the structure of the project is exactly the same. I tried looking online but there is no tutorial on sdl2+android+admob. Can somebody point me in the right direction? Due to my lack of knowledge on the android/java side, I’m stuck and don’t know where to start.

You may check public part of my apps here:

Currently I’m using two ads providers for android and iOS: admob and yandex for interstitial blocks with different ECPM parameters configured on admob and yandex web interface.

I set minimum interval before interstitial ads show (for example 3-4 minutes) and adsManager try load ads with changing blockid (from highest to lowest ECPM) depedning on time left before next ad show time occurs.

Your app can use something like this. I specify time delay (seconds) for each blockid to change before next show time.

nsAds::Ads::Ads() : adsMgr(new ads::Manager()) {
    adsMgr->SetIntersitialShowDelay(3 * 60);  // 3 minutes before each ad show
    std::string InterstitialBlockID;

    if (auto adMob = ads::AdMob::createProvider(adsMgr, ads::Format::Interstitial)) {
        GetAdMobAdIdentifier(InterstitialBlockID, 0); adMob->addInterstitialUnit(InterstitialBlockID, 20);  // default ECPM blockid
        GetAdMobAdIdentifier(InterstitialBlockID, 1); adMob->addInterstitialUnit(InterstitialBlockID, 60);  // medium ECPM blockid
        GetAdMobAdIdentifier(InterstitialBlockID, 2); adMob->addInterstitialUnit(InterstitialBlockID, 120); // high ECPM blockid

    if (auto yandex = ads::Yandex::createProvider(adsMgr, ads::Format::Interstitial)) {
        GetYandexAdIdentifier(InterstitialBlockID, 0); yandex->addInterstitialUnit(InterstitialBlockID, 20);  // default ECPM blockid
        GetYandexAdIdentifier(InterstitialBlockID, 1); yandex->addInterstitialUnit(InterstitialBlockID, 60);  // medium ECPM blockid
        GetYandexAdIdentifier(InterstitialBlockID, 2); yandex->addInterstitialUnit(InterstitialBlockID, 120); // high ECPM blockid

and some from time to time you should call this fuctions to

virtual void CheckAdStatus() override { adsMgr->tryLoadInterstitial(); };
virtual void ShowAdInterstitial() override { adsMgr->showInterstitialIfAvailable(); }
auto getEventCode() const { return adsMgr->getEventCode(); } // for SDL event processing cycle

Thanks for your help, but I need to start more from the beginning, this is too advanced for me. Let’s say I want just to show an ordinary button available in android studio.
If I open JNI example project in Android studio I get this activity_main.xml
It comes with TextView I can edit in cpp file and return string to

created sdl android project with command doesnt have this file.
Where do I start? the project has these Java files:

Where should I add Java function that will be called from cpp (or will get some data from return value in cpp)