[PAID] AdPromote || Create you own ads

:rocket: AdPromote Extension (v1.0)

AdPromote is a powerful promotional advertising extension for MIT App Inventor 2, designed to help developers cross-promote apps and YouTube content with high performance and flexible UI customization.

It supports:

  • :loudspeaker: Banner Ads
  • :brick: Native Ads
  • :desktop_computer: Interstitial Ads
  • :play_button: YouTube Promotions

All Blocks

:open_book: Extension Documentation

:package: Initialization

Before using any ad format, you must initialize the promote 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 Ads

:small_blue_diamond: App Banner

promote banner ads

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

Loads a banner ad for app promotion.

:small_blue_diamond: YouTube Banner

youtube banner ads

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

Loads a YouTube banner ad.

:small_blue_diamond: Events

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

:brick: Native Ads

:small_blue_diamond: App Native

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

Loads a native app promotion ad.

:small_blue_diamond: YouTube Native

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

Loads a YouTube native ad.

:small_blue_diamond: YouTube Native Banner

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

Loads a compact YouTube native banner.

:small_blue_diamond: Events

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

:desktop_computer: Interstitial Ads

Standard Advanced

:small_blue_diamond: Load

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

Loads a full-screen interstitial ad.

:small_blue_diamond: Control

  • IsInterstitialLoaded(id) → boolean
  • ShowInterstitial(id)

:small_blue_diamond: Events

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

:play_button: Interstitial Ads (YouTube)

Standard Advanced

:small_blue_diamond: Load

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

Loads a YouTube interstitial ad.

: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.



Demo Blocks:

Demo:


Video Speed X2

Aix

Size about 500KB
Price 12$ feel free to contact me on Telegram:
:backhand_index_pointing_right: Telegram: Contact @AemoDev

Thank YOU :slight_smile: :hugs:

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: Top-Level Structure

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

You can include:

  • AppsPromote
  • YoutubePromote
  • Or both (recommended for full usage)

:mobile_phone: 1. AppsPromote Array

Used when:

  • AppPromote
  • AppWithYoutube

:small_blue_diamond: Properties

Property Type Description
name String App name
icon URL App icon
shortDescription String Short description of the app
packageName String App package name or direct link
preview URL Feature/preview image
screenShot Array List of screenshot URLs
:small_blue_diamond: Example
{
  "AppsPromote": [
    {
      "name": "Super Racing 3D",
      "icon": "https://example.com/icon.png",
      "shortDescription": "Best racing game!",
      "packageName": "com.racing.super3d",
      "preview": "https://example.com/preview.png",
      "screenShot": [
        "https://example.com/1.png",
        "https://example.com/2.png"
      ]
    }
  ]
}

:play_button: 2. YoutubePromote Array

Used when:

  • YoutubePromote
  • AppWithYoutube

:small_blue_diamond: Properties

Property Type Description
title String Video title
icon URL Channel or video icon
preview URL Large thumbnail image
preview-small URL Small thumbnail image
watch URL Direct link to the video
channel String YouTube channel ID
Description String Video description (case-sensitive)

:small_blue_diamond: Example

{
  "YoutubePromote": [
    {
      "title": "Top Android Features",
      "icon": "https://example.com/icon.png",
      "preview": "https://example.com/large.jpg",
      "preview-small": "https://example.com/small.jpg",
      "watch": "https://youtube.com/watch?v=0e0e0e00e",
      "channel": "e00e00e0e",
      "Description": "Best features explained!"
    }
  ]
}

:link: Combined Example

{
  "AppsPromote": [
    {
      "name": "Secret App",
      "icon": "https://example.com/icon.png",
      "shortDescription": "Cool app",
      "packageName": "com.example.app",
      "preview": "https://example.com/preview.png",
      "screenShot": [
        "https://example.com/1.png"
      ]
    }
  ],
  "YoutubePromote": [
    {
      "title": "App Tutorial",
      "icon": "https://example.com/icon.png",
      "preview": "https://example.com/preview.png",
      "preview-small": "https://example.com/small.png",
      "watch": "https://youtu.be/e0e0e0",
      "channel": "UCaskjs",
      "Description": "Learn how to use it"
    }
  ]
}
3 Likes