来源:http://www.adsmogo.com/help/iosANE
一、iOS ANE植入流程
Step 1:创建Flex工程
1.1 启动Flash Builder 4.6.0, 选择“File”->“New”->“Flex Mobile Project”,如下图所示:
1.2 填写Project name后点击“Next”,进入下图所示界面:
1.3 Target platforms只勾选“Apple iOS”,然后点击“Finish”,完成项目创建。
1.2 填写Project name后点击“Next”,进入下图所示界面:
1.3 Target platforms只勾选“Apple iOS”,然后点击“Finish”,完成项目创建。
Step 2:配置项目
2.1 选中项目,单击右键。在弹出的菜单中选择“Run As”->“Run Configurations…”,进入如下视图:
2.2 点击“Run”, Flash模拟器将运行。出现如下界面,完成Flex项目创建。
2.2 点击“Run”, Flash模拟器将运行。出现如下界面,完成Flex项目创建。
Step 3:添加ANE
3.1 右键选择工程,选择“Properties”,在如下界面,选择“Flex Build Path”->“Native Extensions”,点击“Add ANE…”
3.2 弹出ANE文件选择路径,点击Browse... 找到ANE路径,添加ANE文件。
3.3 点击“OK”后,可以在Native Extensions看到已经添加的ANE。如下图所示:
3.2 弹出ANE文件选择路径,点击Browse... 找到ANE路径,添加ANE文件。
3.3 点击“OK”后,可以在Native Extensions看到已经添加的ANE。如下图所示:
Step 4:配置证书,配置iOS SDK路径
4.1 选择“Flex Build Packaging”->“Apple iOS”->“Digital Signature”,配置Certificate、Provisioning file文件路径。
4.2 选择Native Extensions,选中Package。然后点击Apple iOS SDK右侧“Browse…”,选择iOS SDK路径。配置完成后,点击OK。如下图:
4.2 选择Native Extensions,选中Package。然后点击Apple iOS SDK右侧“Browse…”,选择iOS SDK路径。配置完成后,点击OK。如下图:
Step 5:将LBSSDK.framework放到Step 4中选择的SDK的系统Framework中
以iOS5 SDK为例:
iOS5 SDK路径
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk
那么将放到
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/System/Library/Frameworks/
iOS5 SDK路径
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk
那么将放到
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/System/Library/Frameworks/
Step 6:编辑广告代码
选择项目中src/views下的mxml文件,打开即可编辑,添加如下代码:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" title="AdsMoGoView"
creationComplete="setupAdsMoGoView(event)"
>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import com.adsmogo.AdsMoGoView;
import mx.events.FlexEvent;
import spark.events.ViewNavigatorEvent;
private var adsMoGoView:AdsMoGoView;
protected function setupAdsMoGoView(event:FlexEvent):void{
try{
adsMoGoView = new AdsMoGoView();
adsMoGoView.initAdView("ad01030cffa44cab9a664a6ed3f52325",AdsMoGoView.AdViewTypeNormalBanner,false);
adsMoGoView.setAdsMoGoViewOrigin(0,50);
}
catch (e:Error) {}
}
protected function releaseAdsMoGoView(event:ViewNavigatorEvent):void
{
try {
adsMoGoView.releaseAdsMoGoView();
} catch (e:Error) {}
}
]]>
</fx:Script>
</s:View>
Step 7:打包生成ipa
7.1 右键选择“Run As”->“Run Configurations…”,在弹出窗口中选择“On device”,如下图所示:
7.2 点击“Run”,弹出窗口要求输入密码,如下图所示:
7.3 输入证书密码后等待完成打包,如下图所示:
7.4 打包完成出现如下窗口:
7.5 在工程的项目“bin-debug”目录下找到ipa文件,如下图所示:
7.6 将.ipa安装到真机,运行。
7.2 点击“Run”,弹出窗口要求输入密码,如下图所示:
7.3 输入证书密码后等待完成打包,如下图所示:
7.4 打包完成出现如下窗口:
7.5 在工程的项目“bin-debug”目录下找到ipa文件,如下图所示:
7.6 将.ipa安装到真机,运行。
二、AdsMOGO iOS ANE API说明
1. AdsMoGoView 方法
1.1 实例方法
public function initAdView(ak:String, adType:int,
expressMode:Boolean):AdsMoGoView
ak:芒果ID,在芒果网站上注册app时生成。
adType 类型:
public static const AdViewTypeNormalBanner:int = 1;
public static const AdViewTypeLargeBanner:int = 2;
public static const AdViewTypeMediumBanner:int = 3;
public static const AdViewTypeRectangle:int =4;
public static const AdViewTypeiPadNormalBanner:int = 8;
AdViewTypeNormalBanner 适用于iphone、ipod touch
AdViewTypeLargeBanner 适用于ipad
AdViewTypeMediumBanner适用于ipad
AdViewTypeRectangle 适用于ipad
AdViewTypeiPadNormalBanner 适用于ipad
expressMode:是否快速模式。false 非快速模式,true 快速模式。
1.2 释放广告
public function releaseAdsMoGoView():void
1.3 设置广告显示或者隐藏
public function setAdsMoGoViewOrigin(x:int, y:int):void
1.4 设置广告位置
public function setAdsMoGoViewHidden(hidden:Boolean):void
2. AdsMoGoEvent
事件类型 | 事件说明 |
---|---|
ADSMOGO_SRARTAD | 广告开始请求 |
ADSMOGO_RECEIVEAD | 广告接收失败 |
ADSMOGO_FAILGOTAD | 广告轮空 |
ADSMOGO_CLICKAD | 广告点击 |
ADSMOGO_COLSEAD | 广告关闭 |
ADSMOGO_PRESENTFULL | 广告全屏展示 |
ADSMOGO_DISMISSFULL | 广告全屏消失 |
ADSMOGO_WEBBROWSERWILLAPPEAR | 芒果浏览器展示前回调 |
ADSMOGO_WEBBROWSERDIDAPPEAR | 芒果浏览器展示 |
ADSMOGO_WEBBROWSERWILLCOLSED | 芒果浏览器关闭前回调 |
ADSMOGO_WEBBROWSERDIDCLOSED | 芒果浏览器关闭 |
ADSMOGO_WEBBROWSERSHARE | 芒果浏览器分享 |
使用方法参考如下(与添加事件监听一样):
adsMoGoView.addEventListener(AdsMoGoEvent.ADSMOGO_CLICKAD,adMoGoEventsFun);
adsMoGoView.addEventListener(AdsMoGoEvent.ADSMOGO_RECEIVEAD,adMoGoEventsFun);
protected function adMoGoEventsFun(event:AdsMoGoEvent):void{
trace(event.adMoGoLevel+event.adMoGoResult);
}