MyHouseAdsAndroid
A library (V1) for cross-promoting your own Android apps inside your own Android apps — banner and interstitial house ads, loaded from a JSON file you host or from a hardcoded list. No ad network involved.
A newer and better version of this library can be found here: https://github.com/p32929/HouseAds2
Features
- Banner and interstitial house ads — your apps, your icons, your Play Store links
- Two ways to feed it — a JSON URL you control, or
MyAdobjects straight in code - Interstitial on back press — one override, and it falls through to normal back when there's nothing to show
- No third-party ad SDK and no revenue share
Screenshots:
Banner Ad:

Interstitial ad on any button press:

Interstitial ad on back press:

Installation
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
Add the dependency
dependencies {
implementation 'com.github.p32929:MyHouseAdsAndroid:1.0.2'
}
How to use
Code Example:
Adding ads data:
MyAdsAdder myAdsAdder = new MyAdsAdder(
this, linearLayout,
"https://raw.githubusercontent.com/p32929/SomeHowTosAndTexts/master/HouseAdsJson/house_ads.json"
);
or
MyAdsAdder myAdsAdder = new MyAdsAdder(
this, linearLayout,
new MyAd(R.drawable.cgpa, "CGPA Calculator", "https://play.google.com/store/apps/details?id=p32929.cgpa_calculator2"),
new MyAd(R.drawable.desplash, "Desplash - Automatic Unsplash Wallpapers", "https://play.google.com/store/apps/details?id=p32929.desplash"),
new MyAd(R.drawable.postman, "The Great REST API Client", "https://play.google.com/store/apps/details?id=p32929.greatpostman"),
new MyAd(R.drawable.sleepy, "Sleepy - Phone Addiction Conroller", "https://play.google.com/store/apps/details?id=p32929.lazyphone"),
new MyAd(R.drawable.gpd, "Google Play APK Downloader", "https://github.com/p32929/EasyGooglePlayDownloader/releases/download/1.0.0.8/EasyGooglePlayDownloader-1.0.0.8.apk")
);
To show interstitial ads anywhere:
myAdsAdder.showInterAd(this, false);
To show interstitial ads on back press:
@Override
public void onBackPressed() {
if (!myAdsAdder.showInterAd(this, true)) {
super.onBackPressed();
}
}
License
MIT License — Copyright (c) 2019 Fayaz Bin Salam. See LICENSE for the full text.
Contributing
Contributions are warmly welcomed and greatly appreciated! Whether it's a bug fix, new feature, or improvement, your input helps make this project better for everyone.
Before submitting a pull request, please:
- Create an issue describing the feature or bug fix you'd like to work on
- Wait for discussion and approval to ensure alignment with project goals
- Fork the repository and create your feature branch
- Submit your pull request with a clear description of changes
This approach helps avoid duplicate efforts and ensures smooth collaboration. Thank you for considering contributing!
Share
Sharing this repository with your friends is just one click away from here
Support
If this saved you time, you can buy me a coffee — it keeps these projects maintained and free. Other payment options: https://p32929.github.io/SendMoney2MeV1/
💼 Using this at a company?
I do fixed-price delivery work on my own projects. One invoice, one date, no hourly billing:
| White-label build — this project rebranded, extended and deployed as yours | $6,500 · 3 weeks |
| Custom app from scratch on my own stack, signed and auto-updating | $12,500 · 6 weeks |
| Production-hardening sprint — 72 hours on this project, for your load and your security review | $999 |
| Ongoing capacity — one project-week of my time reserved every month | $9,000 / month |
Full details → p32929.github.io/hire · Email fayazdevinbox@uberip.com — scoping and quotes are free and I answer within one business day.








