[PAID] AdPromote || Create you own ads


:rocket: AdPromote Extension (v1.0)

AdPromote is a flexible content promotion system for MIT App Inventor 2, designed to help developers display and manage their own promotional content (such as apps or YouTube channels) with high performance and customizable UI.

:warning: Important:
This extension is NOT an advertising network and does NOT provide monetization services.
It does not serve ads from external providers, track users, or handle payments/subscriptions.


:bullseye: What it does

AdPromote allows developers to:

  • Promote their own apps
  • Promote their own YouTube content
  • Display custom promotional content via JSON
  • Fully control UI and behavior

:white_check_mark: All content (images, links, data) must be provided by the developer/user


:package: Supported Formats

  • :loudspeaker: Banner Promotion
  • :brick: Native Promotion
  • :desktop_computer: Interstitial Promotion
  • :play_button: YouTube Promotion

:open_book: Extension Documentation

:package: Initialization

Before using any promotion format, you must initialize the system.

:small_blue_diamond: Method

InitializePromote(adLink As String, type As PromoteTaskType)

Initializes the promotion system using your remote JSON/API.

Parameters:

  • adLink β†’ URL of your promotion data source
  • type β†’ Promotion type:
    • 0 β†’ AppPromote
    • 1 β†’ YoutubePromote
    • 2 β†’ AppWithYoutube

:small_blue_diamond: Events

  • InitializePromoteSuccessful()
  • InitializePromoteFailed(error)

:broom: Data Control

:small_blue_diamond: Method

Clear()

Clears all cached promotion data asynchronously.

:small_blue_diamond: Events

  • DataCleared()
  • DataClearFailed(error)

:bullseye: Banner Promotion

:small_blue_diamond: App Banner

LoadBannerPromote(id, in, installTitle, installColor, descriptionColor)

Loads a banner for app promotion.


:small_blue_diamond: YouTube Banner

LoadBannerYoutube(id, in, subscribeTitle, description, subscribeTitleColor, subscribeColor, viewsColor, bodyColor)

Loads a banner for YouTube content promotion.


:small_blue_diamond: Events

  • BannerAdLoaded(id)
  • BannerAdClicked(id)
  • BannerAdFailedToLoad(id, error)

:brick: Native Promotion

:small_blue_diamond: App Native

LoadNativePromote(id, in, buttonTitle, buttonColor, radiusButton)

Displays a native layout for app promotion.


:small_blue_diamond: YouTube Native

LoadNativeYoutube(id, in, bannerTitle, bannerColor, radiusButton, colorBody)

Displays a native layout for YouTube content.


:small_blue_diamond: YouTube Native Banner

LoadNativeBannerYoutube(id, in, bannerTitle, bannerColor, colorBody)

Displays a compact YouTube promotion banner.


:small_blue_diamond: Events

  • NativeAdLoaded(id)
  • NativeAdClicked(id, type)
  • NativeAdFailedToLoad(id, error)

:desktop_computer: Interstitial Promotion

:small_blue_diamond: Load

LoadInterstitial(id, style, installColor, timer, installTitle, radiusButton)

Loads a full-screen app promotion.


:small_blue_diamond: Control

  • IsInterstitialLoaded(id) β†’ boolean
  • ShowInterstitial(id)

:small_blue_diamond: Events

  • InterstitialAdLoaded(id)
  • InterstitialAdClicked(id)
  • InterstitialAdFailedToLoad(id, error)
  • InterstitialAdClosed(id)

:play_button: YouTube Interstitial Promotion

:small_blue_diamond: Load

LoadInterstitialYoutube(id, style, adTitle, adColor, adTitleColor, radiusButton, descriptionShort, descriptionText, descriptionTitleColor, descriptionColor)

Loads a full-screen YouTube promotion.


:small_blue_diamond: Control

  • IsInterstitialYoutubeLoaded(id) β†’ boolean
  • ShowInterstitialYoutube(id)

:small_blue_diamond: Events

  • YoutubeInterstitialLoaded(id)
  • YoutubeInterstitialAdClicked(id, type)
  • YoutubeInterstitialAdFailedToLoad(id, error)
  • YoutubeInterstitialAdClosed(id)

:artist_palette: Utilities

:small_blue_diamond: ColorParser(color As String) β†’ number

Parses a HEX color string into an integer.


:warning: Notes

  • This extension does not provide any built-in ads
  • It does not connect to ad networks
  • It does not include third-party services
  • Developers must provide:
    • Images
    • Links
    • Content (via JSON)

:package: Aix

  • Size: ~500KB
  • Price: 12$

:envelope_with_arrow: Contact (Telegram):


:heart: Thank You


:page_facing_up: AdPromote JSON Formatting Guide

The adLink parameter must point to a JSON file that defines the apps and/or YouTube content to promote.

:puzzle_piece: Structure

{
"AppsPromote": [ ... ],
"YoutubePromote": [ ... ]
}


:mobile_phone: AppsPromote

Property Type Description
name String App name
icon URL App icon
shortDescription String Short description
packageName String Package name or link
preview URL Preview image
screenShot Array Screenshots

:play_button: YoutubePromote

Property Type Description
title String Video title
icon URL Channel/video icon
preview URL Large thumbnail
preview-small URL Small thumbnail
watch URL Video link
channel String Channel ID
Description String Description