AIR admob 问题 #3500:扩展上下文没有名为 cacheInterstitial 的方法

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

我正在尝试在我的 game.I 中制作 google 广告,使用 Pozirk Ane admob.I 添加的库文件和 Actionscript 3 设置。 当我测试 Debug 时出现此错误。

ANE Link

https://github.com/pozirk/ANEAdMob

我不知道哪里出错了。

正在尝试使用 URL C:/APK/Reklam/Testreklam-app.xml

启动并连接到播放器
    [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.");
        }
}







    }

}

APPXML文件代码

<?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>

(1) 尝试添加 _inters 自己的事件侦听器 执行 _inters.init();
之前(这样当您的 init()发生了,听众会准备好)。

(2) 关于这个错误:

ArgumentError: Error #3500:
"The extension context does not have a method with the name cacheInterstitial."

尝试在实际设备上测试您的代码,例如:Android。它不适用于桌面调试器。
line 41 of AdMob.as(函数init():void)...你会发现if(err.errorID == 3500)

catch(err:Error)
{
    var e:AdEvent = null;
    if(err.errorID == 3500)
        e = new AdEvent(AdEvent.INIT_FAIL, "Isn't it clear, that ANDROID Extension will NOT work on PC/Mac???");
    else
        e = new AdEvent(AdEvent.INIT_FAIL, "ANE was not properly added to your project.");
    this.dispatchEvent(e);
}