[PAID] Recycler Native Ad View Extension : Monetize & boost your earning with native ads

[PAID] Recycler Native Ad View Extension : Monetize & boost your earning with native ads into recycler view

The Recycler Native Ad View Extension for MIT App Inventor 2 is a powerful tool that enhances the app-building experience by seamlessly integrating native ads into your application. This extension allows you to display native ads within a recycler view, providing a user-friendly and unobtrusive way to monetize your app. With its easy-to-use interface and extensive customization options, this extension is perfect for developers looking to generate revenue through native advertising.


:sparkle: Initialize

You need to initialize the recycler view first.

image

  • layout - Set any view layout here.
  • layoutManager - Set layout manager using extension properties.
  • snapHelper - Set snap helper from extension properties.
  • data - Set item list.
  • adAfterItem - Set number to show ad after items.
  • adSize - Set ad size using extension properties or functions.
  • adUnitId - Set ad unit id for banner ad.
  • testMode - Set true for enable test ads.

:sparkle: Create View

Here you need to create your item view for binding it’s data on bind view event.

image

  • rootView - It’s return the root view.

:sparkle: Bind View

Here you need to bind data to created view.

image

  • rootView - It’s return the root view.
  • itemPosition - It’s return the position for item view.
  • dataItem - It’s return the item from given data list.
  • adapterPosition - It’s return the position of adapter.

:sparkle: Bind Ad View

Here you need to bind native ad to created view.

image

  • nativeAdView - It’s return the native ad view.
  • nativeAd - It’s return the loaded native ad for this position.
  • adapterPosition - It’s return the position of adapter.

:sparkle: View Attached To Window

It’s triggered when view attached to window.

image

  • rootView - It’s return the root view.
  • itemPosition - It’s return the position for item view.
  • adapterPosition - It’s return the position of adapter.

:sparkle: View Detached From Window

It’s triggered when view detached from window.

image

  • rootView - It’s return the root view.
  • adapterPosition - It’s return the position of adapter.

:sparkle: Scroll State Changed

Event for scroll state change.

image

  • scrollState - It’s return the scrolling state.

:sparkle: Scrolled

Event for scrolled listener.

image

  • dx - It’s return the dx position.
  • dy - It’s return the dy position of screen.

:sparkle: Left Swiped

It’s triggered when item swiped right to left.

image

  • itemPosition - It’s return the position for item view.
  • adapterPosition - It’s return the position of adapter.

:sparkle: Right Swiped

It’s triggered when item swiped left to right.

image

  • itemPosition - It’s return the position for item view.
  • adapterPosition - It’s return the position of adapter.

:sparkle: Draaged

It’s triggered when item moved between them.

image

  • fromAdapterPosition - It’s return the from adapter position for item view.
  • toAdapterPosition - It’s return the to adapter position for item view.

:sparkle: Over Scrolled

It’s triggered when user over scrolling the list view.

image

  • state - It’s returning the state of over scrolled.
  • offset - It’s returning the over scrolled offset.

:sparkle: Failed To Inflate Xml

It’s triggered when extension failed to inflate xml layout for native ad view.
Read the message to understand the error reason.

image

  • message - It’s return the error message.

:sparkle: Ad Loaded

It’s triggered when ad loaded.

image

  • hasVideo - It’s return true if the ad has video content.

:sparkle: Ad Failed To Load

It’s triggered when ad failed to load.

image

  • error Code - It’s return the error code.
  • error Message - It’s return error message as string.
  • response - It’s return the error code & message as json.

:sparkle: Ad Clicked

It’s triggered when user click on any banner ad.

image


:sparkle: Ad Impression

It’s triggered when the ad count impression.

image


:sparkle: Ad Swipe Gesture Clicked

It’s triggered for ad swipe gesture clicked.

image


:sparkle: Ad Opened

It’s triggered when ad is opened.

image


:sparkle: Ad Closed

It’s triggered when ad is closed.

image


:sparkle: Video Start

It’s triggered when video is started.

image

  • duration - It’s return the duration of video in second.

:sparkle: Video Play

It’s triggered when video played.

image


:sparkle: Video Pause

It’s triggered when video is paused.

image


:sparkle: Video End

It’s triggered when video is ended.

image

  • duration - It’s return the duration of video in second.

:sparkle: VideoMute

It’s triggered when video muted or unmuted.

image

  • isMuted - It’s return true is video is muted.

:sparkle: Scroll To Position

Use this method to scroll adapter to the item position.

image

  • itemPosition - Set item position.

:sparkle: Smooth Scroll To Position

Use this method to smoothly scroll to item position.

image

  • itemPosition - Set item position.

:sparkle: Stop Scroll

Use this method to manually stop scrolling.

image


:sparkle: Ad Gap Decorator

Use this method to add gap between items.

image

  • gap - Set gap as integer number.

:sparkle: Get Data

Use this method to get given data list.

image


:sparkle: Update Data

Use this method to update data with new or modified list.

image

  • data - Set data as list.

:sparkle: Update Data Smoothly

Use this method to update data smoothly.

image

  • data - Set data as list.

:sparkle: Notify Data Set Changed

You can use this function to manually notify the adapter to re-create all views after any changes to views.

image


:sparkle: Notify Item Changed

Use this function to notify the adapter for re-create view for given position.

image

  • adapterPosition - Set adapter position.

:sparkle: Notify Item Inserted

Use this function to notify adapter to add item to given position.

image

  • adapterPosition - Set adapter position.

:sparkle: Notify Item Removed

Use this function to notify adapter for remove item from given position.

image

  • adapterPosition - Set adapter position.

:sparkle: Notify Item Moved

Use this function to notify adapter for item moving by given positions.

image

  • fromAdapterPosition - Set item position from where to move item.
  • toAdapterPosition - Set item position to where to move item.

:sparkle: Notify Item Range Changed

Use this function to notify adapter for multiple items changed.

image

  • adapterPositionStart - Set start position.
  • itemCount - Set item count.

:sparkle: Notify Item Range Inserted

Use this function to notify adapter for multiple items insertion.

image

  • adapterPositionStart - Set start position.
  • itemCount - Set item count.

:sparkle: Notify Item Range Removed

Use this function to notify adapter for multiple items removed.

image

  • adapterPositionStart - Set start position.
  • itemCount - Set item count.

:sparkle: Item Position

Get item position by adapter position.

image

  • adapterPosition - Set adapter position.

:sparkle: Adapter Position

Get adapter position by item position.

image

  • itemPosition - Set item position.

:sparkle: Get Root View

Use this function to get root view by child view.

image

  • component - Set view component to get root view.

:sparkle: Get Adapter Position

Use this function to get adapter position by root view.

image

  • rootView - Set root view.

:sparkle: Create Component

Use this function to create dynamic views.

image

  • parent - Set parent view where to create new view.
  • name - Set the name of component to create view.
  • tag - Set tag for view.
  • properties - Set properties for view.

:sparkle: Create Template

Use this function to create dynamic views using JSON template.

image

  • in - Set view component where to create new views.
  • template - Set template to create views.
  • parameters - Set parameters for dynamic views.

:sparkle: Set Properties

Use this function to set properties for any dynamic view.

image

  • component - Set view to apply properties.
  • properties - Set properties.

:sparkle: Set Property

Set single property for a component.

image

  • component - Set view to apply properties.
  • name - Set property name.
  • value - Set property value.

:sparkle: Set Unique Id

Use this function to set unique id to view. It’s required to use click listener.

image

  • component - Set view component to apply unique id.
  • id - Set id for view component.

:sparkle: Get Unique Id

Use this function to get unique id for any view.

image

  • component - Set view component to get unique id.

:sparkle: Unique Ids

It’s return all used unique ids as list.

image


:sparkle: Get Component

Use this function to get child view from parent view by it’s tag.

image

  • parent - Set the child view component.
  • tag - Set tag to find parent view.

:sparkle: Get Component By Id

Use this function to get view component by it’s unique id.
For using this method you should set unique id to this view.

image

  • uniqueId - Set unique id to find the view component.

:sparkle: Is Dynamic

It’s returning true if the view is created dynamically.

image

  • component - Set view component.

:sparkle: Get Component Name

It’s returning the name of component.
You can use this function to get the actual name of in-built components.

image

  • component - Set any in-build component to get it’s name.

:sparkle: Animate View On Click

Use this function to animate root view when clicked.

image

  • rootView - Set view to animate.
  • duration - Set duration in milliseconds.

:sparkle: Linear Layout Manager

Use this function to create linear layout manager for initialize recycler view.

image

  • orientation - Set orientation for recycler view from extension properties.
  • reverseLayout - Set boolean value here. Set true to show list in reverse order.

:sparkle: Grid Layout Manager

Use this function to create grid layout manager for initialize recycler view.

image

  • spanCount - Set span count as integer number. Span count is for create items per row.
  • orientation - Set orientation for recycler view from extension properties.
  • reverseLayout - Set boolean value here. Set true to show list in reverse order.

:sparkle: Staggered Grid Layout Manager

Use this function to create staggered grid layout manager for initialize recycler view.

image

  • spanCount - Set span count as integer number. Span count is for create items per row.
  • orientation - Set orientation for recycler view from extension properties.

:sparkle: Populate Native Ad Views

You’ve to populate add created ad views for bind native ad to the native ad view.
Use this functions to populate views and watch tutorial video for better understanding.

  • nativeAdView - Set native ad view object from BindAdView event.
  • nativeAd - Set native ad object from the BindAdView event.
  • tag - Set view tag which one you’ve used for this view into xml code.
  • backgroundColor - Set background color for the CallToActionView (Button).

:sparkle: Finish Populating Views

You’ve to call this at the end of populating views to notify that populating views is finished and native ad view is read to display ad.

image

  • nativeAdView - Set native ad view object from BindAdView event.
  • nativeAd - Set native ad object from the BindAdView event.

:sparkle: Get Ads Count

It’s return total loaded ads count.

image


:sparkle: Get Adapter Position

Using this properties you can get adapter position.

image


:sparkle: Orientation

Set recycler view orientation using this properties.

image


:sparkle: Snap Helper

To create snap helper use this properties.

image


:sparkle: Scroll State

To handle scroll state use this properties.

image


:sparkle: Xml Layout

Set xml file from asset to inflate native ad view or set xml code as string using block section.

image

image


:sparkle: Animate Ad View

Set true to animate the native ad view on scrolling.

image

image


:sparkle: Left Swipable

Set true to enable left swipe on items.

image

image


:sparkle: Swipe Left Background Color

Change background color of left swiped view.

image

image


:sparkle: Swipe Left Label Color

Change the label color of swiped left label text.

image

image


:sparkle: Swipe Left Label

Change swipe left label text. Make it empty to disable swipe left label text.

image

image


:sparkle: Swipe Left Label Size

Change swipe left label text size.

image

image


:sparkle: Swipe Left Icon

Set image on swipe left view. Make it empty to disable swipe left icon.

image

image


:sparkle: Right Swipable

Set true to enable right swipe.

image

image


:sparkle: Swipe Right Background Color

Change background color of right swiped view.

image

image


:sparkle: Swipe Right Label Color

Change the label color of swiped view.

image

image


:sparkle: Swipe Right Label

Change the text for swipe right text. Make it empty to disable swipe right label.

image

image


:sparkle: Swipe Right Label Size

Change the text size of swipe right label.

image

image


:sparkle: Swipe Right Icon

Set the swipe right icon, set None or make it empty to disable swipe right icon.

image

image


:sparkle: Draggable

Set true to enable dragging items between them.

image

image


:sparkle: Fixed Size

Set true to improve performance.

image

image


:sparkle: Nested Scrolling

Set false to improve scrolling.

image

image


:sparkle: Over Scroll

Set true to enable over scroll effect.

image

image


:sparkle: Animation Duration

Set item animation duration in milliseconds.

image

image


:sparkle: AlwaysAnimate

Set false to animate only on first scroll.

image

image


:sparkle: Item Animator

Chage item animation from available animations.

image

image


:sparkle: Available Animations

Total 51+ animations are available. More animations will be added soon.


Demo blocks

:memo: item.json - Download demo template json.

:memo: small_template.xml - Download demo xml layout.



Demo output


:github: GitHub Repository

:receipt: Extension Specifications


:android: SDK: 22.1.0
:man_lifting_weights: Size: 126 KB
:coin: Price: $25 (One time purchase only)
:coin: Price: $30 (Lifetime support + minor updates)
:coin: Price: $35 (Lifetime support + major + minor updates)
:earth_americas: Released On: 28 June 2023 (GMT+06:00)
:earth_americas: Updated On: 28 June 2023 (GMT+06:00)


3 Likes

I have seen these kinds of ads in many popular apps, but i can’t imagine whether we can do it without coding.
once again thanks @JEWEL for this creative extension that works fine and friendly guidance on how to implement it.

2 Likes