<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://developers.bluestack.app/blog</id>
    <title>BlueStack Blog</title>
    <updated>2026-03-13T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://developers.bluestack.app/blog"/>
    <subtitle>BlueStack Blog</subtitle>
    <icon>https://developers.bluestack.app/img/logo.png</icon>
    <entry>
        <title type="html"><![CDATA[BlueStack SDK version 6]]></title>
        <id>https://developers.bluestack.app/blog/bluestack-sdk-6</id>
        <link href="https://developers.bluestack.app/blog/bluestack-sdk-6"/>
        <updated>2026-03-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[BlueStack SDK version 6 is now available.]]></summary>
        <content type="html"><![CDATA[<p>BlueStack SDK version 6 is now available.
This major release focuses on two areas: internal stability improvements across the SDK,
and the introduction of <strong>App Open Ads</strong> as a new supported ad format.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new-in-v6">What's New in v6<a href="https://developers.bluestack.app/blog/bluestack-sdk-6#whats-new-in-v6" class="hash-link" aria-label="Direct link to What's New in v6" title="Direct link to What's New in v6" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="app-open-ads">App Open Ads<a href="https://developers.bluestack.app/blog/bluestack-sdk-6#app-open-ads" class="hash-link" aria-label="Direct link to App Open Ads" title="Direct link to App Open Ads" translate="no">​</a></h3>
<p>Version 6 adds support for <strong>App Open Ads</strong>,
a full-screen ad format designed for app launch moments.
App open ads are displayed when users open your app
or return to it from the background,
making use of a natural transition point rather than interrupting an active session.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-app-open-ads">Why App Open Ads?<a href="https://developers.bluestack.app/blog/bluestack-sdk-6#why-app-open-ads" class="hash-link" aria-label="Direct link to Why App Open Ads?" title="Direct link to Why App Open Ads?" translate="no">​</a></h4>
<p>App open ads address a monetization window that other formats do not cover well.
Unlike interstitial ads, which appear mid-session,
app open ads are shown during moments when users already expect a brief pause before content loads.
This makes them a practical addition to an existing ad strategy.</p>
<p>To get started, check out the full integration guide:</p>
<ul>
<li class=""><a class="" href="https://developers.bluestack.app/ios/ad-formats/app-open">iOS App Open Ads Documentation</a></li>
<li class=""><a class="" href="https://developers.bluestack.app/android/ad-formats/app-open">Android App Open Ads Documentation</a></li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="renamed-classes-and-constants">Renamed Classes and Constants<a href="https://developers.bluestack.app/blog/bluestack-sdk-6#renamed-classes-and-constants" class="hash-link" aria-label="Direct link to Renamed Classes and Constants" title="Direct link to Renamed Classes and Constants" translate="no">​</a></h3>
<p>Version 6 removes the <code>BlueStack</code> and <code>MNG</code>
prefixes from all public API classes and constants.
The underlying functionality remains the same —
only the names have changed. Here are the key renames:</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="ios">iOS<a href="https://developers.bluestack.app/blog/bluestack-sdk-6#ios" class="hash-link" aria-label="Direct link to iOS" title="Direct link to iOS" translate="no">​</a></h4>
<table><thead><tr><th>v5 (Old)</th><th>v6 (New)</th></tr></thead><tbody><tr><td><code>BlueStack.sharedInstance</code></td><td><code>MobileAds.sharedInstance</code></td></tr><tr><td><code>BlueStackPrivacySettings</code></td><td><code>PrivacySettings</code></td></tr><tr><td><code>BlueStackError</code> / <code>BlueStackErrorCode</code></td><td><code>AdError</code> / <code>AdErrorCode</code></td></tr><tr><td><code>BlueStackError*</code> constants</td><td><code>AdError*</code> constants</td></tr></tbody></table>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="android">Android<a href="https://developers.bluestack.app/blog/bluestack-sdk-6#android" class="hash-link" aria-label="Direct link to Android" title="Direct link to Android" translate="no">​</a></h4>
<table><thead><tr><th>v5 (Old)</th><th>v6 (New)</th></tr></thead><tbody><tr><td><code>BlueStack.INSTANCE</code></td><td><code>MobileAds.INSTANCE</code></td></tr><tr><td><code>BlueStackPrivacySettings</code></td><td><code>PrivacySettings</code></td></tr><tr><td><code>MNGAdsFactory</code></td><td><code>AdsFactory</code></td></tr><tr><td><code>MNGNativeObject</code></td><td><code>NativeObject</code></td></tr><tr><td><code>MNGPreference</code> / <code>MNGPreferences</code></td><td><code>Preference</code> / <code>Preferences</code></td></tr></tbody></table>
<p>For a complete list of all renamed classes, constants,
and step-by-step migration instructions, see the migration guides:</p>
<ul>
<li class=""><a class="" href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios">iOS Migration Guide</a></li>
<li class=""><a class="" href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android">Android Migration Guide</a></li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-about-bluestack-v5-">What about BlueStack v5 ?<a href="https://developers.bluestack.app/blog/bluestack-sdk-6#what-about-bluestack-v5-" class="hash-link" aria-label="Direct link to What about BlueStack v5 ?" title="Direct link to What about BlueStack v5 ?" translate="no">​</a></h2>
<p>The old Public API as used in version 5 of the SDK is still accessible,
but it is highly advised to switch to the v6 API whenever possible.
In the future we will remove the old usages.
We have also made the old documentation available on this site,
you can find them here:</p>
<ul>
<li class=""><a class="" href="https://developers.bluestack.app/android/5.x.x/">Android</a></li>
<li class=""><a class="" href="https://developers.bluestack.app/ios/5.x.x/">iOS</a></li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-next">What's Next?<a href="https://developers.bluestack.app/blog/bluestack-sdk-6#whats-next" class="hash-link" aria-label="Direct link to What's Next?" title="Direct link to What's Next?" translate="no">​</a></h2>
<p>Version 6 adds App Open Ads
and establishes a more consistent API surface as a foundation for further format support in upcoming releases.
Publishers are encouraged to migrate to the v6 API at their earliest convenience.</p>
<p>For full documentation, visit:</p>
<ul>
<li class=""><a class="" href="https://developers.bluestack.app/android">Android Documentation</a></li>
<li class=""><a class="" href="https://developers.bluestack.app/ios">iOS Documentation</a></li>
</ul>
<p>If you encounter issues or have questions,
please reach out to us.</p>
<p>Framework integrations such as React Native will also be updated to support version 6 in the near term.
Going forward, framework integration packages will follow the same major version scheme as the native SDK,
so that version alignment is straightforward and there is no ambiguity about which SDK version a given package targets.</p>]]></content>
        <author>
            <name>Ale Bles</name>
            <uri>https://ale.bles.nu/</uri>
        </author>
        <category label="BlueStack" term="BlueStack"/>
        <category label="SDK" term="SDK"/>
        <category label="Ad" term="Ad"/>
        <category label="App Open" term="App Open"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Android Migration Guide — BlueStack SDK v5 to v6]]></title>
        <id>https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android</id>
        <link href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android"/>
        <updated>2026-03-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This guide covers the breaking changes introduced in]]></summary>
        <content type="html"><![CDATA[<p>This guide covers the breaking changes introduced in
BlueStack SDK v6.0.0 for Android and explains how to update
your existing v5 integration.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="overview">Overview<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#overview" class="hash-link" aria-label="Direct link to Overview" title="Direct link to Overview" translate="no">​</a></h2>
<p>BlueStack SDK v6 introduces an update that removes the
<code>BlueStack</code> and <code>MNG</code> prefixes from all public API classes
and constants. The underlying functionality remains the same —
only the names have changed. This makes the SDK more neutral
and easier to integrate across different publishing environments.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="sdk-initialization">SDK Initialization<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#sdk-initialization" class="hash-link" aria-label="Direct link to SDK Initialization" title="Direct link to SDK Initialization" translate="no">​</a></h2>
<p>The main entry point for initializing the SDK has been
renamed from <code>BlueStack</code> to <code>MobileAds</code>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="before-v5">Before (v5)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#before-v5" class="hash-link" aria-label="Direct link to Before (v5)" title="Direct link to Before (v5)" translate="no">​</a></h3>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Kotlin</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> </span><span class="token import namespace">com</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import namespace">azerion</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import namespace">bluestack</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import class-name">BlueStack</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> </span><span class="token import namespace">com</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import namespace">azerion</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import namespace">bluestack</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import namespace">initialization</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import class-name">InitializationListener</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> </span><span class="token import namespace">com</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import namespace">azerion</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import namespace">bluestack</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import namespace">initialization</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import class-name">InitializationStatus</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain" style="display:inline-block"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">class</span><span class="token plain"> </span><span class="token class-name">MainActivity</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">extends</span><span class="token plain"> </span><span class="token class-name">AppCompatActivity</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token annotation punctuation" style="color:rgb(248, 248, 242)">@Override</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">public</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">void</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">onCreate</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token class-name">Bundle</span><span class="token plain"> savedInstanceState</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">super</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">onCreate</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">savedInstanceState</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token class-name">BlueStack</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token constant" style="color:rgb(189, 147, 249)">INSTANCE</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">initialize</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">this</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"YOUR_APP_ID"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> initializationStatus </span><span class="token operator">-&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            initializationStatus</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">getAdapterStatusMap</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">forEach</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">adNetworkName</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> adapterStatus</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">-&gt;</span><span class="token plain"> </span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">                </span><span class="token class-name">Log</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">d</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token constant" style="color:rgb(189, 147, 249)">TAG</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"name: "</span><span class="token plain"> </span><span class="token operator">+</span><span class="token plain"> adapterStatus</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">getName</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">+</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">", state: "</span><span class="token plain"> </span><span class="token operator">+</span><span class="token plain"> adapterStatus</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">getState</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-kotlin codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-kotlin codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> com</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">azerion</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">bluestack</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">BlueStack</span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> com</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">azerion</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">bluestack</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">initialization</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">InitializationListener</span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> com</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">azerion</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">bluestack</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">initialization</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">InitializationStatus</span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain" style="display:inline-block"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">class</span><span class="token plain"> MainActivity </span><span class="token operator">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">AppCompatActivity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">override</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">fun</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">onCreate</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">savedInstanceState</span><span class="token operator">:</span><span class="token plain"> Bundle</span><span class="token operator">?</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">super</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">onCreate</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">savedInstanceState</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        BlueStack</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">initialize</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">this</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string-literal singleline string" style="color:rgb(255, 121, 198)">"YOUR_APP_ID"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">object</span><span class="token plain"> </span><span class="token operator">:</span><span class="token plain"> InitializationListener </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">override</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">fun</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">onInitialized</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">status</span><span class="token operator">:</span><span class="token plain"> InitializationStatus</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">                status</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">adapterStatusMap</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">forEach</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">adNetworkName</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> adapterStatus</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">-&gt;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">                    Log</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">d</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">TAG</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string-literal singleline string" style="color:rgb(255, 121, 198)">"name: </span><span class="token string-literal singleline interpolation interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">${</span><span class="token string-literal singleline interpolation expression">adapterStatus</span><span class="token string-literal singleline interpolation expression punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token string-literal singleline interpolation expression">name</span><span class="token string-literal singleline interpolation interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string-literal singleline string" style="color:rgb(255, 121, 198)">, state: </span><span class="token string-literal singleline interpolation interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">${</span><span class="token string-literal singleline interpolation expression">adapterStatus</span><span class="token string-literal singleline interpolation expression punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token string-literal singleline interpolation expression">state</span><span class="token string-literal singleline interpolation interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string-literal singleline string" style="color:rgb(255, 121, 198)">"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">                </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span><br></div></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="after-v6">After (v6)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#after-v6" class="hash-link" aria-label="Direct link to After (v6)" title="Direct link to After (v6)" translate="no">​</a></h3>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Kotlin</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> </span><span class="token import namespace">com</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import namespace">azerion</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import namespace">bluestack</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import class-name">MobileAds</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> </span><span class="token import namespace">com</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import namespace">azerion</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import namespace">bluestack</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import namespace">initialization</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import class-name">InitializationListener</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> </span><span class="token import namespace">com</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import namespace">azerion</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import namespace">bluestack</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import namespace">initialization</span><span class="token import namespace punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token import class-name">SDKInitializationStatus</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain" style="display:inline-block"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">class</span><span class="token plain"> </span><span class="token class-name">MainActivity</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">extends</span><span class="token plain"> </span><span class="token class-name">AppCompatActivity</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token annotation punctuation" style="color:rgb(248, 248, 242)">@Override</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">public</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">void</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">onCreate</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token class-name">Bundle</span><span class="token plain"> savedInstanceState</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">super</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">onCreate</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">savedInstanceState</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token class-name">MobileAds</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token constant" style="color:rgb(189, 147, 249)">INSTANCE</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">initialize</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">this</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"YOUR_APP_ID"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> initializationStatus </span><span class="token operator">-&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            initializationStatus</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">getMediationAdapterStatusMap</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">forEach</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">adNetworkName</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> adapterStatus</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">-&gt;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">                </span><span class="token class-name">Log</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">d</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token constant" style="color:rgb(189, 147, 249)">TAG</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"name: "</span><span class="token plain"> </span><span class="token operator">+</span><span class="token plain"> adapterStatus</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">getName</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">+</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">", state: "</span><span class="token plain"> </span><span class="token operator">+</span><span class="token plain"> adapterStatus</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">getState</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-kotlin codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-kotlin codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> com</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">azerion</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">bluestack</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">MobileAds</span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> com</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">azerion</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">bluestack</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">initialization</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">InitializationListener</span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> com</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">azerion</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">bluestack</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">initialization</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">SDKInitializationStatus</span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain" style="display:inline-block"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">class</span><span class="token plain"> MainActivity </span><span class="token operator">:</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">AppCompatActivity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">override</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">fun</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">onCreate</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">savedInstanceState</span><span class="token operator">:</span><span class="token plain"> Bundle</span><span class="token operator">?</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">super</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">onCreate</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">savedInstanceState</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        MobileAds</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">initialize</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">this</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string-literal singleline string" style="color:rgb(255, 121, 198)">"YOUR_APP_ID"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">object</span><span class="token plain"> </span><span class="token operator">:</span><span class="token plain"> InitializationListener </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">override</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">fun</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">onInitialized</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">status</span><span class="token operator">:</span><span class="token plain"> SDKInitializationStatus</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">                status</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">mediationAdapterStatusMap</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">forEach</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">adNetworkName</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> adapterStatus</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">-&gt;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">                    Log</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">d</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">TAG</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string-literal singleline string" style="color:rgb(255, 121, 198)">"name: </span><span class="token string-literal singleline interpolation interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">${</span><span class="token string-literal singleline interpolation expression">adapterStatus</span><span class="token string-literal singleline interpolation expression punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token string-literal singleline interpolation expression">name</span><span class="token string-literal singleline interpolation interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string-literal singleline string" style="color:rgb(255, 121, 198)">, state: </span><span class="token string-literal singleline interpolation interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">${</span><span class="token string-literal singleline interpolation expression">adapterStatus</span><span class="token string-literal singleline interpolation expression punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token string-literal singleline interpolation expression">state</span><span class="token string-literal singleline interpolation interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token string-literal singleline string" style="color:rgb(255, 121, 198)">"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">                </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span><br></div></code></pre></div></div></div></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="privacy-settings">Privacy Settings<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#privacy-settings" class="hash-link" aria-label="Direct link to Privacy Settings" title="Direct link to Privacy Settings" translate="no">​</a></h2>
<p>The privacy settings class has been renamed
from <code>BlueStackPrivacySettings</code> to <code>PrivacySettings</code>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="before-v5-1">Before (v5)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#before-v5-1" class="hash-link" aria-label="Direct link to Before (v5)" title="Direct link to Before (v5)" translate="no">​</a></h3>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Kotlin</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token class-name">BlueStackPrivacySettings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setIsAgeRestrictedUser</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> context</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token class-name">BlueStackPrivacySettings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setIsUserOptOut</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> context</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-kotlin codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-kotlin codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">BlueStackPrivacySettings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setIsAgeRestrictedUser</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> context</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">BlueStackPrivacySettings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setIsUserOptOut</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> context</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span></span><br></div></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="after-v6-1">After (v6)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#after-v6-1" class="hash-link" aria-label="Direct link to After (v6)" title="Direct link to After (v6)" translate="no">​</a></h3>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Kotlin</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token class-name">PrivacySettings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setIsAgeRestrictedUser</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> context</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token class-name">PrivacySettings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setIsUserOptOut</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> context</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-kotlin codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-kotlin codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">PrivacySettings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setIsAgeRestrictedUser</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> context</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">PrivacySettings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setIsUserOptOut</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> context</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span></span><br></div></code></pre></div></div></div></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="error-handling">Error Handling<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#error-handling" class="hash-link" aria-label="Direct link to Error Handling" title="Direct link to Error Handling" translate="no">​</a></h2>
<p>The error class <code>AdError</code> and all error constant names <strong>remain unchanged</strong> in v6.
All existing error constants from v5 work exactly the same way in v6.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="error-constants-unchanged">Error Constants (Unchanged)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#error-constants-unchanged" class="hash-link" aria-label="Direct link to Error Constants (Unchanged)" title="Direct link to Error Constants (Unchanged)" translate="no">​</a></h3>
<table><thead><tr><th>Error Constant</th><th>Error Code</th><th>Description</th></tr></thead><tbody><tr><td><code>AdError.WRONG_PLACEMENT_ERROR</code></td><td>0</td><td>Invalid placement ID</td></tr><tr><td><code>AdError.NO_INTERNET_ERROR</code></td><td>1</td><td>No internet connection</td></tr><tr><td><code>AdError.SDK_UNINITIALIZED_ERROR</code></td><td>2</td><td>SDK not initialized</td></tr><tr><td><code>AdError.CAPPED_REQUEST_ERROR</code></td><td>3</td><td>Request limit reached</td></tr><tr><td><code>AdError.LOCKED_PLACEMENT_ERROR</code></td><td>4</td><td>Placement locked by another factory</td></tr><tr><td><code>AdError.BUSY_FACTORY_ERROR</code></td><td>5</td><td>Factory is busy</td></tr><tr><td><code>AdError.NO_AD_ERROR</code></td><td>7</td><td>No ad available</td></tr><tr><td><code>AdError.INTERSTITIAL_COOLDOWN_ERROR</code></td><td>8</td><td>Interstitial cooldown active</td></tr><tr><td><code>AdError.INTERSTITIAL_ALREADY_SHOWN_ERROR</code></td><td>9</td><td>Interstitial already shown</td></tr><tr><td><code>AdError.TIME_OUT_ERROR</code></td><td>10</td><td>Ad request timed out</td></tr><tr><td><code>AdError.ADAPTER_NOT_FOUND_ERROR</code></td><td>11</td><td>Mediation adapter not found</td></tr><tr><td><code>AdError.BLOCKED_BY_GDPR</code></td><td>12</td><td>Request blocked by GDPR</td></tr><tr><td><code>AdError.AD_EXPIRED</code></td><td>13</td><td>Ad has expired</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-error-in-v6">New Error in v6<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#new-error-in-v6" class="hash-link" aria-label="Direct link to New Error in v6" title="Direct link to New Error in v6" translate="no">​</a></h3>
<table><thead><tr><th>Error Constant</th><th>Error Code</th><th>Description</th></tr></thead><tbody><tr><td><code>AdError.NO_ADAPTER_FOUND_FOR_PLACEMENT_ID</code></td><td>14</td><td>No adapter configured for specific placement ID</td></tr></tbody></table>
<p>:::tip No Migration Needed
Since error constants are unchanged, your existing error handling code will work without modifications in v6.
:::</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="native-ads">Native Ads<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#native-ads" class="hash-link" aria-label="Direct link to Native Ads" title="Direct link to Native Ads" translate="no">​</a></h2>
<p>The native ad classes have been renamed
to remove the <code>MNG</code> prefix.
The ad loading, rendering, and interaction logic remains the same.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="class-renames">Class Renames<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#class-renames" class="hash-link" aria-label="Direct link to Class Renames" title="Direct link to Class Renames" translate="no">​</a></h3>
<table><thead><tr><th>v5 (Old)</th><th>v6 (New)</th></tr></thead><tbody><tr><td><code>MNGAdsFactory</code></td><td><code>AdsFactory</code></td></tr><tr><td><code>MNGNativeObject</code></td><td><code>NativeObject</code></td></tr><tr><td><code>MNGPreference</code></td><td><code>Preference</code></td></tr><tr><td><code>MNGGender</code></td><td><code>Gender</code></td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="factory-initialization">Factory Initialization<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#factory-initialization" class="hash-link" aria-label="Direct link to Factory Initialization" title="Direct link to Factory Initialization" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="before-v5-2">Before (v5)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#before-v5-2" class="hash-link" aria-label="Direct link to Before (v5)" title="Direct link to Before (v5)" translate="no">​</a></h4>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Kotlin</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token class-name">MNGAdsFactory</span><span class="token plain"> mngAdsNativeAdsFactory </span><span class="token operator">=</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">new</span><span class="token plain"> </span><span class="token class-name">MNGAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">getActivity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">mngAdsNativeAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setPlacementId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"/YOUR_APP_ID/PLACEMENT_ID"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-kotlin codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-kotlin codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">val</span><span class="token plain"> mngAdsNativeAdsFactory </span><span class="token operator">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">MNGAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">activity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">mngAdsNativeAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setPlacementId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string-literal singleline string" style="color:rgb(255, 121, 198)">"/YOUR_APP_ID/PLACEMENT_ID"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span></span><br></div></code></pre></div></div></div></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="after-v6-2">After (v6)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#after-v6-2" class="hash-link" aria-label="Direct link to After (v6)" title="Direct link to After (v6)" translate="no">​</a></h4>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Kotlin</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token class-name">AdsFactory</span><span class="token plain"> adsNativeAdsFactory </span><span class="token operator">=</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">new</span><span class="token plain"> </span><span class="token class-name">AdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">getActivity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">adsNativeAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setPlacementId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"/YOUR_APP_ID/PLACEMENT_ID"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-kotlin codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-kotlin codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">val</span><span class="token plain"> adsNativeAdsFactory </span><span class="token operator">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">AdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">activity</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">adsNativeAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setPlacementId</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string-literal singleline string" style="color:rgb(255, 121, 198)">"/YOUR_APP_ID/PLACEMENT_ID"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span></span><br></div></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="loading-with-preferences">Loading with Preferences<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#loading-with-preferences" class="hash-link" aria-label="Direct link to Loading with Preferences" title="Direct link to Loading with Preferences" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="before-v5-3">Before (v5)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#before-v5-3" class="hash-link" aria-label="Direct link to Before (v5)" title="Direct link to Before (v5)" translate="no">​</a></h4>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Kotlin</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token class-name">MNGPreference</span><span class="token plain"> mngPreference </span><span class="token operator">=</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">new</span><span class="token plain"> </span><span class="token class-name">MNGPreference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">mngPreference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setAge</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">28</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">mngPreference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setGender</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token class-name">MNGGender</span><span class="token class-name punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token class-name">MNGGenderFemale</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">mngAdsNativeAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">loadNative</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">mngPreference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-kotlin codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-kotlin codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">val</span><span class="token plain"> mngPreference </span><span class="token operator">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">MNGPreference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">mngPreference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setAge</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">28</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">mngPreference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setGender</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">MNGGender</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">MNGGenderFemale</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">mngAdsNativeAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">loadNative</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">mngPreference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span></span><br></div></code></pre></div></div></div></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="after-v6-3">After (v6)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#after-v6-3" class="hash-link" aria-label="Direct link to After (v6)" title="Direct link to After (v6)" translate="no">​</a></h4>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Kotlin</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token class-name">Preference</span><span class="token plain"> preference </span><span class="token operator">=</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">new</span><span class="token plain"> </span><span class="token class-name">Preference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">preference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setAge</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">28</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">preference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setGender</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token class-name">Gender</span><span class="token class-name punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token class-name">GenderFemale</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">adsNativeAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">loadNative</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">preference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-kotlin codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-kotlin codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">val</span><span class="token plain"> preference </span><span class="token operator">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">Preference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">preference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setAge</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">28</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">preference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setGender</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">Gender</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">GenderFemale</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">adsNativeAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">loadNative</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">preference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span></span><br></div></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="native-ad-callbacks">Native Ad Callbacks<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#native-ad-callbacks" class="hash-link" aria-label="Direct link to Native Ad Callbacks" title="Direct link to Native Ad Callbacks" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="before-v5-4">Before (v5)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#before-v5-4" class="hash-link" aria-label="Direct link to Before (v5)" title="Direct link to Before (v5)" translate="no">​</a></h4>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Kotlin</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">mngAdsNativeAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setNativeListener</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">new</span><span class="token plain"> </span><span class="token class-name">NativeListener</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token annotation punctuation" style="color:rgb(248, 248, 242)">@Override</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">public</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">void</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">nativeObjectDidLoad</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token class-name">MNGNativeObject</span><span class="token plain"> nativeObject</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token class-name">Log</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">d</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token constant" style="color:rgb(189, 147, 249)">TAG</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Native ad loaded"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token comment" style="color:rgb(98, 114, 164)">// Use nativeObject to render your custom ad view</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain" style="display:inline-block"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token annotation punctuation" style="color:rgb(248, 248, 242)">@Override</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">public</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">void</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">nativeObjectDidFail</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token class-name">Exception</span><span class="token plain"> adsException</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token class-name">Log</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">e</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token constant" style="color:rgb(189, 147, 249)">TAG</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Native ad failed to load: "</span><span class="token plain"> </span><span class="token operator">+</span><span class="token plain"> adsException</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">toString</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-kotlin codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-kotlin codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">mngAdsNativeAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setNativeListener</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">object</span><span class="token plain"> </span><span class="token operator">:</span><span class="token plain"> NativeListener </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">override</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">fun</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">nativeObjectDidLoad</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">nativeObject</span><span class="token operator">:</span><span class="token plain"> MNGNativeObject</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        Log</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">d</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">TAG</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string-literal singleline string" style="color:rgb(255, 121, 198)">"Native ad loaded"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token comment" style="color:rgb(98, 114, 164)">// Use nativeObject to render your custom ad view</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain" style="display:inline-block"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">override</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">fun</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">nativeObjectDidFail</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">adsException</span><span class="token operator">:</span><span class="token plain"> Exception</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        Log</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">e</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">TAG</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string-literal singleline string" style="color:rgb(255, 121, 198)">"Native ad failed to load: </span><span class="token string-literal singleline interpolation interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">$</span><span class="token string-literal singleline interpolation expression">adsException</span><span class="token string-literal singleline string" style="color:rgb(255, 121, 198)">"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span></span><br></div></code></pre></div></div></div></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="after-v6-4">After (v6)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#after-v6-4" class="hash-link" aria-label="Direct link to After (v6)" title="Direct link to After (v6)" translate="no">​</a></h4>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Kotlin</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">adsNativeAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setNativeListener</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">new</span><span class="token plain"> </span><span class="token class-name">NativeListener</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token annotation punctuation" style="color:rgb(248, 248, 242)">@Override</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">public</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">void</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">nativeObjectDidLoad</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token class-name">NativeObject</span><span class="token plain"> nativeObject</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token class-name">Log</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">d</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token constant" style="color:rgb(189, 147, 249)">TAG</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Native ad loaded"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token comment" style="color:rgb(98, 114, 164)">// Use nativeObject to render your custom ad view</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain" style="display:inline-block"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token annotation punctuation" style="color:rgb(248, 248, 242)">@Override</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">public</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">void</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">nativeObjectDidFail</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token class-name">Exception</span><span class="token plain"> adsException</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token class-name">Log</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">e</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token constant" style="color:rgb(189, 147, 249)">TAG</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Native ad failed to load: "</span><span class="token plain"> </span><span class="token operator">+</span><span class="token plain"> adsException</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">toString</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-kotlin codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-kotlin codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">adsNativeAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setNativeListener</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">object</span><span class="token plain"> </span><span class="token operator">:</span><span class="token plain"> NativeListener </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">override</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">fun</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">nativeObjectDidLoad</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">nativeObject</span><span class="token operator">:</span><span class="token plain"> NativeObject</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        Log</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">d</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">TAG</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string-literal singleline string" style="color:rgb(255, 121, 198)">"Native ad loaded"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token comment" style="color:rgb(98, 114, 164)">// Use nativeObject to render your custom ad view</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain" style="display:inline-block"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">override</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">fun</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">nativeObjectDidFail</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">adsException</span><span class="token operator">:</span><span class="token plain"> Exception</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        Log</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">e</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">TAG</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string-literal singleline string" style="color:rgb(255, 121, 198)">"Native ad failed to load: </span><span class="token string-literal singleline interpolation interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">$</span><span class="token string-literal singleline interpolation expression">adsException</span><span class="token string-literal singleline string" style="color:rgb(255, 121, 198)">"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span></span><br></div></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="adchoice-position">AdChoice Position<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#adchoice-position" class="hash-link" aria-label="Direct link to AdChoice Position" title="Direct link to AdChoice Position" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="before-v5-5">Before (v5)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#before-v5-5" class="hash-link" aria-label="Direct link to Before (v5)" title="Direct link to Before (v5)" translate="no">​</a></h4>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Kotlin</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">mngPreference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setAdChoicePosition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token class-name">MNGPreference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token constant" style="color:rgb(189, 147, 249)">TOP_LEFT</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-kotlin codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-kotlin codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">mngPreference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setAdChoicePosition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">MNGPreference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">TOP_LEFT</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span></span><br></div></code></pre></div></div></div></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="after-v6-5">After (v6)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#after-v6-5" class="hash-link" aria-label="Direct link to After (v6)" title="Direct link to After (v6)" translate="no">​</a></h4>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Kotlin</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">preference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setAdChoicePosition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token class-name">Preference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token constant" style="color:rgb(189, 147, 249)">TOP_LEFT</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-kotlin codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-kotlin codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">preference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setAdChoicePosition</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">Preference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">TOP_LEFT</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span></span><br></div></code></pre></div></div></div></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="other-ad-format-classes">Other Ad Format Classes<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#other-ad-format-classes" class="hash-link" aria-label="Direct link to Other Ad Format Classes" title="Direct link to Other Ad Format Classes" translate="no">​</a></h2>
<p>The other ad format classes (<code>InterstitialAd</code>, <code>RewardedAd</code>,
<code>BannerView</code>) and their listener interfaces remain unchanged
in v6. No migration is needed for those formats.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="quick-find-and-replace-summary">Quick Find-and-Replace Summary<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#quick-find-and-replace-summary" class="hash-link" aria-label="Direct link to Quick Find-and-Replace Summary" title="Direct link to Quick Find-and-Replace Summary" translate="no">​</a></h2>
<p>For most projects, the migration can be completed
with a few find-and-replace operations:</p>
<table><thead><tr><th>Find</th><th>Replace With</th></tr></thead><tbody><tr><td><code>BlueStack.INSTANCE</code> (Java)</td><td><code>MobileAds.INSTANCE</code></td></tr><tr><td><code>BlueStack.</code> (Kotlin)</td><td><code>MobileAds.</code></td></tr><tr><td><code>BlueStackPrivacySettings</code></td><td><code>PrivacySettings</code></td></tr><tr><td><code>MNGAdsFactory</code></td><td><code>AdsFactory</code></td></tr><tr><td><code>MNGNativeObject</code></td><td><code>NativeObject</code></td></tr><tr><td><code>MNGPreference</code></td><td><code>Preference</code></td></tr><tr><td><code>MNGGender</code></td><td><code>Gender</code></td></tr><tr><td><code>MNGGender.MNGGenderUnknown</code></td><td><code>Gender.GenderUnknown</code></td></tr><tr><td><code>MNGGender.MNGGenderMale</code></td><td><code>Gender.GenderMale</code></td></tr><tr><td><code>MNGGender.MNGGenderFemale</code></td><td><code>Gender.GenderFemale</code></td></tr><tr><td><code>AdSize</code> (banner package)</td><td><code>BannerAdSize</code></td></tr></tbody></table>
<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>After running find-and-replace, build your project
and fix any remaining compiler errors.
The Android Studio compiler will flag any references
to the old class names that were missed.</p></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="need-help">Need Help?<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-android#need-help" class="hash-link" aria-label="Direct link to Need Help?" title="Direct link to Need Help?" translate="no">​</a></h2>
<p>If you encounter issues during migration,
please reach out to us.
The v5 documentation is still available
at <a class="" href="https://developers.bluestack.app/android/5.x.x/">Android v5</a> for reference.</p>]]></content>
        <author>
            <name>Md. Mustafizur Rahman</name>
        </author>
        <category label="BlueStack" term="BlueStack"/>
        <category label="SDK" term="SDK"/>
        <category label="Android" term="Android"/>
        <category label="Migration" term="Migration"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[iOS Migration Guide — BlueStack SDK v5 to v6]]></title>
        <id>https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios</id>
        <link href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios"/>
        <updated>2026-03-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This guide covers the breaking changes introduced in]]></summary>
        <content type="html"><![CDATA[<p>This guide covers the breaking changes introduced in
BlueStack SDK v6.0.0 for iOS and explains how to update
your existing v5 integration.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="overview">Overview<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#overview" class="hash-link" aria-label="Direct link to Overview" title="Direct link to Overview" translate="no">​</a></h2>
<p>BlueStack SDK v6 introduces an update that removes the
<code>BlueStack</code> and <code>MNG</code> prefixes from all public API classes
and constants. The underlying functionality remains the same —
only the names have changed. This makes the SDK more neutral
and easier to integrate across different publishing environments.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="sdk-initialization">SDK Initialization<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#sdk-initialization" class="hash-link" aria-label="Direct link to SDK Initialization" title="Direct link to SDK Initialization" translate="no">​</a></h2>
<p>The main entry point for initializing the SDK has been
renamed from <code>BlueStack</code> to <code>MobileAds</code>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="before-v5">Before (v5)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#before-v5" class="hash-link" aria-label="Direct link to Before (v5)" title="Direct link to Before (v5)" translate="no">​</a></h3>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Objective C</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Swift</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-objectivec codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-objectivec codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token operator">-</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">BOOL</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">application</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">UIApplication </span><span class="token operator">*</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">application didFinishLaunchingWithOptions</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">NSDictionary </span><span class="token operator">*</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">launchOptions </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">BlueStack sharedInstance</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> initializeWithAppID</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token string" style="color:rgb(255, 121, 198)">@"YOUR_APP_ID_HERE"</span><span class="token plain"> completion</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token operator">^</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">InitializationStatus </span><span class="token operator">*</span><span class="token plain"> _Nonnull initializationStatus</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain" style="display:inline-block"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> YES</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-swift codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-swift codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">func</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">application</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token omit keyword" style="color:rgb(189, 147, 249);font-style:italic">_</span><span class="token plain"> application</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token class-name">UIApplication</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> didFinishLaunchingWithOptions launchOptions</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token class-name">UIApplication</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token class-name">LaunchOptionsKey</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">Any</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token operator">?</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">-&gt;</span><span class="token plain"> </span><span class="token class-name">Bool</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token class-name">BlueStack</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">sharedInstance</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">initialize</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">appID</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"YOUR_APP_ID_HERE"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"> initializationStatus </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">in</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token boolean">true</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span><br></div></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="after-v6">After (v6)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#after-v6" class="hash-link" aria-label="Direct link to After (v6)" title="Direct link to After (v6)" translate="no">​</a></h3>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Objective C</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Swift</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-objectivec codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-objectivec codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token operator">-</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">BOOL</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">application</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">UIApplication </span><span class="token operator">*</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">application didFinishLaunchingWithOptions</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">NSDictionary </span><span class="token operator">*</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">launchOptions </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">BLSMobileAds sharedInstance</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> initializeWithAppID</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token string" style="color:rgb(255, 121, 198)">@"YOUR_APP_ID_HERE"</span><span class="token plain"> completion</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token operator">^</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">InitializationStatus </span><span class="token operator">*</span><span class="token plain"> _Nonnull initializationStatus</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain" style="display:inline-block"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> YES</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-swift codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-swift codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">func</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">application</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token omit keyword" style="color:rgb(189, 147, 249);font-style:italic">_</span><span class="token plain"> application</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token class-name">UIApplication</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> didFinishLaunchingWithOptions launchOptions</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token class-name">UIApplication</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token class-name">LaunchOptionsKey</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">Any</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token operator">?</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">-&gt;</span><span class="token plain"> </span><span class="token class-name">Bool</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token class-name">MobileAds</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">sharedInstance</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">initialize</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">appID</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"YOUR_APP_ID_HERE"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"> initializationStatus </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">in</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token boolean">true</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span><br></div></code></pre></div></div></div></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="privacy-settings">Privacy Settings<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#privacy-settings" class="hash-link" aria-label="Direct link to Privacy Settings" title="Direct link to Privacy Settings" translate="no">​</a></h2>
<p>The privacy settings class has been renamed
from <code>BlueStackPrivacySettings</code> to <code>PrivacySettings</code>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="before-v5-1">Before (v5)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#before-v5-1" class="hash-link" aria-label="Direct link to Before (v5)" title="Direct link to Before (v5)" translate="no">​</a></h3>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Objective C</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Swift</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-objectivec codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-objectivec codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">BlueStackPrivacySettings setIsAgeRestrictedUser</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain">YES</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">BlueStackPrivacySettings setUserOptout</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain">YES</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-swift codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-swift codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token class-name">BlueStackPrivacySettings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setIsAgeRestrictedUser</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token class-name">BlueStackPrivacySettings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setUserOptout</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span></span><br></div></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="after-v6-1">After (v6)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#after-v6-1" class="hash-link" aria-label="Direct link to After (v6)" title="Direct link to After (v6)" translate="no">​</a></h3>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Objective C</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Swift</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-objectivec codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-objectivec codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">PrivacySettings setIsAgeRestrictedUser</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain">YES</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">PrivacySettings setUserOptout</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain">YES</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-swift codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-swift codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token class-name">PrivacySettings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setIsAgeRestrictedUser</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token class-name">PrivacySettings</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">setUserOptout</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span></span><br></div></code></pre></div></div></div></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="error-handling">Error Handling<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#error-handling" class="hash-link" aria-label="Direct link to Error Handling" title="Direct link to Error Handling" translate="no">​</a></h2>
<p>Error classes and constants have been renamed
to remove the <code>BlueStack</code> prefix.</p>
<table><thead><tr><th>v5</th><th>v6</th></tr></thead><tbody><tr><td><code>BlueStackError</code></td><td><code>AdError</code></td></tr><tr><td><code>BlueStackErrorCode</code></td><td><code>AdErrorCode</code></td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="error-constants">Error Constants<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#error-constants" class="hash-link" aria-label="Direct link to Error Constants" title="Direct link to Error Constants" translate="no">​</a></h3>
<p>All error constants have been renamed
from the <code>BlueStack*</code> prefix to the <code>AdError*</code> prefix:</p>
<table><thead><tr><th>v5 Constant</th><th>v6 Constant</th></tr></thead><tbody><tr><td><code>BlueStackErrorWrongPlacement</code></td><td><code>AdErrorWrongPlacement</code></td></tr><tr><td><code>BlueStackErrorAdServer</code></td><td><code>AdErrorAdServer</code></td></tr><tr><td><code>BlueStackErrorDataAdServer</code></td><td><code>AdErrorDataAdServer</code></td></tr><tr><td><code>BlueStackErrorSDKUninitialized</code></td><td><code>AdErrorSDKUninitialized</code></td></tr><tr><td><code>BlueStackErrorCappedRequest</code></td><td><code>AdErrorCappedRequest</code></td></tr><tr><td><code>BlueStackErrorLockedPlacement</code></td><td><code>AdErrorLockedPlacement</code></td></tr><tr><td><code>BlueStackErrorBusyFactory</code></td><td><code>AdErrorBusyFactory</code></td></tr><tr><td><code>BlueStackErrorBusy</code></td><td><code>AdErrorBusy</code></td></tr><tr><td><code>BlueStackErrorUnallowedBackgroundRequest</code></td><td><code>AdErrorUnallowedBackgroundRequest</code></td></tr><tr><td><code>BlueStackErrorNoAds</code></td><td><code>AdErrorNoAds</code></td></tr><tr><td><code>MAdvertiseErrorInterstitialCooldown</code></td><td><code>AdErrorInterstitialCooldown</code></td></tr><tr><td><code>BlueStackErrorAlreadyShownInterstitial</code></td><td><code>AdErrorAlreadyShownInterstitial</code></td></tr><tr><td><code>BlueStackErrorRequestTimedOut</code></td><td><code>AdErrorRequestTimedOut</code></td></tr><tr><td><code>BlueStackErrorMissingViewController</code></td><td><code>AdErrorMissingViewController</code></td></tr><tr><td><code>BlueStackErrorUnableToDisplayAd</code></td><td><code>AdErrorUnableToDisplayAd</code></td></tr><tr><td><code>BlueStackErrorAdExpired</code></td><td><code>AdErrorAdExpired</code></td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-error-codes-in-v6">New Error Codes in v6<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#new-error-codes-in-v6" class="hash-link" aria-label="Direct link to New Error Codes in v6" title="Direct link to New Error Codes in v6" translate="no">​</a></h3>
<p>The following error codes are new in v6
and do not have v5 equivalents:</p>
<table><thead><tr><th>Constant</th><th>Description</th></tr></thead><tbody><tr><td><code>AdErrorNoInternet</code></td><td>No internet connection available.</td></tr><tr><td><code>AdErrorAlreadyShownAppOpen</code></td><td>An app open ad is already being displayed.</td></tr><tr><td><code>AdErrorNoAdapterFoundForPlacement</code></td><td>No mediation adapter found for the placement.</td></tr><tr><td><code>AdErrorAdapterClassNotFound</code></td><td>The adapter class could not be found.</td></tr><tr><td><code>AdErrorInternal</code></td><td>An unexpected internal error occurred.</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="before-v5-2">Before (v5)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#before-v5-2" class="hash-link" aria-label="Direct link to Before (v5)" title="Direct link to Before (v5)" translate="no">​</a></h3>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Objective C</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Swift</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-objectivec codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-objectivec codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token operator">-</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">void</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">bannerView</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">BannerView </span><span class="token operator">*</span><span class="token plain"> _Nonnull</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">bannerView didFailedToLoadWithError</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">NSError </span><span class="token operator">*</span><span class="token plain"> _Nonnull</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">error </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"> </span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">switch</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">error</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">code</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> BlueStackErrorWrongPlacement</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token function" style="color:rgb(80, 250, 123)">NSLog</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">@"Wrong placement Id. %@"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> error</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">localizedDescription</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">break</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> BlueStackErrorSDKUninitialized</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token function" style="color:rgb(80, 250, 123)">NSLog</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">@"BlueStackSDK is not initialized. %@"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> error</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">localizedDescription</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">break</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">default</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token function" style="color:rgb(80, 250, 123)">NSLog</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">@"Unhandled error"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">break</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-swift codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-swift codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">func</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">onFailedToLoad</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token omit keyword" style="color:rgb(189, 147, 249);font-style:italic">_</span><span class="token plain"> bannerView</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token class-name">BlueStackSDK</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token class-name">BannerView</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token omit keyword" style="color:rgb(189, 147, 249);font-style:italic">_</span><span class="token plain"> error</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> any </span><span class="token class-name">Error</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">guard</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">let</span><span class="token plain"> error </span><span class="token operator">=</span><span class="token plain"> error </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">as</span><span class="token operator">?</span><span class="token plain"> </span><span class="token class-name">BlueStackError</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">let</span><span class="token plain"> errorCode </span><span class="token operator">=</span><span class="token plain"> </span><span class="token class-name">BlueStackErrorCode</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">rawValue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> error</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">code</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">else</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">switch</span><span class="token plain"> errorCode </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token class-name">BlueStackErrorWrongPlacement</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token function" style="color:rgb(80, 250, 123)">print</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"Wrong placement Id. </span><span class="token string-literal interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">\(</span><span class="token string-literal interpolation">error</span><span class="token string-literal interpolation punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token string-literal interpolation">localizedDescription</span><span class="token string-literal interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token class-name">BlueStackErrorSDKUninitialized</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token function" style="color:rgb(80, 250, 123)">print</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"BlueStackSDK is not initialized. </span><span class="token string-literal interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">\(</span><span class="token string-literal interpolation">error</span><span class="token string-literal interpolation punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token string-literal interpolation">localizedDescription</span><span class="token string-literal interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">default</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token function" style="color:rgb(80, 250, 123)">print</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"Unhandled error. </span><span class="token string-literal interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">\(</span><span class="token string-literal interpolation">error</span><span class="token string-literal interpolation punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token string-literal interpolation">localizedDescription</span><span class="token string-literal interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span><br></div></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="after-v6-2">After (v6)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#after-v6-2" class="hash-link" aria-label="Direct link to After (v6)" title="Direct link to After (v6)" translate="no">​</a></h3>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Objective C</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Swift</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-objectivec codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-objectivec codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token operator">-</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">void</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">bannerView</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">BLSBannerView </span><span class="token operator">*</span><span class="token plain"> _Nonnull</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">bannerView didFailedToLoadWithError</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">NSError </span><span class="token operator">*</span><span class="token plain"> _Nonnull</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">error </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"> </span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">switch</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">error</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">code</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> AdErrorWrongPlacement</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token function" style="color:rgb(80, 250, 123)">NSLog</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">@"Wrong placement Id. %@"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> error</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">localizedDescription</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">break</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> AdErrorSDKUninitialized</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token function" style="color:rgb(80, 250, 123)">NSLog</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">@"BlueStack SDK is not initialized. %@"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> error</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">localizedDescription</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">break</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">default</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token function" style="color:rgb(80, 250, 123)">NSLog</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">@"Unhandled error"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">break</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-swift codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-swift codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">func</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">onFailedToLoad</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token omit keyword" style="color:rgb(189, 147, 249);font-style:italic">_</span><span class="token plain"> bannerView</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token class-name">BlueStackSDK</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token class-name">BannerView</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token omit keyword" style="color:rgb(189, 147, 249);font-style:italic">_</span><span class="token plain"> error</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> any </span><span class="token class-name">Error</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">guard</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">let</span><span class="token plain"> error </span><span class="token operator">=</span><span class="token plain"> error </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">as</span><span class="token operator">?</span><span class="token plain"> </span><span class="token class-name">AdError</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">let</span><span class="token plain"> errorCode </span><span class="token operator">=</span><span class="token plain"> </span><span class="token class-name">AdErrorCode</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">rawValue</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> error</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">code</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">else</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">switch</span><span class="token plain"> errorCode </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">wrongPlacement</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token function" style="color:rgb(80, 250, 123)">print</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"Wrong placement Id. </span><span class="token string-literal interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">\(</span><span class="token string-literal interpolation">error</span><span class="token string-literal interpolation punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token string-literal interpolation">localizedDescription</span><span class="token string-literal interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">case</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">sdkUninitialized</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token function" style="color:rgb(80, 250, 123)">print</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"BlueStack SDK is not initialized. </span><span class="token string-literal interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">\(</span><span class="token string-literal interpolation">error</span><span class="token string-literal interpolation punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token string-literal interpolation">localizedDescription</span><span class="token string-literal interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">        </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">default</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">            </span><span class="token function" style="color:rgb(80, 250, 123)">print</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"Unhandled error. </span><span class="token string-literal interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">\(</span><span class="token string-literal interpolation">error</span><span class="token string-literal interpolation punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token string-literal interpolation">localizedDescription</span><span class="token string-literal interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span><br></div></code></pre></div></div></div></div></div>
<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Note that the Swift enum cases have also been simplified.
For example, <code>.BlueStackErrorWrongPlacement</code> is now <code>.wrongPlacement</code>.</p></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="native-ads">Native Ads<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#native-ads" class="hash-link" aria-label="Direct link to Native Ads" title="Direct link to Native Ads" translate="no">​</a></h2>
<p>The native ad classes and delegate protocols have been renamed
to remove the <code>MNG</code> prefix.
The ad loading, rendering, and interaction logic remains the same.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="class-and-protocol-renames">Class and Protocol Renames<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#class-and-protocol-renames" class="hash-link" aria-label="Direct link to Class and Protocol Renames" title="Direct link to Class and Protocol Renames" translate="no">​</a></h3>
<table><thead><tr><th>v5 (Old)</th><th>v6 (New)</th></tr></thead><tbody><tr><td><code>MNGAdsSDKFactory</code></td><td><code>AdsSDKFactory</code></td></tr><tr><td><code>MNGAdsAdapter</code></td><td><code>AdsAdapter</code></td></tr><tr><td><code>MNGNAtiveObject</code></td><td><code>NativeObject</code></td></tr><tr><td><code>MNGPreference</code></td><td><code>Preference</code></td></tr><tr><td><code>MNGAdsAdapterNativeDelegate</code></td><td><code>AdsAdapterNativeDelegate</code></td></tr><tr><td><code>MNGDisplayType</code></td><td><code>DisplayType</code></td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="factory-initialization">Factory Initialization<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#factory-initialization" class="hash-link" aria-label="Direct link to Factory Initialization" title="Direct link to Factory Initialization" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="before-v5-3">Before (v5)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#before-v5-3" class="hash-link" aria-label="Direct link to Before (v5)" title="Direct link to Before (v5)" translate="no">​</a></h4>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Objective C</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Swift</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-objectivec codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-objectivec codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">nativeAdsFactory </span><span class="token operator">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">MNGAdsSDKFactory alloc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> init</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">nativeAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">nativeDelegate </span><span class="token operator">=</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">self</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">nativeAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">placementId </span><span class="token operator">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">@"/YOUR_APP_ID/PLACEMENT_ID"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-swift codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-swift codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">nativeAdFactory </span><span class="token operator">=</span><span class="token plain"> </span><span class="token class-name">MNGAdsSDKFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">nativeAdFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">nativeDelegate </span><span class="token operator">=</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">self</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">nativeAdFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">placementId </span><span class="token operator">=</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"/YOUR_APP_ID/PLACEMENT_ID"</span></span><br></div></code></pre></div></div></div></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="after-v6-3">After (v6)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#after-v6-3" class="hash-link" aria-label="Direct link to After (v6)" title="Direct link to After (v6)" translate="no">​</a></h4>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Objective C</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Swift</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-objectivec codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-objectivec codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">nativeAdsFactory </span><span class="token operator">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">AdsSDKFactory alloc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> init</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">nativeAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">nativeDelegate </span><span class="token operator">=</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">self</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">nativeAdsFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">placementId </span><span class="token operator">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">@"/YOUR_APP_ID/PLACEMENT_ID"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-swift codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-swift codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">nativeAdFactory </span><span class="token operator">=</span><span class="token plain"> </span><span class="token class-name">AdsSDKFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">nativeAdFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">nativeDelegate </span><span class="token operator">=</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">self</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">nativeAdFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">placementId </span><span class="token operator">=</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"/YOUR_APP_ID/PLACEMENT_ID"</span></span><br></div></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="loading-with-preferences">Loading with Preferences<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#loading-with-preferences" class="hash-link" aria-label="Direct link to Loading with Preferences" title="Direct link to Loading with Preferences" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="before-v5-4">Before (v5)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#before-v5-4" class="hash-link" aria-label="Direct link to Before (v5)" title="Direct link to Before (v5)" translate="no">​</a></h4>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Objective C</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Swift</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-objectivec codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-objectivec codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">MNGPreference </span><span class="token operator">*</span><span class="token plain">preferences </span><span class="token operator">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">MNGPreference alloc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> init</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">nativeAdsFactory loadNativeWithPreferences</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain">preferences</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-swift codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-swift codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">let</span><span class="token plain"> preferences </span><span class="token operator">=</span><span class="token plain"> </span><span class="token class-name">MNGPreference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">nativeAdFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">loadNative</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">withPreferences</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> preferences</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span></span><br></div></code></pre></div></div></div></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="after-v6-4">After (v6)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#after-v6-4" class="hash-link" aria-label="Direct link to After (v6)" title="Direct link to After (v6)" translate="no">​</a></h4>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Objective C</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Swift</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-objectivec codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-objectivec codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">Preference </span><span class="token operator">*</span><span class="token plain">preferences </span><span class="token operator">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">Preference alloc</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> init</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">nativeAdsFactory loadNativeWithPreferences</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain">preferences</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-swift codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-swift codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">let</span><span class="token plain"> preferences </span><span class="token operator">=</span><span class="token plain"> </span><span class="token class-name">Preference</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">nativeAdFactory</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">loadNative</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">withPreferences</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> preferences</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span></span><br></div></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="delegate-callbacks">Delegate Callbacks<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#delegate-callbacks" class="hash-link" aria-label="Direct link to Delegate Callbacks" title="Direct link to Delegate Callbacks" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="before-v5-5">Before (v5)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#before-v5-5" class="hash-link" aria-label="Direct link to Before (v5)" title="Direct link to Before (v5)" translate="no">​</a></h4>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Objective C</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Swift</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-objectivec codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-objectivec codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token operator">-</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">void</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">adsAdapter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">MNGAdsAdapter </span><span class="token operator">*</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">adsAdapter nativeObjectDidLoad</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">MNGNAtiveObject </span><span class="token operator">*</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">nativeObject </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token function" style="color:rgb(80, 250, 123)">NSLog</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">@"Native ad loaded"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token comment" style="color:rgb(98, 114, 164)">// Use nativeObject to render your custom ad view</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain" style="display:inline-block"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token operator">-</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">void</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">adsAdapter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">MNGAdsAdapter </span><span class="token operator">*</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">adsAdapter nativeObjectDidFailWithError</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">NSError </span><span class="token operator">*</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">error withCover</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">BOOL</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">cover </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token function" style="color:rgb(80, 250, 123)">NSLog</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">@"Native ad failed to load: %@"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> error</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">localizedDescription</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-swift codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-swift codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">func</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">adsAdapter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token omit keyword" style="color:rgb(189, 147, 249);font-style:italic">_</span><span class="token plain"> adsAdapter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token class-name">MNGAdsAdapter</span><span class="token operator">!</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> nativeObjectDidLoad nativeObject</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token class-name">MNGNAtiveObject</span><span class="token operator">!</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token function" style="color:rgb(80, 250, 123)">print</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"Native ad loaded"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token comment" style="color:rgb(98, 114, 164)">// Use nativeObject to render your custom ad view</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain" style="display:inline-block"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">func</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">adsAdapter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token omit keyword" style="color:rgb(189, 147, 249);font-style:italic">_</span><span class="token plain"> adsAdapter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token class-name">MNGAdsAdapter</span><span class="token operator">!</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> nativeObjectDidFailWithError error</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token class-name">Error</span><span class="token operator">!</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> withCover cover</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token class-name">Bool</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token function" style="color:rgb(80, 250, 123)">print</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"Native ad failed to load: </span><span class="token string-literal interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">\(</span><span class="token string-literal interpolation">error</span><span class="token string-literal interpolation punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token string-literal interpolation">localizedDescription</span><span class="token string-literal interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span><br></div></code></pre></div></div></div></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="after-v6-5">After (v6)<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#after-v6-5" class="hash-link" aria-label="Direct link to After (v6)" title="Direct link to After (v6)" translate="no">​</a></h4>
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Objective C</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Swift</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-objectivec codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-objectivec codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token operator">-</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">void</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">adsAdapter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">AdsAdapter </span><span class="token operator">*</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">adsAdapter nativeObjectDidLoad</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">NativeObject </span><span class="token operator">*</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">nativeObject </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token function" style="color:rgb(80, 250, 123)">NSLog</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">@"Native ad loaded"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token comment" style="color:rgb(98, 114, 164)">// Use nativeObject to render your custom ad view</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain" style="display:inline-block"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token operator">-</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">void</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">adsAdapter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">AdsAdapter </span><span class="token operator">*</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">adsAdapter nativeObjectDidFailWithError</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">NSError </span><span class="token operator">*</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">error withCover</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">BOOL</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">cover </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token function" style="color:rgb(80, 250, 123)">NSLog</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">@"Native ad failed to load: %@"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> error</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">localizedDescription</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span><br></div></code></pre></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-swift codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-swift codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm" style="counter-reset:line-count 0"><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">func</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">adsAdapter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token omit keyword" style="color:rgb(189, 147, 249);font-style:italic">_</span><span class="token plain"> adsAdapter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token class-name">AdsAdapter</span><span class="token operator">!</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> nativeObjectDidLoad nativeObject</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token class-name">NativeObject</span><span class="token operator">!</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token function" style="color:rgb(80, 250, 123)">print</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"Native ad loaded"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token comment" style="color:rgb(98, 114, 164)">// Use nativeObject to render your custom ad view</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain" style="display:inline-block"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">func</span><span class="token plain"> </span><span class="token function-definition function" style="color:rgb(80, 250, 123)">adsAdapter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token omit keyword" style="color:rgb(189, 147, 249);font-style:italic">_</span><span class="token plain"> adsAdapter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token class-name">AdsAdapter</span><span class="token operator">!</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> nativeObjectDidFailWithError error</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token class-name">Error</span><span class="token operator">!</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> withCover cover</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token class-name">Bool</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">    </span><span class="token function" style="color:rgb(80, 250, 123)">print</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"Native ad failed to load: </span><span class="token string-literal interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">\(</span><span class="token string-literal interpolation">error</span><span class="token string-literal interpolation punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token string-literal interpolation">localizedDescription</span><span class="token string-literal interpolation-punctuation punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span></span><br></div><div class="token-line codeLine_lJS_" style="color:#F8F8F2"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span><br></div></code></pre></div></div></div></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="other-ad-format-classes">Other Ad Format Classes<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#other-ad-format-classes" class="hash-link" aria-label="Direct link to Other Ad Format Classes" title="Direct link to Other Ad Format Classes" translate="no">​</a></h2>
<p>The other ad format classes (<code>InterstitialAd</code>, <code>RewardedAd</code>,
<code>BannerView</code>) and their delegate protocols remain unchanged
in v6. No migration is needed for those formats.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="quick-find-and-replace-summary">Quick Find-and-Replace Summary<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#quick-find-and-replace-summary" class="hash-link" aria-label="Direct link to Quick Find-and-Replace Summary" title="Direct link to Quick Find-and-Replace Summary" translate="no">​</a></h2>
<p>For most projects, the migration can be completed
with a few find-and-replace operations:</p>
<table><thead><tr><th>Find</th><th>Replace With</th></tr></thead><tbody><tr><td><code>BlueStack.sharedInstance</code></td><td><code>MobileAds.sharedInstance</code></td></tr><tr><td><code>BlueStackPrivacySettings</code></td><td><code>PrivacySettings</code></td></tr><tr><td><code>BlueStackError</code> (class)</td><td><code>AdError</code></td></tr><tr><td><code>BlueStackErrorCode</code></td><td><code>AdErrorCode</code></td></tr><tr><td><code>BlueStackError</code> (constant prefix)</td><td><code>AdError</code></td></tr><tr><td><code>MAdvertiseError</code></td><td><code>AdError</code></td></tr><tr><td><code>MNGAdsSDKFactory</code></td><td><code>AdsSDKFactory</code></td></tr><tr><td><code>MNGAdsAdapter</code></td><td><code>AdsAdapter</code></td></tr><tr><td><code>MNGNAtiveObject</code></td><td><code>NativeObject</code></td></tr><tr><td><code>MNGPreference</code></td><td><code>Preference</code></td></tr><tr><td><code>MNGAdsAdapterNativeDelegate</code></td><td><code>AdsAdapterNativeDelegate</code></td></tr><tr><td><code>MNGDisplayType</code></td><td><code>DisplayType</code></td></tr></tbody></table>
<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>After running find-and-replace, build your project
and fix any remaining compiler errors.
The Xcode compiler will flag any references
to the old class names that were missed.</p></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="need-help">Need Help?<a href="https://developers.bluestack.app/blog/bluestack-sdk-6_0_0/migration-guide-ios#need-help" class="hash-link" aria-label="Direct link to Need Help?" title="Direct link to Need Help?" translate="no">​</a></h2>
<p>If you encounter issues during migration,
please reach out to us.
The v5 documentation is still available
at <a class="" href="https://developers.bluestack.app/ios/5.x.x/">iOS v5</a> for reference.</p>]]></content>
        <author>
            <name>Md. Shadman Sakib</name>
        </author>
        <category label="BlueStack" term="BlueStack"/>
        <category label="SDK" term="SDK"/>
        <category label="iOS" term="iOS"/>
        <category label="Migration" term="Migration"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[BlueStackSDK 5.4.0 — Android & iOS Release Notes]]></title>
        <id>https://developers.bluestack.app/blog/bluestack-sdk-5.4.0</id>
        <link href="https://developers.bluestack.app/blog/bluestack-sdk-5.4.0"/>
        <updated>2026-01-23T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[BlueStackSDK 5.4.0 Release Notes]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="bluestacksdk-540-release-notes">BlueStackSDK 5.4.0 Release Notes<a href="https://developers.bluestack.app/blog/bluestack-sdk-5.4.0#bluestacksdk-540-release-notes" class="hash-link" aria-label="Direct link to BlueStackSDK 5.4.0 Release Notes" title="Direct link to BlueStackSDK 5.4.0 Release Notes" translate="no">​</a></h2>
<p>We're excited to announce the release of <strong>BlueStackSDK version 5.4.0</strong> for both <strong>Android</strong> and <strong>iOS</strong>.
This release focuses on enhancing our mediation capabilities and improving the overall adapter architecture.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="highlights">Highlights<a href="https://developers.bluestack.app/blog/bluestack-sdk-5.4.0#highlights" class="hash-link" aria-label="Direct link to Highlights" title="Direct link to Highlights" translate="no">​</a></h2>
<ul>
<li class=""><strong>Enhanced Mediation:</strong> Significant improvements to adapter support and bidding separation for better flexibility.</li>
<li class=""><strong>Improved Stability:</strong> Continued focus on minor fixes and internal refactors for a more robust SDK.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="changes">Changes<a href="https://developers.bluestack.app/blog/bluestack-sdk-5.4.0#changes" class="hash-link" aria-label="Direct link to Changes" title="Direct link to Changes" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="android">Android<a href="https://developers.bluestack.app/blog/bluestack-sdk-5.4.0#android" class="hash-link" aria-label="Direct link to Android" title="Direct link to Android" translate="no">​</a></h3>
<ul>
<li class=""><strong>Added:</strong>
<ul>
<li class="">Introduced <code>Validator</code> interface and <code>ValidationError</code> data class for improved data validation.</li>
<li class="">Added necessary classes to support new adapter implementations.</li>
</ul>
</li>
<li class=""><strong>Updated:</strong>
<ul>
<li class="">Enhanced Ad Presenter support for adapters, streamlining ad presentation logic.</li>
</ul>
</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ios">iOS<a href="https://developers.bluestack.app/blog/bluestack-sdk-5.4.0#ios" class="hash-link" aria-label="Direct link to iOS" title="Direct link to iOS" translate="no">​</a></h3>
<ul>
<li class=""><strong>Added:</strong>
<ul>
<li class="">Separated bidding adapter from the core SDK, allowing for more modular and flexible bidding integrations.</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-to-upgrade">How to upgrade<a href="https://developers.bluestack.app/blog/bluestack-sdk-5.4.0#how-to-upgrade" class="hash-link" aria-label="Direct link to How to upgrade" title="Direct link to How to upgrade" translate="no">​</a></h2>
<p>Update your project dependencies to BlueStackSDK 5.4.0 and the corresponding mediation adapters:</p>
<div class="language-groovy codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-groovy codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)">// Android</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">dependencies </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    implementation </span><span class="token interpolation-string string" style="color:rgb(255, 121, 198)">"com.azerion:bluestack-sdk-core:5.4.0"</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    implementation </span><span class="token string" style="color:rgb(255, 121, 198)">'com.azerion:bluestack-mediation-bidding:5.4.0.0'</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token comment" style="color:rgb(98, 114, 164)">// Update other mediation adapters as needed, e.g., Google, Equativ</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token comment" style="color:rgb(98, 114, 164)">// implementation 'com.azerion:bluestack-mediation-google:X.Y.Z.A'</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token comment" style="color:rgb(98, 114, 164)">// implementation 'com.azerion:bluestack-mediation-equativ:X.Y.Z.A'</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></div></code></pre></div></div>
<div class="language-ruby codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-ruby codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"># iOS</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">pod </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">'BlueStackSDK'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">'5.4.0'</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">pod </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">'BlueStackBiddingAdapter'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">'5.4.0'</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># Update other mediation adapters as needed, e.g., Google, Equativ</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># pod 'BlueStackGoogleAdapter', '&gt;= X.Y.Z'</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># pod 'BlueStackEquativAdapter', '&gt;= X.Y.Z'</span><br></div></code></pre></div></div>
<p>For exact artifact names and latest versions, <strong>always</strong> consult the Android and iOS mediation documentation linked above.</p>
<hr>
<p>If you encounter issues or have questions, please reach out to us. We'll continue to iterate based on your feedback.</p>]]></content>
        <author>
            <name>Ale Bles</name>
            <uri>https://ale.bles.nu/</uri>
        </author>
        <category label="BlueStackSDK" term="BlueStackSDK"/>
        <category label="Android" term="Android"/>
        <category label="iOS" term="iOS"/>
        <category label="Release" term="Release"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[BlueStackSDK 5.3.0 — Android & iOS Release Notes]]></title>
        <id>https://developers.bluestack.app/blog/bluestack-sdk-5.3.0</id>
        <link href="https://developers.bluestack.app/blog/bluestack-sdk-5.3.0"/>
        <updated>2025-10-08T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[We're releasing BlueStackSDK 5.3.0]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="were-releasing-bluestacksdk-530">We're releasing BlueStackSDK 5.3.0<a href="https://developers.bluestack.app/blog/bluestack-sdk-5.3.0#were-releasing-bluestacksdk-530" class="hash-link" aria-label="Direct link to We're releasing BlueStackSDK 5.3.0" title="Direct link to We're releasing BlueStackSDK 5.3.0" translate="no">​</a></h2>
<p>We're releasing <strong>BlueStackSDK version 5.3.0</strong> for both <strong>Android</strong> and <strong>iOS</strong>.
This release includes stability improvements, minor fixes, and compatibility updates across ad formats.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="highlights">Highlights<a href="https://developers.bluestack.app/blog/bluestack-sdk-5.3.0#highlights" class="hash-link" aria-label="Direct link to Highlights" title="Direct link to Highlights" translate="no">​</a></h2>
<ul>
<li class=""><strong>Quality &amp; stability</strong>: Minor bug fixes, logging improvements, and internal refactors</li>
<li class=""><strong>Mediation readiness</strong>: Validated with our latest mediation adapters</li>
</ul>
<blockquote>
<p>IMPORTANT: If you use Google mediation or the BlueStack Google adapter,
you must update it alongside SDK 5.3.0. See the note below for details.</p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="changes">Changes<a href="https://developers.bluestack.app/blog/bluestack-sdk-5.3.0#changes" class="hash-link" aria-label="Direct link to Changes" title="Direct link to Changes" translate="no">​</a></h2>
<ul>
<li class="">Stability improvements across interstitial, rewarded, and banner flows</li>
<li class="">Minor fixes to lifecycle and presentation timing for fullscreen formats</li>
<li class="">Internal dependency and maintenance updates for 5.3.0 parity across Android and iOS</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="critical-note-about-the-google-adapter">Critical note about the Google adapter<a href="https://developers.bluestack.app/blog/bluestack-sdk-5.3.0#critical-note-about-the-google-adapter" class="hash-link" aria-label="Direct link to Critical note about the Google adapter" title="Direct link to Critical note about the Google adapter" translate="no">​</a></h2>
<p>To ensure full compatibility with BlueStackSDK 5.3.0, you must also update the Google adapter packages on both platforms:</p>
<ul>
<li class="">Android: <code>bluestack-google-adapter</code> (update to a version supporting 5.3.0)</li>
<li class="">iOS: <code>BlueStackGoogleAdapter</code> (update to a version supporting 5.3.0)</li>
</ul>
<p>Refer to our documentation for the latest adapter coordinates and setup:</p>
<ul>
<li class=""><a href="https://developers.bluestack.app/android/mediation/secondary/gma" target="_blank" rel="noopener noreferrer" class="">Android — Google mediation</a></li>
<li class=""><a href="https://developers.bluestack.app/ios/mediation/secondary/gma" target="_blank" rel="noopener noreferrer" class="">iOS — Google mediation</a></li>
</ul>
<p>If you're migrating from older adapter names, see also: <a class="" href="https://developers.bluestack.app/blog/dependency_updates">Mediation Package Updates for Android and iOS</a></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-to-upgrade">How to upgrade<a href="https://developers.bluestack.app/blog/bluestack-sdk-5.3.0#how-to-upgrade" class="hash-link" aria-label="Direct link to How to upgrade" title="Direct link to How to upgrade" translate="no">​</a></h2>
<p>Update your project dependencies to BlueStackSDK 5.3.0 and the corresponding Google adapter:</p>
<div class="language-groovy codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-groovy codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)">// Android</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">dependencies </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    implementation </span><span class="token interpolation-string string" style="color:rgb(255, 121, 198)">"com.azerion:bluestack-sdk-core:5.3.0"</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    implementation </span><span class="token string" style="color:rgb(255, 121, 198)">'com.azerion:bluestack-mediation-google:5.3.0.0'</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    implementation </span><span class="token string" style="color:rgb(255, 121, 198)">'com.azerion:bluestack-mediation-bidding:5.3.0.0'</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></div></code></pre></div></div>
<div class="language-ruby codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-ruby codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"># iOS</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">pod </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">'BlueStackSDK'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">'5.3.0'</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">pod </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">'BlueStackGoogleAdapter'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">'&gt;= 5.3.0'</span><br></div></code></pre></div></div>
<p>For exact artifact names and latest versions, <strong>always</strong> consult the Android and iOS mediation documentation linked above.</p>
<hr>
<p>If you encounter issues or have questions, please reach out to us. We'll continue to iterate based on your feedback.</p>]]></content>
        <author>
            <name>Ale Bles</name>
            <uri>https://ale.bles.nu/</uri>
        </author>
        <category label="BlueStackSDK" term="BlueStackSDK"/>
        <category label="Android" term="Android"/>
        <category label="iOS" term="iOS"/>
        <category label="Release" term="Release"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[BlueStackSDK 5.2.0 — Interstitial Preloading Is Here!]]></title>
        <id>https://developers.bluestack.app/blog/bluestack-sdk-5.2.0</id>
        <link href="https://developers.bluestack.app/blog/bluestack-sdk-5.2.0"/>
        <updated>2025-07-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[We're releasing BlueStackSDK 5.2.0]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="were-releasing-bluestacksdk-520">We're releasing BlueStackSDK 5.2.0<a href="https://developers.bluestack.app/blog/bluestack-sdk-5.2.0#were-releasing-bluestacksdk-520" class="hash-link" aria-label="Direct link to We're releasing BlueStackSDK 5.2.0" title="Direct link to We're releasing BlueStackSDK 5.2.0" translate="no">​</a></h2>
<p>We're releasing <strong>BlueStackSDK version 5.2.0</strong> on <strong>Android</strong> and <strong>iOS</strong>, focusing on a significant
enhancement to how we handle interstitial ad delivery. This update introduces
<strong>preloading</strong> for both static (HTML) and VAST/Video interstitial ad formats.
This has been implemented without any changes to our public API.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="understanding-the-change">Understanding the Change<a href="https://developers.bluestack.app/blog/bluestack-sdk-5.2.0#understanding-the-change" class="hash-link" aria-label="Direct link to Understanding the Change" title="Direct link to Understanding the Change" translate="no">​</a></h2>
<p>In v5.2.0, we've integrated preloading mechanism. This means the SDK now attempts
to fetch and prepare interstitial ad assets in the background so that your ad
content becomes ready before you show the ad.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="key-technical-benefits">Key Technical Benefits<a href="https://developers.bluestack.app/blog/bluestack-sdk-5.2.0#key-technical-benefits" class="hash-link" aria-label="Direct link to Key Technical Benefits" title="Direct link to Key Technical Benefits" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>Reduced Display Latency:</strong> By having the ad creative and its necessary resources
(HTML, video assets, etc.) already downloaded and parsed, the time from calling show
to the ad being presented is significantly minimized. This is particularly
noticeable for video-based interstitial ads, where buffering can be an issue.</p>
</li>
<li class="">
<p><strong>Enhanced Reliability in Variable Network Conditions:</strong> If a user temporarily
experiences a network dip, the ad may already be loaded and ready, preventing a
failed display or a prolonged loading spinner.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="impact-on-your-implementation">Impact on Your Implementation<a href="https://developers.bluestack.app/blog/bluestack-sdk-5.2.0#impact-on-your-implementation" class="hash-link" aria-label="Direct link to Impact on Your Implementation" title="Direct link to Impact on Your Implementation" translate="no">​</a></h2>
<p>The most important takeaway for developers is that no changes are required to your
existing BlueStackSDK integration. Our public APIs remain consistent. You simply need
to update your SDK dependency to v5.2.0. The preloading logic is entirely encapsulated within the SDK.</p>
<p>BlueStackSDK v5.2.0 is a performance-focused update designed to deliver seamless and
reliable ad experience without introducing any integration complexities.</p>]]></content>
        <author>
            <name>Nagib Bin Azad (Torongo)</name>
        </author>
        <category label="BlueStackSDK" term="BlueStackSDK"/>
        <category label="Preload" term="Preload"/>
        <category label="Interstitial" term="Interstitial"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Mediation Package Updates for Android and iOS]]></title>
        <id>https://developers.bluestack.app/blog/dependency_updates</id>
        <link href="https://developers.bluestack.app/blog/dependency_updates"/>
        <updated>2025-05-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[We’ve made important updates to our mediation SDKs to improve clarity, consistency, and maintainability.]]></summary>
        <content type="html"><![CDATA[<p>We’ve made important updates to our mediation SDKs to improve clarity, consistency, and maintainability.
This includes renaming key mediation adapter packages and updating dependencies.
Below you'll find everything you need to know to migrate smoothly to the latest versions on both Android and iOS.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="android">Android<a href="https://developers.bluestack.app/blog/dependency_updates#android" class="hash-link" aria-label="Direct link to Android" title="Direct link to Android" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bluestack-medation-google">BlueStack Medation: Google<a href="https://developers.bluestack.app/blog/dependency_updates#bluestack-medation-google" class="hash-link" aria-label="Direct link to BlueStack Medation: Google" title="Direct link to BlueStack Medation: Google" translate="no">​</a></h3>
<p><strong>bluestack-mediation-gma</strong> has been renamed to <strong>bluestack-mediation-google</strong>.
If you're already using <strong>bluestack-mediation-gma</strong>, simply update your dependencies to <strong>bluestack-mediation-google</strong>,
and you're good to go.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bluestack-medation-equativ">BlueStack Medation: Equativ<a href="https://developers.bluestack.app/blog/dependency_updates#bluestack-medation-equativ" class="hash-link" aria-label="Direct link to BlueStack Medation: Equativ" title="Direct link to BlueStack Medation: Equativ" translate="no">​</a></h3>
<p><strong>bluestack-mediation-smartadserver</strong> has been renamed to <strong>bluestack-mediation-equativ</strong>.
If you're already using <strong>bluestack-mediation-smartadserver</strong>, simply update your dependencies to
<strong>bluestack-mediation-equativ</strong>, and you're good to go.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="google-mediation">Google mediation<a href="https://developers.bluestack.app/blog/dependency_updates#google-mediation" class="hash-link" aria-label="Direct link to Google mediation" title="Direct link to Google mediation" translate="no">​</a></h3>
<p>Our Google Mediation adapter is used for when Google is your main SDK, it will mediate BlueStack.
We've also changed the name of this implementation:</p>
<p><strong>bluestack-gam-adapter</strong> has been renamed to <strong>bluestack-google-adapter</strong>.
If you're already using <strong>bluestack-gam-adapter</strong>, simply update your dependencies to <strong>bluestack-google-adapter</strong>,
and follow the Yield setup described in our <a href="https://developers.bluestack.app/android/mediation/secondary/gma" target="_blank" rel="noopener noreferrer" class="">documentation</a></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="documentation">Documentation<a href="https://developers.bluestack.app/blog/dependency_updates#documentation" class="hash-link" aria-label="Direct link to Documentation" title="Direct link to Documentation" translate="no">​</a></h3>
<p>For detailed integration instructions, please refer to our documentation:</p>
<ul>
<li class=""><a href="https://developers.bluestack.app/android/mediation/primairy/supported-networks#google-mobile-ads" target="_blank" rel="noopener noreferrer" class="">Google Adapter</a></li>
<li class=""><a href="https://developers.bluestack.app/android/mediation/primairy/supported-networks#equativ" target="_blank" rel="noopener noreferrer" class="">Equativ Adapter</a></li>
<li class=""><a href="https://developers.bluestack.app/android/mediation/secondary/gma" target="_blank" rel="noopener noreferrer" class="">Google Mediation</a></li>
</ul>
<p>Stay tuned for more updates, and as always, feel free to reach out with any questions. 🚀</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="ios">iOS<a href="https://developers.bluestack.app/blog/dependency_updates#ios" class="hash-link" aria-label="Direct link to iOS" title="Direct link to iOS" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bluestack-medation-google-1">BlueStack Medation: Google<a href="https://developers.bluestack.app/blog/dependency_updates#bluestack-medation-google-1" class="hash-link" aria-label="Direct link to BlueStack Medation: Google" title="Direct link to BlueStack Medation: Google" translate="no">​</a></h3>
<p><strong>BlueStackDFPMediationAdapter</strong> has been renamed to <strong>BlueStackGoogleMediationAdapter</strong>.
If you're already using <strong>BlueStackDFPMediationAdapter</strong>, simply update your dependencies to <strong>BlueStackGoogleMediationAdapter</strong>,
and you're good to go.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bluestack-medation-equativ-1">BlueStack Medation: Equativ<a href="https://developers.bluestack.app/blog/dependency_updates#bluestack-medation-equativ-1" class="hash-link" aria-label="Direct link to BlueStack Medation: Equativ" title="Direct link to BlueStack Medation: Equativ" translate="no">​</a></h3>
<p><strong>BlueStackSASAdapter</strong> and <strong>BlueStackSASBiddingAdapter</strong> have been merged into <strong>BlueStackEquativAdapter</strong>.
If you're already using the old adapters, simply replace them with
<strong>BlueStackEquativAdapter</strong>, and you're good to go.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="google-mediation-1">Google mediation<a href="https://developers.bluestack.app/blog/dependency_updates#google-mediation-1" class="hash-link" aria-label="Direct link to Google mediation" title="Direct link to Google mediation" translate="no">​</a></h3>
<p>Our Google Mediation adapter is used for when Google is your main SDK, it will mediate BlueStack.
We've also changed the name of this implementation:</p>
<p><strong>BlueStackGMAAdapter</strong> has been renamed to <strong>BlueStackGoogleAdapter</strong>.
If you're already using <strong>BlueStackGMAAdapter</strong>, update your dependencies to <strong>BlueStackGoogleAdapter</strong>,
and follow the Yield setup described in our <a href="https://developers.bluestack.app/ios/mediation/secondary/gma" target="_blank" rel="noopener noreferrer" class="">documentation</a></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="documentation-1">Documentation<a href="https://developers.bluestack.app/blog/dependency_updates#documentation-1" class="hash-link" aria-label="Direct link to Documentation" title="Direct link to Documentation" translate="no">​</a></h3>
<p>For detailed integration instructions, please refer to our documentation:</p>
<ul>
<li class=""><a href="https://developers.bluestack.app/ios/mediation/primairy/supported-networks#google-mobile-ads" target="_blank" rel="noopener noreferrer" class="">Google Adapter</a></li>
<li class=""><a href="https://developers.bluestack.app/ios/mediation/primairy/supported-networks#equativ" target="_blank" rel="noopener noreferrer" class="">Equativ Adapter</a></li>
<li class=""><a href="https://developers.bluestack.app/ios/mediation/secondary/gma" target="_blank" rel="noopener noreferrer" class="">Google Mediation</a></li>
</ul>
<p>Stay tuned for more updates, and as always, feel free to reach out with any questions. 🚀</p>]]></content>
        <author>
            <name>Ale Bles</name>
            <uri>https://ale.bles.nu/</uri>
        </author>
        <author>
            <name>Bishnu Pada Chanda</name>
        </author>
        <author>
            <name>Md. Mustafizur Rahman</name>
        </author>
        <category label="BlueStack" term="BlueStack"/>
        <category label="Google" term="Google"/>
        <category label="Equativ" term="Equativ"/>
        <category label="Mediation" term="Mediation"/>
        <category label="Android" term="Android"/>
        <category label="iOS" term="iOS"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Introducing BlueStack SDK version 5]]></title>
        <id>https://developers.bluestack.app/blog/bluestack-sdk-5</id>
        <link href="https://developers.bluestack.app/blog/bluestack-sdk-5"/>
        <updated>2024-12-05T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[We’re thrilled to announce the launch of version 5 of the BlueStack Ads SDK!]]></summary>
        <content type="html"><![CDATA[<p>We’re thrilled to announce the launch of version 5 of the BlueStack Ads SDK!
This update brings significant improvements to the SDK's public API for <strong>Interstitial</strong>,
<strong>Rewarded Video</strong>, and <strong>Banner</strong> ad formats.
These changes are designed to give developers more flexibility and control,
while also improving the overall integration process.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="key-improvements-in-v5">Key Improvements in v5<a href="https://developers.bluestack.app/blog/bluestack-sdk-5#key-improvements-in-v5" class="hash-link" aria-label="Direct link to Key Improvements in v5" title="Direct link to Key Improvements in v5" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-streamlined-api-for-ad-integration">1. Streamlined API for Ad Integration<a href="https://developers.bluestack.app/blog/bluestack-sdk-5#1-streamlined-api-for-ad-integration" class="hash-link" aria-label="Direct link to 1. Streamlined API for Ad Integration" title="Direct link to 1. Streamlined API for Ad Integration" translate="no">​</a></h3>
<p>With version 5, we've refined the public API, making it easier than ever to integrate ads into your app.
The updated API offers a more intuitive interface for configuring, loading, and displaying ads.
Whether you’re working with interstitial, rewarded video, or banner ads, the process is now more straightforward,
reducing the amount time required to integrate the SDK.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-improved-interstitial-ads">2. Improved Interstitial Ads<a href="https://developers.bluestack.app/blog/bluestack-sdk-5#2-improved-interstitial-ads" class="hash-link" aria-label="Direct link to 2. Improved Interstitial Ads" title="Direct link to 2. Improved Interstitial Ads" translate="no">​</a></h3>
<p>Interstitial ads are an effective tool for monetizing mobile apps, and in version 5,
we've made it even easier to manage their lifecycle.
Developers now have enhanced control over the timing and behavior of interstitial ads,
allowing for more seamless user experiences without compromising revenue potential.
The new API simplifies the handling of ad loading, showing, and dismissing, ensuring better performance across devices.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-better-rewarded-video-experience">3. Better Rewarded Video Experience<a href="https://developers.bluestack.app/blog/bluestack-sdk-5#3-better-rewarded-video-experience" class="hash-link" aria-label="Direct link to 3. Better Rewarded Video Experience" title="Direct link to 3. Better Rewarded Video Experience" translate="no">​</a></h3>
<p>Rewarded video ads offer an excellent way to engage users by providing incentives in exchange for watching ads.
The improvements in v5 make the rewarded video ad flow smoother similar
to the changes we've done to the interstitial ad format.
This version also introduces improved error handling, ensuring that any issues are caught and logged,
making it easier to debug and improve app performance.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-optimized-banner-ads">4. Optimized Banner Ads<a href="https://developers.bluestack.app/blog/bluestack-sdk-5#4-optimized-banner-ads" class="hash-link" aria-label="Direct link to 4. Optimized Banner Ads" title="Direct link to 4. Optimized Banner Ads" translate="no">​</a></h3>
<p>Banner ads continue to be a staple for mobile monetization, and in this update,
we've improved how they interact with your app’s layout.
With version 5, banner ads can now be more easily customized to fit seamlessly into your app’s UI,
offering a better user experience while still maximizing ad revenue.
The new API also ensures better ad loading performance, reducing delays that could affect your app’s responsiveness.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-these-changes-matter">Why These Changes Matter<a href="https://developers.bluestack.app/blog/bluestack-sdk-5#why-these-changes-matter" class="hash-link" aria-label="Direct link to Why These Changes Matter" title="Direct link to Why These Changes Matter" translate="no">​</a></h2>
<p>Our focus in version 5 was to streamline the ad integration process, improve performance,
and enhance user experience across various ad formats.
By refining the public API for interstitial, rewarded video, and banner ads,
we’ve made it easier for developers to integrate high-performing ads
without compromising the quality of the app or the user experience.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-about-bluestack-v4-">What about BlueStack v4 ?<a href="https://developers.bluestack.app/blog/bluestack-sdk-5#what-about-bluestack-v4-" class="hash-link" aria-label="Direct link to What about BlueStack v4 ?" title="Direct link to What about BlueStack v4 ?" translate="no">​</a></h2>
<p>The old Public API as used in version 4 of the SDK is still accessible,
but it highly advised to switch to the v5 API when ever possible.
In the future we will remove the old usages.
We also have made the old documentation available on this site, you can find them here:</p>
<ul>
<li class=""><a class="" href="https://developers.bluestack.app/android/4.x.x/">Android</a></li>
<li class=""><a class="" href="https://developers.bluestack.app/ios/4.x.x/">iOS</a></li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="changes-to-documentation">Changes to Documentation<a href="https://developers.bluestack.app/blog/bluestack-sdk-5#changes-to-documentation" class="hash-link" aria-label="Direct link to Changes to Documentation" title="Direct link to Changes to Documentation" translate="no">​</a></h2>
<p>Apart from updating our SDK, we also simplified our documentation in this version 5 release:</p>
<ul>
<li class="">We've added a dedicated <a class="" href="https://developers.bluestack.app/android/privacy">Privacy and Compliance</a> section to both native platforms</li>
<li class="">Release notes have been cleaned up</li>
<li class="">We created a copy of the old v4 documentation and made it available for you on both native platforms</li>
<li class="">Error handling and error codes now have a dedicated section as well</li>
<li class="">Improved the Mediation &amp; Bidding section</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-next">What's Next?<a href="https://developers.bluestack.app/blog/bluestack-sdk-5#whats-next" class="hash-link" aria-label="Direct link to What's Next?" title="Direct link to What's Next?" translate="no">​</a></h2>
<p>As always, we are committed to providing cutting-edge solutions for app monetization.
With version 5 of our Mobile Ad SDK,
we’ve laid the groundwork for more features and enhancements in future releases.
We encourage all Publishers to upgrade to the latest version of the SDK to take advantage of these improvements
and continue to deliver the best possible experiences for their users.</p>
<p>For more details on the changes in version 5, including the full release notes,
check out our official documentation for <a class="" href="https://developers.bluestack.app/android">Android</a> and <a class="" href="https://developers.bluestack.app/ios">iOS</a>.</p>
<p>Stay tuned for more exciting updates coming soon!</p>]]></content>
        <author>
            <name>Ale Bles</name>
            <uri>https://ale.bles.nu/</uri>
        </author>
        <category label="BlueStack" term="BlueStack"/>
        <category label="SDK" term="SDK"/>
        <category label="Ad" term="Ad"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[BlueStackSDK v4.4.0 for Android]]></title>
        <id>https://developers.bluestack.app/blog/bluestack-sdk-android-4.4.0</id>
        <link href="https://developers.bluestack.app/blog/bluestack-sdk-android-4.4.0"/>
        <updated>2024-07-11T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[More Flexibility of Choosing Between Third-party Network Adapters]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="more-flexibility-of-choosing-between-third-party-network-adapters">More Flexibility of Choosing Between Third-party Network Adapters<a href="https://developers.bluestack.app/blog/bluestack-sdk-android-4.4.0#more-flexibility-of-choosing-between-third-party-network-adapters" class="hash-link" aria-label="Direct link to More Flexibility of Choosing Between Third-party Network Adapters" title="Direct link to More Flexibility of Choosing Between Third-party Network Adapters" translate="no">​</a></h2>
<p>We're thrilled to announce the latest release of our BlueStack SDK, version 4.4.0!
This update brings a modular architecture to our ad mediation framework,
making it even more flexible and developer-friendly.
With a core SDK and individual adapter SDKs for supported ad networks,
BlueStackSDK v4.4.0 gives you the option to choose and integrate only what you need,
making the ad integration process easier than before.</p>
<!-- -->
<p><img decoding="async" loading="lazy" alt="BlueStackSDK 4.4.0" src="https://developers.bluestack.app/assets/images/bluesatck_android-4_4_0-b7c5a2a6ea98cb99fbd6c5a3c6604a2f.png#gh-light-mode-only" width="791" height="723" class="img_ev3q"><img decoding="async" loading="lazy" alt="BlueStackSDK 4.4.0" src="https://developers.bluestack.app/assets/images/bluesatck_android-4_4_0-dark-be0a1b5755f6361a0e6634cec9c448b9.png#gh-dark-mode-only" width="791" height="723" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new">What's new?<a href="https://developers.bluestack.app/blog/bluestack-sdk-android-4.4.0#whats-new" class="hash-link" aria-label="Direct link to What's new?" title="Direct link to What's new?" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-modularization-for-enhanced-flexibility">1. Modularization for Enhanced Flexibility<a href="https://developers.bluestack.app/blog/bluestack-sdk-android-4.4.0#1-modularization-for-enhanced-flexibility" class="hash-link" aria-label="Direct link to 1. Modularization for Enhanced Flexibility" title="Direct link to 1. Modularization for Enhanced Flexibility" translate="no">​</a></h3>
<p>In response to developer feedback, we've modularized BlueStack SDK into following components:</p>
<ul>
<li class="">BlueStackSDK Core: This core sdk provides public APIs for showing Ads and all the essentials for waterfall logic.</li>
<li class="">Third-party Ad Network Adapters: Individual SDKs for each supported ad network
that handles integration specifics for that network.
This modular approach allows for easier updates, maintenance, and customization.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-adapter-architecture-for-simplicity">2. Adapter Architecture for Simplicity<a href="https://developers.bluestack.app/blog/bluestack-sdk-android-4.4.0#2-adapter-architecture-for-simplicity" class="hash-link" aria-label="Direct link to 2. Adapter Architecture for Simplicity" title="Direct link to 2. Adapter Architecture for Simplicity" translate="no">​</a></h3>
<p>BlueStack adapter architecture simplifies the integration process.
Developers can now integrate specific ad network adapters based on their requirements.
This also separates the third party ad network implementation from the core,
which improves the performance of the BlueStack SDK.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-improved-flexibility">3. Improved Flexibility<a href="https://developers.bluestack.app/blog/bluestack-sdk-android-4.4.0#3-improved-flexibility" class="hash-link" aria-label="Direct link to 3. Improved Flexibility" title="Direct link to 3. Improved Flexibility" translate="no">​</a></h3>
<p>With BlueStackSDK v4.4.0, now you have the power to choose.
Integrate only the ad network adapters you need, avoiding unnecessary dependencies.
This flexibility gives significant advantage, especially for apps where app size and performance is crucial.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-upgrading-to-v440">Why upgrading to v4.4.0<a href="https://developers.bluestack.app/blog/bluestack-sdk-android-4.4.0#why-upgrading-to-v440" class="hash-link" aria-label="Direct link to Why upgrading to v4.4.0" title="Direct link to Why upgrading to v4.4.0" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1reduced-app-size">1.Reduced App Size<a href="https://developers.bluestack.app/blog/bluestack-sdk-android-4.4.0#1reduced-app-size" class="hash-link" aria-label="Direct link to 1.Reduced App Size" title="Direct link to 1.Reduced App Size" translate="no">​</a></h3>
<p>By allowing developers to selectively integrate only the specific ad network adapters they need,
unnecessary dependencies are avoided. This will make the app more lightweight.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2future-proof-scalability">2.Future-Proof Scalability<a href="https://developers.bluestack.app/blog/bluestack-sdk-android-4.4.0#2future-proof-scalability" class="hash-link" aria-label="Direct link to 2.Future-Proof Scalability" title="Direct link to 2.Future-Proof Scalability" translate="no">​</a></h3>
<p>Adding or removing adapters is now a breeze! By updating your app's <code>build.gradle</code> dependencies you can easily achieve that.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="supported-third-party-network-adapters">Supported Third-party Network Adapters<a href="https://developers.bluestack.app/blog/bluestack-sdk-android-4.4.0#supported-third-party-network-adapters" class="hash-link" aria-label="Direct link to Supported Third-party Network Adapters" title="Direct link to Supported Third-party Network Adapters" translate="no">​</a></h2>
<p>BlueStack supports third-party ad network adapters, which are accessible through the Maven Central Repository.
These adapters are published under the group ID <code>com.azerion</code>. All adapters use a four-number versioning scheme.
The initial three numbers signify the BlueStack core SDK version, while the final number denotes the adapter release.
For instance, the first release of the Google Mobile Ads (GMA) adapter, built on BlueStack core <code>4.4.0</code>,
would be labeled as <code>4.4.0.0</code>. Below is a list of BlueStack-supported third-party network adapters,
each accompanied by its corresponding Maven artifact ID.</p>
<u>Please reach out to our Publishing team when you are in doubt as too inclusion of which Adapter is best for you.</u>
<table><thead><tr><th>Ad networks</th><th>Maven Artifact Id</th></tr></thead><tbody><tr><td>GAM / AdMob</td><td>bluestack-mediation-gma</td></tr><tr><td>Smart Display / Equativ</td><td>bluestack-mediation-smartadserver</td></tr><tr><td>Criteo</td><td>bluestack-mediation-criteo</td></tr><tr><td>In-app Bidding</td><td>bluestack-mediation-bidding</td></tr><tr><td>Ogury</td><td>bluestack-mediation-ogury</td></tr><tr><td>AdColony</td><td>bluestack-mediation-adcolony</td></tr><tr><td>huawei</td><td>bluestack-mediation-huawei</td></tr></tbody></table>
<p><strong>Note:</strong> In-App-Bidding has a default dependency with Amazon and Smart Display SDK.
So adding In-App-Bidding will automatically include these three SDKs.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="integrate-bluestacksdk-v440">Integrate BlueStackSDK v4.4.0<a href="https://developers.bluestack.app/blog/bluestack-sdk-android-4.4.0#integrate-bluestacksdk-v440" class="hash-link" aria-label="Direct link to Integrate BlueStackSDK v4.4.0" title="Direct link to Integrate BlueStackSDK v4.4.0" translate="no">​</a></h2>
<p><strong>Integrate BlueStackSDK Core:</strong> Add BlueStackSDK dependency in your app's <code>build.gradle</code></p>
<div class="language-groovy codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-groovy codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token plain">dependencies </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">   implementation </span><span class="token string" style="color:rgb(255, 121, 198)">'com.azerion:bluestack-sdk-core:4.4.0'</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></div></code></pre></div></div>
<p><strong>Integrate Required Adapters:</strong> Choose your required adapters from the above list
and add the dependency in your app's <code>build.gradle</code></p>
<div class="language-groovy codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-groovy codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token plain">dependencies </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">   </span><span class="token punctuation" style="color:rgb(248, 248, 242)">...</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">   implementation </span><span class="token string" style="color:rgb(255, 121, 198)">'com.azerion:bluestack-mediation-gma:4.4.0.0'</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">   implementation </span><span class="token string" style="color:rgb(255, 121, 198)">'com.azerion:bluestack-mediation-bidding:4.4.0.0'</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">   </span><span class="token punctuation" style="color:rgb(248, 248, 242)">...</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></div></code></pre></div></div>]]></content>
        <author>
            <name>Zakir Hossain</name>
        </author>
        <category label="BlueStackSDK" term="BlueStackSDK"/>
        <category label="ads" term="ads"/>
        <category label="mediation" term="mediation"/>
        <category label="bidding" term="bidding"/>
        <category label="waterfall" term="waterfall"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Introducing BlueStack SDK for React Native]]></title>
        <id>https://developers.bluestack.app/blog/bluestack-sdk-react-native-1.0.0</id>
        <link href="https://developers.bluestack.app/blog/bluestack-sdk-react-native-1.0.0"/>
        <updated>2024-06-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Announcing the Release of the React Native BlueStack SDK (v1.0.0): A New Era of Monetization for Your Apps]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="announcing-the-release-of-the-react-native-bluestack-sdk-v100-a-new-era-of-monetization-for-your-apps">Announcing the Release of the React Native BlueStack SDK (v1.0.0): A New Era of Monetization for Your Apps<a href="https://developers.bluestack.app/blog/bluestack-sdk-react-native-1.0.0#announcing-the-release-of-the-react-native-bluestack-sdk-v100-a-new-era-of-monetization-for-your-apps" class="hash-link" aria-label="Direct link to Announcing the Release of the React Native BlueStack SDK (v1.0.0): A New Era of Monetization for Your Apps" title="Direct link to Announcing the Release of the React Native BlueStack SDK (v1.0.0): A New Era of Monetization for Your Apps" translate="no">​</a></h2>
<p>We are thrilled to announce the release of the <strong>React Native BlueStack SDK</strong>!
This powerful new React Native plugin allows you to seamlessly integrate
BlueStack Ads into your React Native mobile applications.
It provides a robust and flexible way to monetize your apps on both iOS and Android platforms:
premium sales with rich media, video and innovative formats as well all standard display formats,
ensuring a smooth user experience and maximizing your revenue potential.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-choose-bluestack-ads">Why Choose BlueStack Ads?<a href="https://developers.bluestack.app/blog/bluestack-sdk-react-native-1.0.0#why-choose-bluestack-ads" class="hash-link" aria-label="Direct link to Why Choose BlueStack Ads?" title="Direct link to Why Choose BlueStack Ads?" translate="no">​</a></h2>
<p>BlueStack Ads are known for their effectiveness and versatility.
By using our SDK, you can leverage three distinct ad formats to engage users and drive monetization:</p>
<ol>
<li class="">
<p><strong>Component-Based Banner Ads</strong>:</p>
<ul>
<li class="">Display banner ads seamlessly within your app’s interface.</li>
<li class="">Easily customizable to match the look and feel of your app.</li>
<li class="">Ideal for non-intrusive, continuous ad revenue.</li>
</ul>
</li>
<li class="">
<p><strong>Full-Screen Interstitial Ads</strong>:</p>
<ul>
<li class="">Engage users with full-screen ads during natural app transitions.</li>
<li class="">Perfect for maximizing revenue during breaks or level changes.</li>
</ul>
</li>
<li class="">
<p><strong>Full-Screen Rewarded Ads</strong>:</p>
<ul>
<li class="">Offer users rewards in exchange for watching ads.</li>
<li class="">Boost user engagement by providing valuable in-app incentives.</li>
</ul>
</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="key-features">Key Features<a href="https://developers.bluestack.app/blog/bluestack-sdk-react-native-1.0.0#key-features" class="hash-link" aria-label="Direct link to Key Features" title="Direct link to Key Features" translate="no">​</a></h2>
<ul>
<li class=""><strong>Cross-Platform Support</strong>: Fully supports both iOS and Android platforms.</li>
<li class=""><strong>Easy Integration</strong>: Designed for simplicity, making it easy to get started and integrate into existing projects.</li>
<li class=""><strong>Flexible and Customizable</strong>: Tailor the appearance and behavior of ads to fit your app's design and user experience.</li>
<li class=""><strong>Comprehensive Documentation</strong>: Step-by-step guides, API references,
and example projects to help you get started quickly.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="getting-started">Getting Started<a href="https://developers.bluestack.app/blog/bluestack-sdk-react-native-1.0.0#getting-started" class="hash-link" aria-label="Direct link to Getting Started" title="Direct link to Getting Started" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="installation">Installation<a href="https://developers.bluestack.app/blog/bluestack-sdk-react-native-1.0.0#installation" class="hash-link" aria-label="Direct link to Installation" title="Direct link to Installation" translate="no">​</a></h3>
<p>To install the React Native BlueStack SDK, you can use either npm or yarn:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">npm</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">install</span><span class="token plain"> @azerion/bluestack-sdk-react-native</span><br></div></code></pre></div></div>
<p>or</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">yarn</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">add</span><span class="token plain"> @azerion/bluestack-sdk-react-native</span><br></div></code></pre></div></div>
<!-- -->
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="usage">Usage<a href="https://developers.bluestack.app/blog/bluestack-sdk-react-native-1.0.0#usage" class="hash-link" aria-label="Direct link to Usage" title="Direct link to Usage" translate="no">​</a></h3>
<p>Here's a quick example to get you started with banner ads:</p>
<div class="language-jsx codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-jsx codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token keyword module" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> </span><span class="token imports maybe-class-name">React</span><span class="token plain"> </span><span class="token keyword module" style="color:rgb(189, 147, 249);font-style:italic">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"react"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword module" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> </span><span class="token imports punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token imports"> </span><span class="token imports maybe-class-name">View</span><span class="token imports punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token imports"> </span><span class="token imports maybe-class-name">StyleSheet</span><span class="token imports"> </span><span class="token imports punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"> </span><span class="token keyword module" style="color:rgb(189, 147, 249);font-style:italic">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"react-native"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword module" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> </span><span class="token imports punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token imports"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token imports">  </span><span class="token imports maybe-class-name">BluestackSDK</span><span class="token imports punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token imports"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token imports">  </span><span class="token imports maybe-class-name">BannerAdView</span><span class="token imports punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token imports"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token imports"></span><span class="token imports punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"> </span><span class="token keyword module" style="color:rgb(189, 147, 249);font-style:italic">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"@azerion/bluestack-sdk-react-native"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">const</span><span class="token plain"> </span><span class="token function-variable function maybe-class-name" style="color:rgb(80, 250, 123)">App</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token arrow operator">=&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">  </span><span class="token keyword control-flow" style="color:rgb(189, 147, 249);font-style:italic">return</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag class-name" style="color:rgb(255, 121, 198)">View</span><span class="token tag" style="color:rgb(255, 121, 198)"> </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">style</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:rgb(248, 248, 242)">=</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)">styles</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token tag script language-javascript property-access" style="color:rgb(255, 121, 198)">container</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain-text"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain-text">      </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag class-name" style="color:rgb(255, 121, 198)">BannerAdView</span><span class="token tag" style="color:rgb(255, 121, 198)"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token tag" style="color:rgb(255, 121, 198)">        </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">type</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(248, 248, 242)">=</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag attr-value" style="color:rgb(255, 121, 198)">standard</span><span class="token tag attr-value punctuation" style="color:rgb(248, 248, 242)">"</span><span class="token tag" style="color:rgb(255, 121, 198)"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token tag" style="color:rgb(255, 121, 198)">        </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">shouldLoadWhenReady</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:rgb(248, 248, 242)">=</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token tag script language-javascript boolean" style="color:rgb(255, 121, 198)">true</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token tag" style="color:rgb(255, 121, 198)"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token tag" style="color:rgb(255, 121, 198)">        </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">placementId</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:rgb(248, 248, 242)">=</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token tag script language-javascript string" style="color:rgb(255, 121, 198)">"/"</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)"> </span><span class="token tag script language-javascript operator" style="color:rgb(255, 121, 198)">+</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)"> appId </span><span class="token tag script language-javascript operator" style="color:rgb(255, 121, 198)">+</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)"> </span><span class="token tag script language-javascript string" style="color:rgb(255, 121, 198)">"/banner"</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token tag" style="color:rgb(255, 121, 198)"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token tag" style="color:rgb(255, 121, 198)">        </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">onAdLoaded</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:rgb(248, 248, 242)">=</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token tag script language-javascript parameter literal-property property" style="color:rgb(255, 121, 198)">object</span><span class="token tag script language-javascript parameter operator" style="color:rgb(255, 121, 198)">:</span><span class="token tag script language-javascript parameter" style="color:rgb(255, 121, 198)"> any</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)"> </span><span class="token tag script language-javascript arrow operator" style="color:rgb(255, 121, 198)">=&gt;</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)"> </span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)">          </span><span class="token tag script language-javascript console class-name" style="color:rgb(255, 121, 198)">console</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token tag script language-javascript method function property-access" style="color:rgb(80, 250, 123)">log</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token tag script language-javascript string" style="color:rgb(255, 121, 198)">"Banner Ad Loaded"</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)">        </span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token tag" style="color:rgb(255, 121, 198)"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token tag" style="color:rgb(255, 121, 198)">        </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">onAdFailedToLoad</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:rgb(248, 248, 242)">=</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token tag script language-javascript parameter literal-property property" style="color:rgb(255, 121, 198)">error</span><span class="token tag script language-javascript parameter operator" style="color:rgb(255, 121, 198)">:</span><span class="token tag script language-javascript parameter" style="color:rgb(255, 121, 198)"> any</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)"> </span><span class="token tag script language-javascript arrow operator" style="color:rgb(255, 121, 198)">=&gt;</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)"> </span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)">          </span><span class="token tag script language-javascript console class-name" style="color:rgb(255, 121, 198)">console</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token tag script language-javascript method function property-access" style="color:rgb(80, 250, 123)">log</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)">            </span><span class="token tag script language-javascript string" style="color:rgb(255, 121, 198)">"Banner Ad failed to load : "</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)"> </span><span class="token tag script language-javascript operator" style="color:rgb(255, 121, 198)">+</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)"> error</span><span class="token tag script language-javascript operator" style="color:rgb(255, 121, 198)">?.</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)">nativeEvent</span><span class="token tag script language-javascript operator" style="color:rgb(255, 121, 198)">?.</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)">error</span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)">          </span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)">        </span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token tag" style="color:rgb(255, 121, 198)"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token tag" style="color:rgb(255, 121, 198)">        </span><span class="token tag attr-name" style="color:rgb(241, 250, 140)">ref</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:rgb(248, 248, 242)">=</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token tag script language-javascript" style="color:rgb(255, 121, 198)">refBanner</span><span class="token tag script language-javascript punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token tag" style="color:rgb(255, 121, 198)"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token tag" style="color:rgb(255, 121, 198)">      </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">/&gt;</span><span class="token plain-text"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain-text">    </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag class-name" style="color:rgb(255, 121, 198)">View</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">  </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">const</span><span class="token plain"> styles </span><span class="token operator">=</span><span class="token plain"> </span><span class="token maybe-class-name">StyleSheet</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token method function property-access" style="color:rgb(80, 250, 123)">create</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">  </span><span class="token literal-property property">container</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token literal-property property">flex</span><span class="token operator">:</span><span class="token plain"> </span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token literal-property property">justifyContent</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"center"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token literal-property property">alignItems</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"center"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">  </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword module" style="color:rgb(189, 147, 249);font-style:italic">export</span><span class="token plain"> </span><span class="token keyword module" style="color:rgb(189, 147, 249);font-style:italic">default</span><span class="token plain"> </span><span class="token maybe-class-name">App</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></div></code></pre></div></div>
<p>For interstitial and rewarded ads, the process is just as simple.
Check out our <a class="" href="https://developers.bluestack.app/react-native">documentation</a> for more detailed examples and comprehensive guides.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="demo-app">Demo App<a href="https://developers.bluestack.app/blog/bluestack-sdk-react-native-1.0.0#demo-app" class="hash-link" aria-label="Direct link to Demo App" title="Direct link to Demo App" translate="no">​</a></h2>
<p>We are excited to announce that we have also released a Demo App,
designed to demonstrate the full capabilities of the newly launched React Native BlueStack SDK.
The Demo App serves as a practical example of how to implement
and utilize the BlueStack Ads within a React Native project.
It highlights the integration process and demonstrates the functionality
of the three primary ad formats supported by the SDK.</p>
<p><img decoding="async" loading="lazy" alt="BlueStack Demo App" src="https://developers.bluestack.app/assets/images/react-native_demo_app-0a05683b4c3b2862838f14c665e46ad5.png" width="394" height="700" class="img_ev3q"></p>
<p>Start by cloning the demo app repository from GitHub:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">git</span><span class="token plain"> clone https://github.com/azerion/bluestack-demo-react-native.git</span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">cd</span><span class="token plain"> bluestack-demo-react-native</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="in-summary">In summary<a href="https://developers.bluestack.app/blog/bluestack-sdk-react-native-1.0.0#in-summary" class="hash-link" aria-label="Direct link to In summary" title="Direct link to In summary" translate="no">​</a></h2>
<p>The React Native BlueStack SDK opens up new opportunities for app developers
to monetize their applications efficiently and effectively.
We can't wait to see the innovative ways you'll use this SDK to enhance your apps and boost your revenue.
Get started today and take your app monetization to the next level with BlueStack!</p>
<p>Happy coding!</p>
<p><a class="" href="https://developers.bluestack.app/react-native">documentation</a></p>]]></content>
        <author>
            <name>Moin Uddin Hasan</name>
        </author>
        <category label="BlueStack" term="BlueStack"/>
        <category label="SDK" term="SDK"/>
        <category label="Ad" term="Ad"/>
        <category label="ReactNative" term="ReactNative"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[BlueStackSDK v4.4.0 for iOS]]></title>
        <id>https://developers.bluestack.app/blog/bluestack-sdk-4.4.0</id>
        <link href="https://developers.bluestack.app/blog/bluestack-sdk-4.4.0"/>
        <updated>2024-02-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[More Flexibility of Choosing Between Third-party Network Adapters]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="more-flexibility-of-choosing-between-third-party-network-adapters">More Flexibility of Choosing Between Third-party Network Adapters<a href="https://developers.bluestack.app/blog/bluestack-sdk-4.4.0#more-flexibility-of-choosing-between-third-party-network-adapters" class="hash-link" aria-label="Direct link to More Flexibility of Choosing Between Third-party Network Adapters" title="Direct link to More Flexibility of Choosing Between Third-party Network Adapters" translate="no">​</a></h2>
<p>We're thrilled to announce the latest release of our BlueStack SDK, version 4.4.0!
This update brings a modular architecture to our ad mediation framework,
making it even more flexible and developer-friendly.
With a core SDK and individual adapter SDKs for supported ad networks, B
lueStackSDK v4.4.0 gives you the option to choose and integrate only what you need,
making the ad integration process easier than before.</p>
<!-- -->
<p>Previously this set-up was only supported via SPM,
now we are also providing support for this flexibility using [Cocoapods].</p>
<p><img decoding="async" loading="lazy" alt="BlueStackSDK 4.4.0" src="https://developers.bluestack.app/assets/images/BlueStackSDK-4_4_0.light-b07d240d3bf0afe14ebe571bcd14b10f.png#gh-light-mode-only" width="810" height="771" class="img_ev3q"><img decoding="async" loading="lazy" alt="BlueStackSDK 4.4.0" src="https://developers.bluestack.app/assets/images/BlueStackSDK-4_4_0.dark-7c96dbd2fb2558f2c32855d66039b271.png#gh-dark-mode-only" width="810" height="771" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new">What's new?<a href="https://developers.bluestack.app/blog/bluestack-sdk-4.4.0#whats-new" class="hash-link" aria-label="Direct link to What's new?" title="Direct link to What's new?" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-modularization-for-enhanced-flexibility">1. Modularization for Enhanced Flexibility<a href="https://developers.bluestack.app/blog/bluestack-sdk-4.4.0#1-modularization-for-enhanced-flexibility" class="hash-link" aria-label="Direct link to 1. Modularization for Enhanced Flexibility" title="Direct link to 1. Modularization for Enhanced Flexibility" translate="no">​</a></h3>
<p>In response to developer feedback, we've modularized BlueStack SDK into following components:</p>
<ul>
<li class="">BlueStackSDK Core: This core sdk provides public APIs for showing Ads and all the essentials for waterfall logic.</li>
<li class="">Third-party Ad Network Adapters: Individual SDKs for each supported ad network that handles
integration specifics for that network. This modular approach allows for easier updates, maintenance, and customization.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-adapter-architecture-for-simplicity">2. Adapter Architecture for Simplicity<a href="https://developers.bluestack.app/blog/bluestack-sdk-4.4.0#2-adapter-architecture-for-simplicity" class="hash-link" aria-label="Direct link to 2. Adapter Architecture for Simplicity" title="Direct link to 2. Adapter Architecture for Simplicity" translate="no">​</a></h3>
<p>BlueStack adapter architecture simplifies the integration process.
Developers can now integrate specific ad network adapters based on their requirements.
This also separates the third party ad network implementation from the core,
which improves the performance of the BlueStack SDK.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-improved-flexibility">3. Improved Flexibility<a href="https://developers.bluestack.app/blog/bluestack-sdk-4.4.0#3-improved-flexibility" class="hash-link" aria-label="Direct link to 3. Improved Flexibility" title="Direct link to 3. Improved Flexibility" translate="no">​</a></h3>
<p>With BlueStackSDK v4.4.0, now you have the power to choose.
Integrate only the ad network adapters you need, avoiding unnecessary dependencies.
This flexibility gives significant advantage, especially for apps where app size and performance is crucial.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-upgrading-to-v440">Why upgrading to v4.4.0<a href="https://developers.bluestack.app/blog/bluestack-sdk-4.4.0#why-upgrading-to-v440" class="hash-link" aria-label="Direct link to Why upgrading to v4.4.0" title="Direct link to Why upgrading to v4.4.0" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1reduced-app-size">1.Reduced App Size<a href="https://developers.bluestack.app/blog/bluestack-sdk-4.4.0#1reduced-app-size" class="hash-link" aria-label="Direct link to 1.Reduced App Size" title="Direct link to 1.Reduced App Size" translate="no">​</a></h3>
<p>By allowing developers to selectively integrate only the specific ad network adapters they need,
unnecessary dependencies are avoided. This will make the app more lightweight.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2future-proof-scalability">2.Future-Proof Scalability<a href="https://developers.bluestack.app/blog/bluestack-sdk-4.4.0#2future-proof-scalability" class="hash-link" aria-label="Direct link to 2.Future-Proof Scalability" title="Direct link to 2.Future-Proof Scalability" translate="no">​</a></h3>
<p>Adding or removing adapters is now a breeze!
By updating the podfile or selecting the dependencies using SPM you can easily achieve that.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="supported-third-party-network-adapters">Supported Third-party Network Adapters<a href="https://developers.bluestack.app/blog/bluestack-sdk-4.4.0#supported-third-party-network-adapters" class="hash-link" aria-label="Direct link to Supported Third-party Network Adapters" title="Direct link to Supported Third-party Network Adapters" translate="no">​</a></h2>
<p>Below are the BlueStack supported third-party network adapters
along with their sub-specs name for integrating using [Cocoapods]
<u>Please reach out to our Publishing team when you are in doubt as too inclusion of which Adapter is best for you.</u></p>
<table><thead><tr><th>Ad networks</th><th>Subspecs</th></tr></thead><tbody><tr><td>GAM / AdMob</td><td>Google-Mobile-Ads-SDK</td></tr><tr><td>Smart Display / Equativ</td><td>Smart-Display-SDK</td></tr><tr><td>Criteo</td><td>CriteoPublisherSdk</td></tr><tr><td>Amazon</td><td>AmazonPublisherServicesSDK</td></tr><tr><td>In-app Bidding</td><td>In-App-Bidding</td></tr><tr><td>ImproveDigital</td><td>ImproveDigital</td></tr><tr><td>Ogury</td><td>OguryAds</td></tr><tr><td>Madvertise Location</td><td>MAdvertiseLocation</td></tr></tbody></table>
<p><strong>Note:</strong> In-App-Bidding has a default dependency with Criteo, Amazon and Smart Display SDK.
So adding In-App-Bidding will automatically include these three SDKs.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="integrate-bluestacksdk-v440">Integrate BlueStackSDK v4.4.0<a href="https://developers.bluestack.app/blog/bluestack-sdk-4.4.0#integrate-bluestacksdk-v440" class="hash-link" aria-label="Direct link to Integrate BlueStackSDK v4.4.0" title="Direct link to Integrate BlueStackSDK v4.4.0" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="using-cocoapods">Using Cocoapods<a href="https://developers.bluestack.app/blog/bluestack-sdk-4.4.0#using-cocoapods" class="hash-link" aria-label="Direct link to Using Cocoapods" title="Direct link to Using Cocoapods" translate="no">​</a></h3>
<p><strong>Integrate BlueStackSDK Core:</strong> Add BlueStackSDK to your podfile</p>
<div class="language-ruby codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-ruby codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token plain">pod </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">'BlueStackSDK'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">'4.4.0'</span><br></div></code></pre></div></div>
<p><strong>Integrate Required Adapters:</strong> Choose your required adapters from the above list
and add the subsepc to your pod file like below</p>
<div class="language-ruby codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-ruby codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token plain">pod </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">'BlueStackSDK'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">'4.4.0'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token symbol" style="color:rgb(248, 248, 242)">:subspecs</span><span class="token operator">=&gt;</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string-literal string" style="color:rgb(255, 121, 198)">'Google-Mobile-Ads-SDK'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(255, 121, 198)">'In-App-Bidding'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><br></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="using-spm">Using SPM<a href="https://developers.bluestack.app/blog/bluestack-sdk-4.4.0#using-spm" class="hash-link" aria-label="Direct link to Using SPM" title="Direct link to Using SPM" translate="no">​</a></h3>
<p>You will find integration process and requirements through SPM <a class="" href="https://developers.bluestack.app/ios#using-swift-package-manager">here</a></p>
<p><a href="https://guides.cocoapods.org/using/getting-started.html" target="_blank" rel="noopener noreferrer" class="">Cocoapods</a>.</p>]]></content>
        <author>
            <name>Nagib Bin Azad (Torongo)</name>
        </author>
        <category label="BlueStackSDK" term="BlueStackSDK"/>
        <category label="ads" term="ads"/>
        <category label="mediation" term="mediation"/>
        <category label="bidding" term="bidding"/>
        <category label="waterfall" term="waterfall"/>
    </entry>
</feed>