【问题标题】:AS3 How to add adMob to Adobe Flash/Animate?AS3 如何将 adMob 添加到 Adob​​e Flash/Animate?
【发布时间】:2021-02-12 04:20:10
【问题描述】:

AS3 如何将 adMob 添加到 Adob​​e Flash/Animate?

请帮助我弄清楚如何将 adMMob 添加到我的 Actionscript 3 应用程序中。没有关于如何做到这一点的精心编写的文档。我只找到了一个解释它的 youtube 视频,但它仍然没有得到很好的描述。对于我收集的点点滴滴的信息,我设法构造了以下代码,但是它出错了。请帮助重构代码,以便我让它工作。

  1. 首先我从 github 获得了 Pozirk 的 AdMob Air Native Extension
  2. 我在高级 ActionScript 设置中安装了 AdMob.swc 和 AdMob.ane 文件
  3. 我创建了一个名为 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;
var _admob: AdMob = new AdMob();
public class Main extends MovieClip{
    
        public function Main(){
        
            //> initialization of AdMob
            _admob.addEventListener(AdEvent.INIT_OK, onEvent);
            _admob.addEventListener(AdEvent.INIT_FAIL, onEvent);
            _admob.addEventListener(AdEvent.BANNER_SHOW_OK, onEvent);
            _admob.addEventListener(AdEvent.BANNER_SHOW_FAIL, onEvent);
            _admob.addEventListener(AdEvent.BANNER_LEFT_APP, onEvent);
            _admob.addEventListener(AdEvent.BANNER_OPENED, onEvent);
            _admob.addEventListener(AdEvent.BANNER_CLOSED, onEvent);
            _admob.addEventListener(AdEvent.INTERSTITIAL_SHOW_OK, onEvent);
            _admob.addEventListener(AdEvent.INTERSTITIAL_SHOW_FAIL, onEvent);
            _admob.addEventListener(AdEvent.INTERSTITIAL_CACHE_OK, onEvent);
            _admob.addEventListener(AdEvent.INTERSTITIAL_CACHE_FAIL, onEvent);
            _admob.addEventListener(AdEvent.INTERSTITIAL_LEFT_APP, onEvent);
            _admob.addEventListener(AdEvent.INTERSTITIAL_OPENED, onEvent);
            _admob.addEventListener(AdEvent.INTERSTITIAL_CLOSED, onEvent);
            _admob.addEventListener(AdEvent.REWARDED_CACHE_FAIL, onEvent);
            _admob.addEventListener(AdEvent.REWARDED_CACHE_OK, onEvent);
            _admob.addEventListener(AdEvent.REWARDED_CLOSED, onEvent);
            _admob.addEventListener(AdEvent.REWARDED_COMPLETED, onEvent);
            _admob.addEventListener(AdEvent.REWARDED_LEFT_APP, onEvent);
            _admob.addEventListener(AdEvent.REWARDED_OPENED, onEvent);
            _admob.addEventListener(AdEvent.REWARDED_REWARDED, onEvent);
            _admob.addEventListener(AdEvent.REWARDED_STARTED, onEvent);
            _admob.init();
        }
    }

}
  1. 我将此行添加到脚本中,它位于顶部根目录,而不是函数或其他任何内容的一部分。我不确定它是否应该嵌套在某个地方。

_admob.show("ca-app-pub-3940256099942544/6300978111", AdParams.SIZE_SMART_BANNER, AdParams.HALIGN_CENTER, AdParams.VALIGN_BOTTOM);

在尝试编译代码时使用上述设置,我收到以下错误消息:

"Main.as,第 1 行 5006:一个 ActionScript 文件不能有多个 外部可见定义:_admob, Main"

  1. 为什么我会收到此错误消息?
  2. 此代码是否适合运行 adMob?
  3. 我错过了什么吗?

【问题讨论】:

  • 请将您的脚本示例格式化为可读性,这样行就不会被塞满并且所有行都正确缩进。
  • 我做到了,但无论出于何种原因,它都没有流行起来。
  • 我可以编辑我的帖子吗?我没有看到这个选项。
  • 我找到了它的编辑链接,我重新编辑了我的帖子 500 次,但格式在这里只部分起作用。所以请原谅这篇文章的格式并尝试提供帮助。谢谢。
  • 在 5001 上还可以。

标签: actionscript-3 flash adobe flash-cs6 animate.css


【解决方案1】:

我对包进行了更改,并将var 移到了类部分中。

package {   
import flash.display.MovieClip;
import com.pozirk.ads.admob.AdMob;
import com.pozirk.ads.admob.AdParams;
import com.pozirk.ads.admob.AdEvent;

public class Main extends MovieClip{
    var _admob: AdMob = new AdMob();
        public function Main(){

我也意识到我可能需要把这个语句放在一个函数中。我做了。但现在我在编译应用程序时收到此错误消息。

the swf file specified as the root content is missing

function onEvent():void
{
    _admob.show("ca-app-pub-3940256099942544/6300978111", AdParams.SIZE_SMART_BANNER, AdParams.HALIGN_CENTER, AdParams.VALIGN_BOTTOM);
}

【讨论】:

  • 将您的主类链接到 adobe animate 的主类(只需写下您的类的名称)也在 ActionScript 设置/库路径中添加 Pozirk 的 AdMob Air Native Extension 的 ANE/SWC 并在其上进行测试移动设备
猜你喜欢
  • 2013-07-07
  • 2013-07-04
  • 1970-01-01
  • 2016-09-08
  • 1970-01-01
  • 2020-12-28
  • 1970-01-01
  • 1970-01-01
  • 2017-03-19
相关资源
最近更新 更多