Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

AIR Admob ANE issue #3500: The extension context does not have a method with the name cacheInterstitial

Explorer ,
Oct 05, 2017 Oct 05, 2017

I'm trying to make google adverts in my game.I use Pozirk Ane admob.I added library files and ane on Actionscript 3 settings. When I test Debug and I got this error.

ANE Link

https://github.com/pozirk/ANEAdMob

I couldn't figure out where is the error.

The error

[SWF] com.pozirk.ads.AdMob - 7065 bytes after decompression
  
[SWF] Testreklam.swf - 45613 bytes after decompression
  
ArgumentError: Error #3500: The extension context does not have a method with the name cacheInterstitial.
  at flash
.external::ExtensionContext/_call()
  at flash
.external::ExtensionContext/call()
  at com
.pozirk.ads.admob::AdMob/cacheInterstitial()[D:\Pozirk\_projects\ANEAdMob\air\AdMob\com\pozirk\ads\admob\AdMob.as:83]
  at
Main()[C:\APK\Reklam\Main.as:43]
  at runtime
::ContentPlayer/loadInitialContent()
  at runtime
::ContentPlayer/playRawContent()
  at runtime
::ContentPlayer/playContent()
  at runtime
::AppRunner/run()
  at
ADLAppEntry/run()
  at global
/runtime::ADLEntry()

My Main.as code

package  {

  
import flash.display.MovieClip;
  
import com.pozirk.ads.admob.AdMob;
  
import com.pozirk.ads.admob.AdParams;
  
import com.pozirk.ads.admob.AdEvent;
  
import flash.events.MouseEvent;

  
public class Main extends MovieClip {
  
private var _bannerAdUID:String = "ca-app-pub-3940256099942544/6300978111";//BİZİMDEGİL
  
private var _intersAdUID:String = "ca-app-pub-4769962435850149/5055329136";
  
protected var _banner:AdMob = new AdMob();
  
protected var _inters:AdMob = new AdMob();
  
private var _initOK:Boolean = false;
  
private var _isShow:Boolean = false;
  
private var _cacheOK:Boolean = false;  

  
public function Main() {
  
// constructor code
  btBanner
.addEventListener(MouseEvent.CLICK, showBanner);
  btInters
.addEventListener(MouseEvent.CLICK, showInterstitial);

  _banner
.init();
_banner
.addEventListener(AdEvent.INIT_OK, onInitEvent);
_banner
.addEventListener(AdEvent.INIT_FAIL, onEvent);
_banner
.addEventListener(AdEvent.BANNER_SHOW_OK, onEvent);
_banner
.addEventListener(AdEvent.BANNER_SHOW_FAIL, onEvent);
_banner
.addEventListener(AdEvent.BANNER_LEFT_APP, onEvent);
_banner
.addEventListener(AdEvent.BANNER_OPENED, onEvent);
_banner
.addEventListener(AdEvent.BANNER_CLOSED, onEvent);

_inters
.init();
_inters
.addEventListener(AdEvent.INIT_OK, onInitEvent);
_inters
.addEventListener(AdEvent.INIT_FAIL, onEvent);
_inters
.addEventListener(AdEvent.INTERSTITIAL_SHOW_OK, onEvent);
_inters
.addEventListener(AdEvent.INTERSTITIAL_SHOW_FAIL, onEvent);
_inters
.addEventListener(AdEvent.INTERSTITIAL_CACHE_OK, onCacheEvent);
_inters
.addEventListener(AdEvent.INTERSTITIAL_CACHE_FAIL, onEvent);
_inters
.addEventListener(AdEvent.INTERSTITIAL_LEFT_APP, onEvent);
_inters
.addEventListener(AdEvent.INTERSTITIAL_OPENED, onEvent);
_inters
.addEventListener(AdEvent.INTERSTITIAL_CLOSED, onCloseIntersEvent);

_inters
.cacheInterstitial(_intersAdUID);
  
}


  
protected function onEvent(event:AdEvent😞void {

}

protected function onInitEvent(event:AdEvent😞void {
  _initOK
= true;
}

protected function onCacheEvent(event:AdEvent😞void {
  _cacheOK
= true;
}

protected function onCloseIntersEvent(event:AdEvent😞void {
  _inters
.cacheInterstitial(_intersAdUID);
}


////////////


private function showBanner(e:MouseEvent😞void {
  
if(_initOK) {
  
if(!_isShow) {
  _banner
.show(_bannerAdUID, AdParams.SIZE_SMART_BANNER, AdParams.HALIGN_CENTER, AdParams.VALIGN_BOTTOM);
  _isShow
= true;
  
}else {
  _banner
.hide();
  _isShow
= false;
  
}
  
} else {
  trace
("Banner Not Ready.");
  
}
}

private function showInterstitial(e:MouseEvent😞void {
  
if(_initOK && _cacheOK) {
  _inters
.showInterstitial();
  
} else {
  trace
("Inters Not Ready.");
  
}
}









  
}

}

APP XML file code

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<application xmlns="http://ns.adobe.com/air/application/24.0">
 
<id>Testreklam</id>
 
<versionNumber>1.0.0</versionNumber>
 
<versionLabel/>
 
<filename>Testreklam</filename>
 
<description/>
<!-- To localize the description, use the following format for the description element.<description><text xml:lang="en">English App description goes here</text><text xml:lang="fr">French App description goes here</text><text xml:lang="ja">Japanese App description goes here</text></description>-->
 
<name>Testreklam</name>
<!-- To localize the name, use the following format for the name element.<name><text xml:lang="en">English App name goes here</text><text xml:lang="fr">French App name goes here</text><text xml:lang="ja">Japanese App name goes here</text></name>-->
 
<copyright/>
 
<initialWindow>
  
<content>Testreklam.swf</content>
  
<systemChrome>standard</systemChrome>
  
<transparent>false</transparent>
  
<visible>true</visible>
  
<fullScreen>true</fullScreen>
  
<aspectRatio>portrait</aspectRatio>
  
<renderMode>direct</renderMode>
  
<autoOrients>false</autoOrients></initialWindow>
 
<icon>
  
<image72x72>AppIconsForPublish/Medal-2-icon.png</image72x72>
 
</icon>
 
<customUpdateUI>false</customUpdateUI>
 
<allowBrowserInvocation>false</allowBrowserInvocation>
 
<android>
  
<manifestAdditions>
  
<![CDATA[<manifest><uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><application>
<meta-data android:name="com.google.android.gms.version" android:value="4323000" /> <!-- should be android:value="@integer/google_play_services_version" --> <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
</application></manifest>]]>
  
</manifestAdditions>
  
</android>
 
<versionLabel> </versionLabel>
 
<extensions>
  
<extensionID>com.pozirk.ads.AdMob</extensionID>
 
</extensions>
</application>

TOPICS
ActionScript
2.9K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 05, 2017 Oct 05, 2017

are you testing on an android device (not a simulator)?

(and your code is unreadable.)

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 05, 2017 Oct 05, 2017

Everything is well in to edit mode but here as you say unreadable.I can't edit because edit button is gone.

Error

  [SWF] com.pozirk.ads.AdMob - 7065 bytes after decompression
  
[SWF] Testreklam.swf - 45613 bytes after decompression
  
ArgumentError: Error #3500: The extension context does not have a method with the name cacheInterstitial.
  at flash
.external::ExtensionContext/_call()
  at flash
.external::ExtensionContext/call()
  at com
.pozirk.ads.admob::AdMob/cacheInterstitial()[D:\Pozirk\_projects\ANEAdMob\air\AdMob\com\pozirk\ads\admob\AdMob.as:83]
  at
Main()[C:\APK\Reklam\Main.as:43]
  at runtime
::ContentPlayer/loadInitialContent()
  at runtime
::ContentPlayer/playRawContent()
  at runtime
::ContentPlayer/playContent()
  at runtime
::AppRunner/run()
  at
ADLAppEntry/run()
  at global
/runtime::ADLEntry()

Main AS

package  {

  
import flash.display.MovieClip;
  
import com.pozirk.ads.admob.AdMob;
  
import com.pozirk.ads.admob.AdParams;
  
import com.pozirk.ads.admob.AdEvent;
  
import flash.events.MouseEvent;

  
public class Main extends MovieClip {
  
private var _bannerAdUID:String = "ca-app-pub-3940256099942544/6300978111";//BİZİMDEGİL
  
private var _intersAdUID:String = "ca-app-pub-4769962435850149/5055329136";
  
protected var _banner:AdMob = new AdMob();
  
protected var _inters:AdMob = new AdMob();
  
private var _initOK:Boolean = false;
  
private var _isShow:Boolean = false;
  
private var _cacheOK:Boolean = false;  

  
public function Main() {
  
// constructor code
  btBanner
.addEventListener(MouseEvent.CLICK, showBanner);
  btInters
.addEventListener(MouseEvent.CLICK, showInterstitial);

  _banner
.init();
_banner
.addEventListener(AdEvent.INIT_OK, onInitEvent);
_banner
.addEventListener(AdEvent.INIT_FAIL, onEvent);
_banner
.addEventListener(AdEvent.BANNER_SHOW_OK, onEvent);
_banner
.addEventListener(AdEvent.BANNER_SHOW_FAIL, onEvent);
_banner
.addEventListener(AdEvent.BANNER_LEFT_APP, onEvent);
_banner
.addEventListener(AdEvent.BANNER_OPENED, onEvent);
_banner
.addEventListener(AdEvent.BANNER_CLOSED, onEvent);

_inters
.init();
_inters
.addEventListener(AdEvent.INIT_OK, onInitEvent);
_inters
.addEventListener(AdEvent.INIT_FAIL, onEvent);
_inters
.addEventListener(AdEvent.INTERSTITIAL_SHOW_OK, onEvent);
_inters
.addEventListener(AdEvent.INTERSTITIAL_SHOW_FAIL, onEvent);
_inters
.addEventListener(AdEvent.INTERSTITIAL_CACHE_OK, onCacheEvent);
_inters
.addEventListener(AdEvent.INTERSTITIAL_CACHE_FAIL, onEvent);
_inters
.addEventListener(AdEvent.INTERSTITIAL_LEFT_APP, onEvent);
_inters
.addEventListener(AdEvent.INTERSTITIAL_OPENED, onEvent);
_inters
.addEventListener(AdEvent.INTERSTITIAL_CLOSED, onCloseIntersEvent);

_inters
.cacheInterstitial(_intersAdUID);
  
}


  
protected function onEvent(event:AdEvent):void {

}

protected function onInitEvent(event:AdEvent):void {
  _initOK
= true;
}

protected function onCacheEvent(event:AdEvent):void {
  _cacheOK
= true;
}

protected function onCloseIntersEvent(event:AdEvent):void {
  _inters
.cacheInterstitial(_intersAdUID);
}


////////////


private function showBanner(e:MouseEvent):void {
  
if(_initOK) {
  
if(!_isShow) {
  _banner
.show(_bannerAdUID, AdParams.SIZE_SMART_BANNER, AdParams.HALIGN_CENTER, AdParams.VALIGN_BOTTOM);
  _isShow
= true;
  
}else {
  _banner
.hide();
  _isShow
= false;
  
}
  
} else {
  trace
("Banner Not Ready.");
  
}
}

private function showInterstitial(e:MouseEvent):void {
  
if(_initOK && _cacheOK) {
  _inters
.showInterstitial();
  
} else {
  trace
("Inters Not Ready.");
  
}
}







  
}

}

APP XML file code

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<application xmlns="http://ns.adobe.com/air/application/24.0">
 
<id>Testreklam</id>
 
<versionNumber>1.0.0</versionNumber>
 
<versionLabel/>
 
<filename>Testreklam</filename>
 
<description/>
<!-- To localize the description, use the following format for the description element.<description><text xml:lang="en">English App description goes here</text><text xml:lang="fr">French App description goes here</text><text xml:lang="ja">Japanese App description goes here</text></description>-->
 
<name>Testreklam</name>
<!-- To localize the name, use the following format for the name element.<name><text xml:lang="en">English App name goes here</text><text xml:lang="fr">French App name goes here</text><text xml:lang="ja">Japanese App name goes here</text></name>-->
 
<copyright/>
 
<initialWindow>
  
<content>Testreklam.swf</content>
  
<systemChrome>standard</systemChrome>
  
<transparent>false</transparent>
  
<visible>true</visible>
  
<fullScreen>true</fullScreen>
  
<aspectRatio>portrait</aspectRatio>
  
<renderMode>direct</renderMode>
  
<autoOrients>false</autoOrients></initialWindow>
 
<icon>
  
<image72x72>AppIconsForPublish/Medal-2-icon.png</image72x72>
 
</icon>
 
<customUpdateUI>false</customUpdateUI>
 
<allowBrowserInvocation>false</allowBrowserInvocation>
 
<android>
  
<manifestAdditions>
  
<![CDATA[<manifest><uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><application>
<meta-data android:name="com.google.android.gms.version" android:value="4323000" /> <!-- should be android:value="@integer/google_play_services_version" --> <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
</application></manifest>]]>
  
</manifestAdditions>
  
</android>
 
<versionLabel> </versionLabel>
 
<extensions>
  
<extensionID>com.pozirk.ads.AdMob</extensionID>
 
</extensions>
</application>

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 05, 2017 Oct 05, 2017

No I can't.Because it's created apk3301628292574833117.tmp file when I tried export as apk.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 05, 2017 Oct 05, 2017

that's a temp file that's automatically deleted (unless there's a problem like that error).  you can manually delete it.

in any case, you can test using a connected (via usb) device.  or publish the apk (file>publish) and install, but don't publish using any of the debug options (unless it's using a connected device via usb), or you'll encounter error #3500.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 05, 2017 Oct 05, 2017

Okay I fixed the problem and the game has been work successfully on usb device.However the test ad (with ane one) not publishing it's just show publishing message last ten minutes, it's take to long and I canceled.Why is not publishing ?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 05, 2017 Oct 05, 2017

if you tested on a usb device, it published.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 05, 2017 Oct 05, 2017

No isn't.I clicked publish and its have been ten minute,still show publishing message.Just crate .tmp file 28kb.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 05, 2017 Oct 05, 2017

can you install via usb?

if so, do it.  that will publish an apk.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 05, 2017 Oct 05, 2017

I open debug mode on the phone,then click device release and two options under the "after publishing" on Air publish settings.My other project work fine that way on device.But this isn't.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 05, 2017 Oct 05, 2017

you said your game worked on your usb device.  was that a misstatement?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 06, 2017 Oct 06, 2017

I mean device.The device connected pc with usb.I publish and not see those errors anymore (my second message).But Flash is not publish the apk,it's only prosess.

It's publish successfully when I remove ANE file on Actionscript 3 settings.How can I fix that ?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 06, 2017 Oct 06, 2017

if you attach an android mobile by usb and publish to your android mobile without error you will create an apk file.

if you then detach you mobile and publish and the publish doesn't end, you have a local (ie, on your computer) problem or an animate setting problem.  i can't determine what that problem is without downloading your fla and testing myself and i don't do that via the forums for free. but someone else might do that or you can hire me by sending an email via http://www.kglad.com.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 06, 2017 Oct 06, 2017

I will update AIR SDK and maybe switch to Animate cc from Pro CS6.Is there another way publish admob ads without using ane ?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 06, 2017 Oct 06, 2017
LATEST

yes, you can use the same author's swc or use other author's ane's.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 05, 2017 Oct 05, 2017

I'm developing a game using this ANE too.

This error is because you're running the ANE inside the Animate IDE. You need to test on an android emulator or on android devices.

Add if statements in your code to check if you're on mobile or not.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 05, 2017 Oct 05, 2017

Can you share your code please.Thanks

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines