Skip to content

Releases: amirisback/frogo-admob

Release v4.3.8

30 Apr 22:19
Compare
Choose a tag to compare

ScreenShoot Apps

About This Project

Android Arsenal
JitPack
Android CI
Scan with Detekt
Medium Badge

  • Available on Google Dev Library - Click Here
  • Privacy Policy Click Here
  • LICENSE Click Here
  • Helper for activating admob
  • Example Source Code For Call Method Show Admob
  • Calling method on Inheritance Class
  • Implement all Admob Version
  • Jetpack Compose Function (Experimental)
  • Don't forget implement frogo-sdk Click Here

Note For Jitpack Build

  • Red : Failed (So don't use that version / Using previous version)
  • Green : Success / Pass (Use It)

ScreenShot Apps

Banner and Interstitial RecyclerView with Banner Rewarded Apps

Version Release

$version_release = 4.3.8

// Suport Library
$admob_version = 20.6.0
$unity_ad_version = 4.1.0

What's New??

* Enhance Performance *
* Refactoring Code *
* Update Admob Library Version 20.6.0 *
* Update : Adding Function Request Admob From Server *
* Add FrogoSdkAdmobActivity *
* New Setup Implementation *
* Fixing Bug : ShowBanner, ShowInterstitial, ShowRewarded *
* Adding Unity Ads *
* Add http timeout millis for google admob interstitial ad *
* Add keyword for google admob ad *

How To Use / Implement This Project

Step 1. Add the JitPack repository to your build file

<Option 1> Groovy Gradle

// Add it in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

<Option 2> Kotlin DSL Gradle

// Add it in your root build.gradle.kts at the end of repositories:

allprojects {
    repositories {
        ...
        maven("https://jitpack.io")
    }
}

Step 2. Add the dependency

<Option 1> Groovy

dependencies {
        // library google admob
        implementation 'com.google.android.gms:play-services-ads:${admob_version}'

        // library unity ads
        implementation 'com.unity3d.ads:unity-ads:${unity_ad_version}'

        // library frogo-admob-helper
        implementation 'com.github.amirisback:frogo-admob:4.3.8'
}

<Option 2> Kotlin DSL

dependencies {
        // library google admob
        implementation("com.google.android.gms:play-services-ads:${admob_version}")

        // library unity ads
        implementation("com.unity3d.ads:unity-ads:${unity_ad_version}")

        // library frogo-admob
        implementation("com.github.amirisback:frogo-admob:4.3.8")
}

Step 3. Adding meta-data on AndroidManifest.xml

<manifest>
    <application>
        <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

Step 4. Setup Admob and Showing Ads

XML

Click for detail!

Setup Ads Using Server

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        requestAdmobApi()
    }

    private fun requestAdmobApi() {
        val baseUrl = "https://raw.githubusercontent.com/amirisback/frogo-admob/master/app/src/main/assets/"
        val frogoAdmobRepository = FrogoAdmobRepository(baseUrl)
        frogoAdmobRepository.usingClient()
        frogoAdmobRepository.getFrogoAdmobId(
            "admob_id",
            object : FrogoAdmobApiResponse<FrogoAdmobId> {
                override fun onSuccess(data: FrogoAdmobId) {
                    runOnUiThread {
                        showLogDebug(data.appId)
                        showLogDebug(data.bannerID[0])
                        showLogDebug(data.interstitialID[0])
                        showLogDebug(data.testAdmobAppId)
                        showLogDebug(data.testAdmobBanner)
                        showLogDebug(data.testAdmobInterstitial)
                    }
                }

                override fun onFailed(statusCode: Int, errorMessage: String?) {
                    runOnUiThread {
                        showLogDebug(errorMessage)
                    }
                }

                override fun onShowProgress() {
                }

                override fun onHideProgress() {
                }
            })
    }

}

Showing Ads

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setupButtonClick()
        setupBannerAds()
    }

    ...
    ...
    ...

    private fun setupBannerAds() {
        showBanner(binding.adsXml.adsPhoneTabSpecialSmartBanner)
        showBannerContainer(
            getString(R.string.admob_banner),
            AdSize.SMART_BANNER,
            binding.includeAdsView.frogoAdsBanner
        )
    }

    private fun setupButtonClick() {

        binding.apply {

            btnInterstitial.setOnClickListener {

                // No Using Callback
                showAdInterstitial(getString(R.string.admob_interstitial))

                // With Callback
                showAdInterstitial(
                    getString(R.string.admob_interstitial),
                    object : IFrogoInterstitial {

                        override fun onAdDismissed(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToLoad(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToShow(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdLoaded(message: String) {}

                        override fun onAdShowed(message: String) {}

                        override fun onAdNotReady(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                    }
                )

            }

            btnRewarded.setOnClickListener {
                showAdRewarded(getString(R.string.admob_rewarded), object : IFrogoAdRewarded {
                    override fun onUserEarnedReward(rewardItem: RewardItem) {
                        // TODO("User Get Reward")
                    }

                    override fun onAdClosed() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToLoad() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToShow() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdLoaded() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdNotReady(message: String) {
                        // TODO("Not yet implemented")
                    }
                })
            }

            btnRewardedInterstitial.setOnClickListener {
                showAdRewardedInterstitial(getString(R.string.admob_rewarded_interstitial),
                    object : IFrogoAdRewarded {
                        override fun onUserEarnedReward(rewardItem: RewardItem) {
                            // TODO("User Get Reward")
                        }

                        override fun onAdClosed() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToLoad() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToShow() {
                            // TODO("Not yet implemented")
                        }

                        override fun o...
Read more

Release v4.3.7

19 Apr 06:00
Compare
Choose a tag to compare

ScreenShoot Apps

About This Project

Android Arsenal
JitPack
Android CI
Scan with Detekt
Medium Badge

  • Available on Google Dev Library - Click Here
  • Privacy Policy Click Here
  • LICENSE Click Here
  • Helper for activating admob
  • Example Source Code For Call Method Show Admob
  • Calling method on Inheritance Class
  • Implement all Admob Version
  • Jetpack Compose Function (Experimental)
  • Don't forget implement frogo-sdk Click Here

Note For Jitpack Build

  • Red : Failed (So don't use that version / Using previous version)
  • Green : Success / Pass (Use It)

ScreenShot Apps

Banner and Interstitial RecyclerView with Banner Rewarded Apps

Version Release

$version_release = 4.3.7

// Suport Library
$admob_version = 20.6.0
$unity_ad_version = 4.1.0

What's New??

* Enhance Performance *
* Refactoring Code *
* Update Admob Library Version 20.6.0 *
* Update : Adding Function Request Admob From Server *
* Add FrogoSdkAdmobActivity *
* New Setup Implementation *
* Fixing Bug : ShowBanner, ShowInterstitial, ShowRewarded *
* Adding Unity Ads *
* Add http timeout millis for google admob interstitial ad *
* Add keyword for google admob ad *

How To Use / Implement This Project

Step 1. Add the JitPack repository to your build file

<Option 1> Groovy Gradle

// Add it in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

<Option 2> Kotlin DSL Gradle

// Add it in your root build.gradle.kts at the end of repositories:

allprojects {
    repositories {
        ...
        maven("https://jitpack.io")
    }
}

Step 2. Add the dependency

<Option 1> Groovy

dependencies {
        // library google admob
        implementation 'com.google.android.gms:play-services-ads:${admob_version}'

        // library unity ads
        implementation 'com.unity3d.ads:unity-ads:${unity_ad_version}'

        // library frogo-admob-helper
        implementation 'com.github.amirisback:frogo-admob:4.3.7'
}

<Option 2> Kotlin DSL

dependencies {
        // library google admob
        implementation("com.google.android.gms:play-services-ads:${admob_version}")

        // library unity ads
        implementation("com.unity3d.ads:unity-ads:${unity_ad_version}")

        // library frogo-admob
        implementation("com.github.amirisback:frogo-admob:4.3.7")
}

Step 3. Adding meta-data on AndroidManifest.xml

<manifest>
    <application>
        <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

Step 4. Setup Admob and Showing Ads

XML

Click for detail!

Setup Ads Using Server

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        requestAdmobApi()
    }

    private fun requestAdmobApi() {
        val baseUrl = "https://raw.githubusercontent.com/amirisback/frogo-admob/master/app/src/main/assets/"
        val frogoAdmobRepository = FrogoAdmobRepository(baseUrl)
        frogoAdmobRepository.usingClient()
        frogoAdmobRepository.getFrogoAdmobId(
            "admob_id",
            object : FrogoAdmobApiResponse<FrogoAdmobId> {
                override fun onSuccess(data: FrogoAdmobId) {
                    runOnUiThread {
                        showLogDebug(data.appId)
                        showLogDebug(data.bannerID[0])
                        showLogDebug(data.interstitialID[0])
                        showLogDebug(data.testAdmobAppId)
                        showLogDebug(data.testAdmobBanner)
                        showLogDebug(data.testAdmobInterstitial)
                    }
                }

                override fun onFailed(statusCode: Int, errorMessage: String?) {
                    runOnUiThread {
                        showLogDebug(errorMessage)
                    }
                }

                override fun onShowProgress() {
                }

                override fun onHideProgress() {
                }
            })
    }

}

Showing Ads

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setupButtonClick()
        setupBannerAds()
    }

    ...
    ...
    ...

    private fun setupBannerAds() {
        showBanner(binding.adsXml.adsPhoneTabSpecialSmartBanner)
        showBannerContainer(
            getString(R.string.admob_banner),
            AdSize.SMART_BANNER,
            binding.includeAdsView.frogoAdsBanner
        )
    }

    private fun setupButtonClick() {

        binding.apply {

            btnInterstitial.setOnClickListener {

                // No Using Callback
                showAdInterstitial(getString(R.string.admob_interstitial))

                // With Callback
                showAdInterstitial(
                    getString(R.string.admob_interstitial),
                    object : IFrogoInterstitial {

                        override fun onAdDismissed(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToLoad(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToShow(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdLoaded(message: String) {}

                        override fun onAdShowed(message: String) {}

                        override fun onAdNotReady(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                    }
                )

            }

            btnRewarded.setOnClickListener {
                showAdRewarded(getString(R.string.admob_rewarded), object : IFrogoAdRewarded {
                    override fun onUserEarnedReward(rewardItem: RewardItem) {
                        // TODO("User Get Reward")
                    }

                    override fun onAdClosed() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToLoad() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToShow() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdLoaded() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdNotReady(message: String) {
                        // TODO("Not yet implemented")
                    }
                })
            }

            btnRewardedInterstitial.setOnClickListener {
                showAdRewardedInterstitial(getString(R.string.admob_rewarded_interstitial),
                    object : IFrogoAdRewarded {
                        override fun onUserEarnedReward(rewardItem: RewardItem) {
                            // TODO("User Get Reward")
                        }

                        override fun onAdClosed() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToLoad() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToShow() {
                            // TODO("Not yet implemented")
                        }

                        override fun o...
Read more

Release v4.3.6

17 Apr 08:27
e7a86e3
Compare
Choose a tag to compare

ScreenShoot Apps

About This Project

Android Arsenal
JitPack
Android CI
Scan with Detekt
Medium Badge

  • Available on Google Dev Library - Click Here
  • Privacy Policy Click Here
  • LICENSE Click Here
  • Helper for activating admob
  • Example Source Code For Call Method Show Admob
  • Calling method on Inheritance Class
  • Implement all Admob Version
  • Jetpack Compose Function (Experimental)
  • Don't forget implement frogo-sdk Click Here

Note For Jitpack Build

  • Red : Failed (So don't use that version / Using previous version)
  • Green : Success / Pass (Use It)

ScreenShot Apps

Banner and Interstitial RecyclerView with Banner Rewarded Apps

Version Release

$version_release = 4.3.6

// Suport Library
$admob_version = 20.6.0
$unity_ad_version = 4.1.0

What's New??

* Enhance Performance *
* Refactoring Code *
* Update Admob Library Version 20.6.0 *
* Update : Adding Function Request Admob From Server *
* Add FrogoSdkAdmobActivity *
* New Setup Implementation *
* Fixing Bug : ShowBanner, ShowInterstitial, ShowRewarded *
* Adding Unity Ads *
* Add http timeout millis for google admob interstitial ad *
* Add keyword for google admob ad *

How To Use / Implement This Project

Step 1. Add the JitPack repository to your build file

<Option 1> Groovy Gradle

// Add it in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

<Option 2> Kotlin DSL Gradle

// Add it in your root build.gradle.kts at the end of repositories:

allprojects {
    repositories {
        ...
        maven("https://jitpack.io")
    }
}

Step 2. Add the dependency

<Option 1> Groovy

dependencies {
        // library google admob
        implementation 'com.google.android.gms:play-services-ads:${admob_version}'

        // library unity ads
        implementation 'com.unity3d.ads:unity-ads:${unity_ad_version}'

        // library frogo-admob-helper
        implementation 'com.github.amirisback:frogo-admob:4.3.6'
}

<Option 2> Kotlin DSL

dependencies {
        // library google admob
        implementation("com.google.android.gms:play-services-ads:${admob_version}")

        // library unity ads
        implementation("com.unity3d.ads:unity-ads:${unity_ad_version}")

        // library frogo-admob
        implementation("com.github.amirisback:frogo-admob:4.3.6")
}

Step 3. Adding meta-data on AndroidManifest.xml

<manifest>
    <application>
        <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

Step 4. Setup Admob and Showing Ads

XML

Click for detail!

Setup Ads Using Server

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        requestAdmobApi()
    }

    private fun requestAdmobApi() {
        val baseUrl = "https://raw.githubusercontent.com/amirisback/frogo-admob/master/app/src/main/assets/"
        val frogoAdmobRepository = FrogoAdmobRepository(baseUrl)
        frogoAdmobRepository.usingClient()
        frogoAdmobRepository.getFrogoAdmobId(
            "admob_id",
            object : FrogoAdmobApiResponse<FrogoAdmobId> {
                override fun onSuccess(data: FrogoAdmobId) {
                    runOnUiThread {
                        FLog.d(data.appId)
                        FLog.d(data.bannerID[0])
                        FLog.d(data.interstitialID[0])
                        FLog.d(data.testAdmobAppId)
                        FLog.d(data.testAdmobBanner)
                        FLog.d(data.testAdmobInterstitial)
                    }
                }

                override fun onFailed(statusCode: Int, errorMessage: String?) {
                    runOnUiThread {
                        FLog.d(errorMessage)
                    }
                }

                override fun onShowProgress() {
                }

                override fun onHideProgress() {
                }
            })
    }

}

Showing Ads

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setupButtonClick()
        setupBannerAds()
    }

    ...
    ...
    ...

    private fun setupBannerAds() {
        showBanner(binding.adsXml.adsPhoneTabSpecialSmartBanner)
        showBannerContainer(
            getString(R.string.admob_banner),
            AdSize.SMART_BANNER,
            binding.includeAdsView.frogoAdsBanner
        )
    }

    private fun setupButtonClick() {

        binding.apply {

            btnInterstitial.setOnClickListener {

                // No Using Callback
                showAdInterstitial(getString(R.string.admob_interstitial))

                // With Callback
                showAdInterstitial(
                    getString(R.string.admob_interstitial),
                    object : IFrogoInterstitial {

                        override fun onAdDismissed(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToLoad(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToShow(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdLoaded(message: String) {}

                        override fun onAdShowed(message: String) {}

                        override fun onAdNotReady(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                    }
                )

            }

            btnRewarded.setOnClickListener {
                showAdRewarded(getString(R.string.admob_rewarded), object : IFrogoAdRewarded {
                    override fun onUserEarnedReward(rewardItem: RewardItem) {
                        // TODO("User Get Reward")
                    }

                    override fun onAdClosed() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToLoad() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToShow() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdLoaded() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdNotReady(message: String) {
                        // TODO("Not yet implemented")
                    }
                })
            }

            btnRewardedInterstitial.setOnClickListener {
                showAdRewardedInterstitial(getString(R.string.admob_rewarded_interstitial),
                    object : IFrogoAdRewarded {
                        override fun onUserEarnedReward(rewardItem: RewardItem) {
                            // TODO("User Get Reward")
                        }

                        override fun onAdClosed() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToLoad() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToShow() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdLoaded() {
                           ...
Read more

Release v4.3.5

14 Apr 11:10
Compare
Choose a tag to compare

ScreenShoot Apps

About This Project

Android Arsenal
JitPack
Android CI
Scan with Detekt
Medium Badge

  • Available on Google Dev Library - Click Here
  • Privacy Policy Click Here
  • LICENSE Click Here
  • Helper for activating admob
  • Example Source Code For Call Method Show Admob
  • Calling method on Inheritance Class
  • Implement all Admob Version
  • Jetpack Compose Function (Experimental)
  • Don't forget implement frogo-sdk Click Here

Note For Jitpack Build

  • Red : Failed (So don't use that version / Using previous version)
  • Green : Success / Pass (Use It)

ScreenShot Apps

Banner and Interstitial RecyclerView with Banner Rewarded Apps

Version Release

$version_release = 4.3.5

// Suport Library
$admob_version = 20.6.0
$unity_ad_version = 4.1.0

What's New??

* Enhance Performance *
* Refactoring Code *
* Update Admob Library Version 20.6.0 *
* Update : Adding Function Request Admob From Server *
* Add FrogoSdkAdmobActivity *
* New Setup Implementation *
* Fixing Bug : ShowBanner, ShowInterstitial, ShowRewarded *
* Adding Unity Ads *
* Add http timeout millis for google admob interstitial ad *
* Add keyword for google admob ad *

How To Use / Implement This Project

Step 1. Add the JitPack repository to your build file

<Option 1> Groovy Gradle

// Add it in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

<Option 2> Kotlin DSL Gradle

// Add it in your root build.gradle.kts at the end of repositories:

allprojects {
    repositories {
        ...
        maven("https://jitpack.io")
    }
}

Step 2. Add the dependency

<Option 1> Groovy

dependencies {
        // library google admob
        implementation 'com.google.android.gms:play-services-ads:${admob_version}'

        // library unity ads
        implementation 'com.unity3d.ads:unity-ads:${unity_ad_version}'

        // library frogo-admob-helper
        implementation 'com.github.amirisback:frogo-admob:4.3.5'
}

<Option 2> Kotlin DSL

dependencies {
        // library google admob
        implementation("com.google.android.gms:play-services-ads:${admob_version}")

        // library unity ads
        implementation("com.unity3d.ads:unity-ads:${unity_ad_version}")

        // library frogo-admob
        implementation("com.github.amirisback:frogo-admob:4.3.5")
}

Step 3. Adding meta-data on AndroidManifest.xml

<manifest>
    <application>
        <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

Step 4. Setup Admob and Showing Ads

XML

Click for detail!

Setup Ads Using Server

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        requestAdmobApi()
    }

    private fun requestAdmobApi() {
        val baseUrl = "https://raw.githubusercontent.com/amirisback/frogo-admob/master/app/src/main/assets/"
        val frogoAdmobRepository = FrogoAdmobRepository(baseUrl)
        frogoAdmobRepository.usingClient()
        frogoAdmobRepository.getFrogoAdmobId(
            "admob_id",
            object : FrogoAdmobApiResponse<FrogoAdmobId> {
                override fun onSuccess(data: FrogoAdmobId) {
                    runOnUiThread {
                        FLog.d(data.appId)
                        FLog.d(data.bannerID[0])
                        FLog.d(data.interstitialID[0])
                        FLog.d(data.testAdmobAppId)
                        FLog.d(data.testAdmobBanner)
                        FLog.d(data.testAdmobInterstitial)
                    }
                }

                override fun onFailed(statusCode: Int, errorMessage: String?) {
                    runOnUiThread {
                        FLog.d(errorMessage)
                    }
                }

                override fun onShowProgress() {
                }

                override fun onHideProgress() {
                }
            })
    }

}

Showing Ads

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setupButtonClick()
        setupBannerAds()
    }

    ...
    ...
    ...

    private fun setupBannerAds() {
        showBanner(binding.adsXml.adsPhoneTabSpecialSmartBanner)
        showBannerContainer(
            getString(R.string.admob_banner),
            AdSize.SMART_BANNER,
            binding.includeAdsView.frogoAdsBanner
        )
    }

    private fun setupButtonClick() {

        binding.apply {

            btnInterstitial.setOnClickListener {

                // No Using Callback
                showAdInterstitial(getString(R.string.admob_interstitial))

                // With Callback
                showAdInterstitial(
                    getString(R.string.admob_interstitial),
                    object : IFrogoInterstitial {

                        override fun onAdDismissed(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToLoad(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToShow(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdLoaded(message: String) {}

                        override fun onAdShowed(message: String) {}

                        override fun onAdNotReady(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                    }
                )

            }

            btnRewarded.setOnClickListener {
                showAdRewarded(getString(R.string.admob_rewarded), object : IFrogoAdRewarded {
                    override fun onUserEarnedReward(rewardItem: RewardItem) {
                        // TODO("User Get Reward")
                    }

                    override fun onAdClosed() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToLoad() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToShow() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdLoaded() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdNotReady(message: String) {
                        // TODO("Not yet implemented")
                    }
                })
            }

            btnRewardedInterstitial.setOnClickListener {
                showAdRewardedInterstitial(getString(R.string.admob_rewarded_interstitial),
                    object : IFrogoAdRewarded {
                        override fun onUserEarnedReward(rewardItem: RewardItem) {
                            // TODO("User Get Reward")
                        }

                        override fun onAdClosed() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToLoad() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToShow() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdLoaded() {
                          ...
Read more

Release v4.3.4

12 Apr 04:56
Compare
Choose a tag to compare

ScreenShoot Apps

About This Project

Android Arsenal
JitPack
Android CI
Scan with Detekt
Medium Badge

  • Available on Google Dev Library - Click Here
  • Privacy Policy Click Here
  • LICENSE Click Here
  • Helper for activating admob
  • Example Source Code For Call Method Show Admob
  • Calling method on Inheritance Class
  • Implement all Admob Version
  • Jetpack Compose Function (Experimental)
  • Don't forget implement frogo-sdk Click Here

Note For Jitpack Build

  • Red : Failed (So don't use that version / Using previous version)
  • Green : Success / Pass (Use It)

ScreenShot Apps

Banner and Interstitial RecyclerView with Banner Rewarded Apps

Version Release

$version_release = 4.3.4

// Suport Library
$admob_version = 20.6.0
$unity_ad_version = 4.1.0

What's New??

* Enhance Performance *
* Refactoring Code *
* Update Admob Library Version 20.6.0 *
* Update : Adding Function Request Admob From Server *
* Add FrogoSdkAdmobActivity *
* New Setup Implementation *
* Fixing Bug : ShowBanner, ShowInterstitial, ShowRewarded *
* Adding Unity Ads *
* Add http timeout millis for google admob interstitial ad *
* Add keyword for google admob ad *

How To Use / Implement This Project

Step 1. Add the JitPack repository to your build file

<Option 1> Groovy Gradle

// Add it in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

<Option 2> Kotlin DSL Gradle

// Add it in your root build.gradle.kts at the end of repositories:

allprojects {
    repositories {
        ...
        maven("https://jitpack.io")
    }
}

Step 2. Add the dependency

<Option 1> Groovy

dependencies {
        // library google admob
        implementation 'com.google.android.gms:play-services-ads:${admob_version}'

        // library unity ads
        implementation 'com.unity3d.ads:unity-ads:${unity_ad_version}'

        // library frogo-admob-helper
        implementation 'com.github.amirisback:frogo-admob:4.3.4'
}

<Option 2> Kotlin DSL

dependencies {
        // library google admob
        implementation("com.google.android.gms:play-services-ads:${admob_version}")

        // library unity ads
        implementation("com.unity3d.ads:unity-ads:${unity_ad_version}")

        // library frogo-admob
        implementation("com.github.amirisback:frogo-admob:4.3.4")
}

Step 3. Adding meta-data on AndroidManifest.xml

<manifest>
    <application>
        <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

Step 4. Setup Admob and Showing Ads

XML

Click for detail!

Setup Ads Using Server

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        requestAdmobApi()
    }

    private fun requestAdmobApi() {
        val baseUrl = "https://raw.githubusercontent.com/amirisback/frogo-admob/master/app/src/main/assets/"
        val frogoAdmobRepository = FrogoAdmobRepository(baseUrl)
        frogoAdmobRepository.usingClient()
        frogoAdmobRepository.getFrogoAdmobId(
            "admob_id",
            object : FrogoAdmobApiResponse<FrogoAdmobId> {
                override fun onSuccess(data: FrogoAdmobId) {
                    runOnUiThread {
                        FLog.d(data.appId)
                        FLog.d(data.bannerID[0])
                        FLog.d(data.interstitialID[0])
                        FLog.d(data.testAdmobAppId)
                        FLog.d(data.testAdmobBanner)
                        FLog.d(data.testAdmobInterstitial)
                    }
                }

                override fun onFailed(statusCode: Int, errorMessage: String?) {
                    runOnUiThread {
                        FLog.d(errorMessage)
                    }
                }

                override fun onShowProgress() {
                }

                override fun onHideProgress() {
                }
            })
    }

}

Showing Ads

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setupButtonClick()
        setupBannerAds()
    }

    ...
    ...
    ...

    private fun setupBannerAds() {
        showBanner(binding.adsXml.adsPhoneTabSpecialSmartBanner)
        showBannerContainer(
            getString(R.string.admob_banner),
            AdSize.SMART_BANNER,
            binding.includeAdsView.frogoAdsBanner
        )
    }

    private fun setupButtonClick() {

        binding.apply {

            btnInterstitial.setOnClickListener {

                // No Using Callback
                showAdInterstitial(getString(R.string.admob_interstitial))

                // With Callback
                showAdInterstitial(
                    getString(R.string.admob_interstitial),
                    object : IFrogoInterstitial {

                        override fun onAdDismissed(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToLoad(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToShow(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdLoaded(message: String) {}

                        override fun onAdShowed(message: String) {}

                        override fun onAdNotReady(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                    }
                )

            }

            btnRewarded.setOnClickListener {
                showAdRewarded(getString(R.string.admob_rewarded), object : IFrogoAdRewarded {
                    override fun onUserEarnedReward(rewardItem: RewardItem) {
                        // TODO("User Get Reward")
                    }

                    override fun onAdClosed() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToLoad() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToShow() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdLoaded() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdNotReady(message: String) {
                        // TODO("Not yet implemented")
                    }
                })
            }

            btnRewardedInterstitial.setOnClickListener {
                showAdRewardedInterstitial(getString(R.string.admob_rewarded_interstitial),
                    object : IFrogoAdRewarded {
                        override fun onUserEarnedReward(rewardItem: RewardItem) {
                            // TODO("User Get Reward")
                        }

                        override fun onAdClosed() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToLoad() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToShow() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdLoaded() {
                           ...
Read more

Release v4.3.3

11 Apr 03:19
9a421f1
Compare
Choose a tag to compare

ScreenShoot Apps

About This Project

Android Arsenal
JitPack
Android CI
Scan with Detekt
Medium Badge

  • Available on Google Dev Library - Click Here
  • Privacy Policy Click Here
  • LICENSE Click Here
  • Helper for activating admob
  • Example Source Code For Call Method Show Admob
  • Calling method on Inheritance Class
  • Implement all Admob Version
  • Jetpack Compose Function (Experimental)
  • Don't forget implement frogo-sdk Click Here

Note For Jitpack Build

  • Red : Failed (So don't use that version / Using previous version)
  • Green : Success / Pass (Use It)

ScreenShot Apps

Banner and Interstitial RecyclerView with Banner Rewarded Apps

Version Release

$version_release = 4.3.3

// Suport Library
$admob_version = 20.6.0
$unity_ad_version = 4.1.0

What's New??

* Enhance Performance *
* Refactoring Code *
* Update Admob Library Version 20.6.0 *
* Update : Adding Function Request Admob From Server *
* Add FrogoSdkAdmobActivity *
* New Setup Implementation *
* Fixing Bug : ShowBanner, ShowInterstitial, ShowRewarded *
* Adding Unity Ads *
* Add http timeout millis for google admob interstitial ad *
* Add keyword for google admob ad *

How To Use / Implement This Project

Step 1. Add the JitPack repository to your build file

<Option 1> Groovy Gradle

// Add it in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

<Option 2> Kotlin DSL Gradle

// Add it in your root build.gradle.kts at the end of repositories:

allprojects {
    repositories {
        ...
        maven("https://jitpack.io")
    }
}

Step 2. Add the dependency

<Option 1> Groovy

dependencies {
        // library google admob
        implementation 'com.google.android.gms:play-services-ads:${admob_version}'

        // library unity ads
        implementation 'com.unity3d.ads:unity-ads:${unity_ad_version}'

        // library frogo-admob-helper
        implementation 'com.github.amirisback:frogo-admob:4.3.3'
}

<Option 2> Kotlin DSL

dependencies {
        // library google admob
        implementation("com.google.android.gms:play-services-ads:${admob_version}")

        // library unity ads
        implementation("com.unity3d.ads:unity-ads:${unity_ad_version}")

        // library frogo-admob-helper
        implementation("com.github.amirisback:frogo-admob:4.3.3")
}

Step 3. Adding meta-data on AndroidManifest.xml

<manifest>
    <application>
        <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

Step 4. Setup Admob and Showing Ads

XML

Click for detail!

Setup Ads Using Server

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        requestAdmobApi()
    }

    private fun requestAdmobApi() {
        val baseUrl = "https://raw.githubusercontent.com/amirisback/frogo-admob/master/app/src/main/assets/"
        val frogoAdmobRepository = FrogoAdmobRepository(baseUrl)
        frogoAdmobRepository.usingClient()
        frogoAdmobRepository.getFrogoAdmobId(
            "admob_id",
            object : FrogoAdmobApiResponse<FrogoAdmobId> {
                override fun onSuccess(data: FrogoAdmobId) {
                    runOnUiThread {
                        FLog.d(data.appId)
                        FLog.d(data.bannerID[0])
                        FLog.d(data.interstitialID[0])
                        FLog.d(data.testAdmobAppId)
                        FLog.d(data.testAdmobBanner)
                        FLog.d(data.testAdmobInterstitial)
                    }
                }

                override fun onFailed(statusCode: Int, errorMessage: String?) {
                    runOnUiThread {
                        FLog.d(errorMessage)
                    }
                }

                override fun onShowProgress() {
                }

                override fun onHideProgress() {
                }
            })
    }

}

Showing Ads

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setupButtonClick()
        setupBannerAds()
    }

    ...
    ...
    ...

    private fun setupBannerAds() {
        showBanner(binding.adsXml.adsPhoneTabSpecialSmartBanner)
        showBannerContainer(
            getString(R.string.admob_banner),
            AdSize.SMART_BANNER,
            binding.includeAdsView.frogoAdsBanner
        )
    }

    private fun setupButtonClick() {

        binding.apply {

            btnInterstitial.setOnClickListener {

                // No Using Callback
                showAdInterstitial(getString(R.string.admob_interstitial))

                // With Callback
                showAdInterstitial(
                    getString(R.string.admob_interstitial),
                    object : IFrogoInterstitial {

                        override fun onAdDismissed(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToLoad(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToShow(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdLoaded(message: String) {}

                        override fun onAdShowed(message: String) {}

                        override fun onAdNotReady(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                    }
                )

            }

            btnRewarded.setOnClickListener {
                showAdRewarded(getString(R.string.admob_rewarded), object : IFrogoAdRewarded {
                    override fun onUserEarnedReward(rewardItem: RewardItem) {
                        // TODO("User Get Reward")
                    }

                    override fun onAdClosed() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToLoad() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToShow() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdLoaded() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdNotReady(message: String) {
                        // TODO("Not yet implemented")
                    }
                })
            }

            btnRewardedInterstitial.setOnClickListener {
                showAdRewardedInterstitial(getString(R.string.admob_rewarded_interstitial),
                    object : IFrogoAdRewarded {
                        override fun onUserEarnedReward(rewardItem: RewardItem) {
                            // TODO("User Get Reward")
                        }

                        override fun onAdClosed() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToLoad() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToShow() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdLoaded() {
                    ...
Read more

Release v4.3.2

07 Apr 16:47
Compare
Choose a tag to compare

Release v4.3.1

30 Mar 13:35
Compare
Choose a tag to compare

ScreenShoot Apps

About This Project

Android Arsenal
JitPack
Android CI
Scan with Detekt
Medium Badge

  • Available on Google Dev Library - Click Here
  • Privacy Policy Click Here
  • LICENSE Click Here
  • Helper for activating admob
  • Example Source Code For Call Method Show Admob
  • Calling method on Inheritance Class
  • Implement all Admob Version
  • Jetpack Compose Function (Experimental)
  • Don't forget implement frogo-sdk Click Here

Note For Jitpack Build

  • Red : Failed (So don't use that version / Using previous version)
  • Green : Success / Pass (Use It)

ScreenShot Apps

Banner and Interstitial RecyclerView with Banner Rewarded Apps

Version Release

$version_release = 4.3.1

// Suport Library
$admob_version = 20.6.0
$unity_ad_version = 4.0.1

What's New??

* Enhance Performance *
* Refactoring Code *
* Update Admob Library Version 20.6.0 *
* Update : Adding Function Request Admob From Server *
* Add FrogoSdkAdmobActivity *
* New Setup Implementation *
* Fixing Bug : ShowBanner, ShowInterstitial, ShowRewarded *
* Adding Unity Ads *
* Add http timeout millis for google admob interstitial ad *
* Add keyword for google admob ad *

How To Use / Implement This Project

Step 1. Add the JitPack repository to your build file

<Option 1> Groovy Gradle

// Add it in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

<Option 2> Kotlin DSL Gradle

// Add it in your root build.gradle.kts at the end of repositories:

allprojects {
    repositories {
        ...
        maven("https://jitpack.io")
    }
}

Step 2. Add the dependency

<Option 1> Groovy

dependencies {
        // library google admob
        implementation 'com.google.android.gms:play-services-ads:${admob_version}'

        // library unity ads
        implementation 'com.unity3d.ads:unity-ads:${unity_ad_version}'

        // library frogo-admob-helper
        implementation 'com.github.amirisback:frogo-admob:4.3.1'
}

<Option 2> Kotlin DSL

dependencies {
        // library google admob
        implementation("com.google.android.gms:play-services-ads:${admob_version}")

        // library unity ads
        implementation("com.unity3d.ads:unity-ads:${unity_ad_version}")

        // library frogo-admob-helper
        implementation("com.github.amirisback:frogo-admob:4.3.1")
}

Step 3. Adding meta-data on AndroidManifest.xml

<manifest>
    <application>
        <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

Step 4. Setup Admob and Showing Ads

XML

Click for detail!

Setup Ads Using Server

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        requestAdmobApi()
    }

    private fun requestAdmobApi() {
        val baseUrl = "https://raw.githubusercontent.com/amirisback/frogo-admob/master/app/src/main/assets/"
        val frogoAdmobRepository = FrogoAdmobRepository(baseUrl)
        frogoAdmobRepository.usingClient()
        frogoAdmobRepository.getFrogoAdmobId(
            "admob_id",
            object : FrogoAdmobApiResponse<FrogoAdmobId> {
                override fun onSuccess(data: FrogoAdmobId) {
                    runOnUiThread {
                        FLog.d(data.appId)
                        FLog.d(data.bannerID[0])
                        FLog.d(data.interstitialID[0])
                        FLog.d(data.testAdmobAppId)
                        FLog.d(data.testAdmobBanner)
                        FLog.d(data.testAdmobInterstitial)
                    }
                }

                override fun onFailed(statusCode: Int, errorMessage: String?) {
                    runOnUiThread {
                        FLog.d(errorMessage)
                    }
                }

                override fun onShowProgress() {
                }

                override fun onHideProgress() {
                }
            })
    }

}

Showing Ads

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setupButtonClick()
        setupBannerAds()
    }

    ...
    ...
    ...

    private fun setupBannerAds() {
        showBanner(binding.adsXml.adsPhoneTabSpecialSmartBanner)
        showBannerContainer(
            getString(R.string.admob_banner),
            AdSize.SMART_BANNER,
            binding.includeAdsView.frogoAdsBanner
        )
    }

    private fun setupButtonClick() {

        binding.apply {

            btnInterstitial.setOnClickListener {

                // No Using Callback
                showAdInterstitial(getString(R.string.admob_interstitial))

                // With Callback
                showAdInterstitial(
                    getString(R.string.admob_interstitial),
                    object : IFrogoInterstitial {

                        override fun onAdDismissed(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToLoad(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToShow(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdLoaded(message: String) {}

                        override fun onAdShowed(message: String) {}

                        override fun onAdNotReady(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                    }
                )

            }

            btnRewarded.setOnClickListener {
                showAdRewarded(getString(R.string.admob_rewarded), object : IFrogoAdRewarded {
                    override fun onUserEarnedReward(rewardItem: RewardItem) {
                        // TODO("User Get Reward")
                    }

                    override fun onAdClosed() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToLoad() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToShow() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdLoaded() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdNotReady(message: String) {
                        // TODO("Not yet implemented")
                    }
                })
            }

            btnRewardedInterstitial.setOnClickListener {
                showAdRewardedInterstitial(getString(R.string.admob_rewarded_interstitial),
                    object : IFrogoAdRewarded {
                        override fun onUserEarnedReward(rewardItem: RewardItem) {
                            // TODO("User Get Reward")
                        }

                        override fun onAdClosed() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToLoad() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToShow() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdLoaded() {
                            ...
Read more

Release v4.3.0

30 Mar 09:38
Compare
Choose a tag to compare

ScreenShoot Apps

About This Project

Android Arsenal
JitPack
Android CI
Scan with Detekt
Medium Badge

  • Available on Google Dev Library - Click Here
  • Privacy Policy Click Here
  • LICENSE Click Here
  • Helper for activating admob
  • Example Source Code For Call Method Show Admob
  • Calling method on Inheritance Class
  • Implement all Admob Version
  • Jetpack Compose Function (Experimental)
  • Don't forget implement frogo-sdk Click Here

Note For Jitpack Build

  • Red : Failed (So don't use that version / Using previous version)
  • Green : Success / Pass (Use It)

ScreenShot Apps

Banner and Interstitial RecyclerView with Banner Rewarded Apps

Version Release

$version_release = 4.3.0

// Suport Library
$admob_version = 20.6.0
$unity_ad_version = 4.0.1

What's New??

* Enhance Performance *
* Refactoring Code *
* Update Admob Library Version 20.6.0 *
* Update : Adding Function Request Admob From Server *
* Add FrogoSdkAdmobActivity *
* New Setup Implementation *
* Fixing Bug : ShowBanner, ShowInterstitial, ShowRewarded *
* Adding Unity Ads *
* Add http timeout millis for google admob interstitial ad *
* Add keyword for google admob interstitial ad *

How To Use / Implement This Project

Step 1. Add the JitPack repository to your build file

<Option 1> Groovy Gradle

// Add it in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

<Option 2> Kotlin DSL Gradle

// Add it in your root build.gradle.kts at the end of repositories:

allprojects {
    repositories {
        ...
        maven("https://jitpack.io")
    }
}

Step 2. Add the dependency

<Option 1> Groovy

dependencies {
        // library google admob
        implementation 'com.google.android.gms:play-services-ads:${admob_version}'

        // library unity ads
        implementation 'com.unity3d.ads:unity-ads:${unity_ad_version}'

        // library frogo-admob-helper
        implementation 'com.github.amirisback:frogo-admob:4.3.0'
}

<Option 2> Kotlin DSL

dependencies {
        // library google admob
        implementation("com.google.android.gms:play-services-ads:${admob_version}")

        // library unity ads
        implementation("com.unity3d.ads:unity-ads:${unity_ad_version}")

        // library frogo-admob-helper
        implementation("com.github.amirisback:frogo-admob:4.3.0")
}

Step 3. Adding meta-data on AndroidManifest.xml

<manifest>
    <application>
        <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

Step 4. Setup Admob and Showing Ads

XML

Click for detail!

Setup Ads Using Server

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        requestAdmobApi()
    }

    private fun requestAdmobApi() {
        val baseUrl = "https://raw.githubusercontent.com/amirisback/frogo-admob/master/app/src/main/assets/"
        val frogoAdmobRepository = FrogoAdmobRepository(baseUrl)
        frogoAdmobRepository.usingClient()
        frogoAdmobRepository.getFrogoAdmobId(
            "admob_id",
            object : FrogoAdmobApiResponse<FrogoAdmobId> {
                override fun onSuccess(data: FrogoAdmobId) {
                    runOnUiThread {
                        FLog.d(data.appId)
                        FLog.d(data.bannerID[0])
                        FLog.d(data.interstitialID[0])
                        FLog.d(data.testAdmobAppId)
                        FLog.d(data.testAdmobBanner)
                        FLog.d(data.testAdmobInterstitial)
                    }
                }

                override fun onFailed(statusCode: Int, errorMessage: String?) {
                    runOnUiThread {
                        FLog.d(errorMessage)
                    }
                }

                override fun onShowProgress() {
                }

                override fun onHideProgress() {
                }
            })
    }

}

Showing Ads

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setupButtonClick()
        setupBannerAds()
    }

    ...
    ...
    ...

    private fun setupBannerAds() {
        showBanner(binding.adsXml.adsPhoneTabSpecialSmartBanner)
        showBannerContainer(
            getString(R.string.admob_banner),
            AdSize.SMART_BANNER,
            binding.includeAdsView.frogoAdsBanner
        )
    }

    private fun setupButtonClick() {

        binding.apply {

            btnInterstitial.setOnClickListener {

                // No Using Callback
                showAdInterstitial(getString(R.string.admob_interstitial))

                // With Callback
                showAdInterstitial(
                    getString(R.string.admob_interstitial),
                    object : IFrogoInterstitial {

                        override fun onAdDismissed(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToLoad(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToShow(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdLoaded(message: String) {}

                        override fun onAdShowed(message: String) {}

                        override fun onAdNotReady(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                    }
                )

            }

            btnRewarded.setOnClickListener {
                showAdRewarded(getString(R.string.admob_rewarded), object : IFrogoAdRewarded {
                    override fun onUserEarnedReward(rewardItem: RewardItem) {
                        // TODO("User Get Reward")
                    }

                    override fun onAdClosed() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToLoad() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToShow() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdLoaded() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdNotReady(message: String) {
                        // TODO("Not yet implemented")
                    }
                })
            }

            btnRewardedInterstitial.setOnClickListener {
                showAdRewardedInterstitial(getString(R.string.admob_rewarded_interstitial),
                    object : IFrogoAdRewarded {
                        override fun onUserEarnedReward(rewardItem: RewardItem) {
                            // TODO("User Get Reward")
                        }

                        override fun onAdClosed() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToLoad() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToShow() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdLoaded() {
               ...
Read more

Release v4.2.9

24 Mar 06:40
Compare
Choose a tag to compare

ScreenShoot Apps

About This Project

Android Arsenal
JitPack
Android CI
Scan with Detekt
Medium Badge

  • Available on Google Dev Library - Click Here
  • Privacy Policy Click Here
  • LICENSE Click Here
  • Helper for activating admob
  • Example Source Code For Call Method Show Admob
  • Calling method on Inheritance Class
  • Implement all Admob Version
  • Jetpack Compose Function (Experimental)
  • Don't forget implement frogo-sdk Click Here

Note For Jitpack Build

  • Red : Failed (So don't use that version / Using previous version)
  • Green : Success / Pass (Use It)

ScreenShot Apps

Banner and Interstitial RecyclerView with Banner Rewarded Apps

Version Release

$version_release = 4.2.9

// Suport Library
$admob_version = 20.6.0
$unity_ad_version = 4.0.1

What's New??

* Enhance Performance *
* Refactoring Code *
* Update Admob Library Version 20.6.0 *
* Update : Adding Function Request Admob From Server *
* Add FrogoSdkAdmobActivity *
* New Setup Implementation *
* Fixing Bug : ShowBanner, ShowInterstitial, ShowRewarded *
* Adding Unity Ads *

How To Use / Implement This Project

Step 1. Add the JitPack repository to your build file

<Option 1> Groovy Gradle

// Add it in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

<Option 2> Kotlin DSL Gradle

// Add it in your root build.gradle.kts at the end of repositories:

allprojects {
    repositories {
        ...
        maven("https://jitpack.io")
    }
}

Step 2. Add the dependency

<Option 1> Groovy

dependencies {
        // library google admob
        implementation 'com.google.android.gms:play-services-ads:${admob_version}'

        // library unity ads
        implementation 'com.unity3d.ads:unity-ads:${unity_ad_version}'

        // library frogo-admob-helper
        implementation 'com.github.amirisback:frogo-admob:4.2.9'
}

<Option 2> Kotlin DSL

dependencies {
        // library google admob
        implementation("com.google.android.gms:play-services-ads:${admob_version}")

        // library unity ads
        implementation("com.unity3d.ads:unity-ads:${unity_ad_version}")

        // library frogo-admob-helper
        implementation("com.github.amirisback:frogo-admob:4.2.9")
}

Step 3. Adding meta-data on AndroidManifest.xml

<manifest>
    <application>
        <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

Step 4. Setup Admob and Showing Ads

XML

Click for detail!

Setup Ads Using Server

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        requestAdmobApi()
    }

    private fun requestAdmobApi() {
        val baseUrl = "https://raw.githubusercontent.com/amirisback/frogo-admob/master/app/src/main/assets/"
        val frogoAdmobRepository = FrogoAdmobRepository(baseUrl)
        frogoAdmobRepository.usingClient()
        frogoAdmobRepository.getFrogoAdmobId(
            "admob_id",
            object : FrogoAdmobApiResponse<FrogoAdmobId> {
                override fun onSuccess(data: FrogoAdmobId) {
                    runOnUiThread {
                        FLog.d(data.appId)
                        FLog.d(data.bannerID[0])
                        FLog.d(data.interstitialID[0])
                        FLog.d(data.testAdmobAppId)
                        FLog.d(data.testAdmobBanner)
                        FLog.d(data.testAdmobInterstitial)
                    }
                }

                override fun onFailed(statusCode: Int, errorMessage: String?) {
                    runOnUiThread {
                        FLog.d(errorMessage)
                    }
                }

                override fun onShowProgress() {
                }

                override fun onHideProgress() {
                }
            })
    }

}

Showing Ads

class <YourActivity> : FrogoAdmobActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setupButtonClick()
        setupBannerAds()
    }

    ...
    ...
    ...

    private fun setupBannerAds() {
        showBanner(binding.adsXml.adsPhoneTabSpecialSmartBanner)
        showBannerContainer(
            getString(R.string.admob_banner),
            AdSize.SMART_BANNER,
            binding.includeAdsView.frogoAdsBanner
        )
    }

    private fun setupButtonClick() {

        binding.apply {

            btnInterstitial.setOnClickListener {

                // No Using Callback
                showAdInterstitial(getString(R.string.admob_interstitial))

                // With Callback
                showAdInterstitial(
                    getString(R.string.admob_interstitial),
                    object : IFrogoInterstitial {

                        override fun onAdDismissed(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToLoad(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdFailedToShow(errorMessage: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                        override fun onAdLoaded(message: String) {}

                        override fun onAdShowed(message: String) {}

                        override fun onAdNotReady(message: String) {
                            frogoStartActivity<MainActivity>()
                            finish()
                        }

                    }
                )

            }

            btnRewarded.setOnClickListener {
                showAdRewarded(getString(R.string.admob_rewarded), object : IFrogoAdRewarded {
                    override fun onUserEarnedReward(rewardItem: RewardItem) {
                        // TODO("User Get Reward")
                    }

                    override fun onAdClosed() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToLoad() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdFailedToShow() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdLoaded() {
                        // TODO("Not yet implemented")
                    }

                    override fun onAdNotReady(message: String) {
                        // TODO("Not yet implemented")
                    }
                })
            }

            btnRewardedInterstitial.setOnClickListener {
                showAdRewardedInterstitial(getString(R.string.admob_rewarded_interstitial),
                    object : IFrogoAdRewarded {
                        override fun onUserEarnedReward(rewardItem: RewardItem) {
                            // TODO("User Get Reward")
                        }

                        override fun onAdClosed() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToLoad() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdFailedToShow() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdLoaded() {
                            // TODO("Not yet implemented")
                        }

                        override fun onAdNotReady(message: String) {
                            // TODO("Not...
Read more