通过AIR Native Extension在AIR应用中加入iAd广告(二) —— Flash Pro篇

通过AIR Native Extension在AIR应用中加入iAd广告(一) —— Flash Builder篇 已经介绍了如果在Flash Builder上使用iAd扩展.今天讲讲如何使用Flash Pro发布程序.

1. 新建AIR for iOS项目;

2. 将上文提到的iAd_signed.ane重命名为iAd_signed.swc;

3. 打开高级ActionScript 3.0设置, 切换到”库路径”面板.把第2步修改的SWC文件添加到类库中;

4. 展开iAd_signed.swc前面的箭头, 双击”链接类型”为”外部”;

5. 编写舞台类

 

package 
{
 
	import flash.display.MovieClip;
	import flash.events.Event;
	import com.adobe.nativeExtensions.AdBanner;
	import com.adobe.nativeExtensions.AdBannerEvent;
	import com.adobe.nativeExtensions.AdBannerPosition;
 
	public class Main extends MovieClip
	{
 
		public function Main()
		{
			trace("Init...");
			this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
		}
 
		private function onAddedToStage(event:Event):void
		{
			this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
			initAD();
		}
 
		private function initAD():void
		{
			AdBanner.adView.startShowingAds(AdBannerPosition.TOP, true);
			AdBanner.adView.addEventListener(AdBannerEvent.AD_LOADED, adLoaded);
			AdBanner.adView.addEventListener(AdBannerEvent.AD_LOADING_FAILED, adFailed);
			AdBanner.adView.addEventListener(AdBannerEvent.USER_INTERACTION_STARTING, adStart);
			AdBanner.adView.addEventListener(AdBannerEvent.USER_INTERACTION_FINISHED, adFinished);
		}
 
		private function adLoaded(event:AdBannerEvent):void
		{
			trace("Ad Loaded");
			AdBanner.adView.visible = true;
			trace("leaving: " + event.leaving);
		}
 
		private function adFailed(event:AdBannerEvent):void
		{
			trace("Loaded Failded: " + event.errorCode);
			AdBanner.adView.visible = false;
		}
 
		private function adStart(event:AdBannerEvent):void
		{
			trace("Starting");
			trace(stage.orientation);
		}
 
		private function adFinished(event:AdBannerEvent):void
		{
			trace("Finished");
			trace(stage.orientation);
		}
 
	}
}

6. CTRL+ENTER编译, 会有个VerifyError: Error #1014: Class com.adobe.nativeExtensions::AdBannerEvent could not be found错误. 不用理会.继续下步.

7. 新建ane文件夹, 将iAd_signed.ane复制进去

8. 进行AIR for iOS设置

9. 将Flash CS生成的t-app.xml复制一份并命名为new-t.xml, 打开new-t.xml, 加入

 <extensions>
<extensionID>com.adobe.iad</extensionID>
</extensions>

10. 用ADT打包工具打包.

adt.bat -package -target ipa-app-store -provisioning-profile t.mobileprovision -storetype pkcs12 -keystore t.p12 -storepass 1234 t.ipa new-t.xml t.swf -extdir ane

打包为发行版本 -package -target ipa-app-store

指定provisioning文件 -provisioning-profile t.mobileprovision

指定证书文件 -storetype pkcs12 -keystore t.p12

指定证书密码 -storepass 1234

导出文件名 t.ipa

配置文件 new-t.xml

第6步编译的SWF文件 t.swf

指定扩展的路径(第7步新建的文件夹) -extdir ane

11. 连接设备, 安装打包好的ipa文件测试

 

程序源代码,证书(密码1234): 点击此处下载

通过AIR Native Extension在AIR应用中加入iAd广告(一) —— Flash Builder篇

 

目前通过Adobe AIR发布iOS应用的案例已经很多了. 随着AIR runtime及AIR SDK的不断升级,AIR App for iOS在iDevice运行流畅度大大提高.感谢Adobe带给大家这么好的技术和工具.

在苹果商店中, 可直接发布付费应用获得收益, 也可免费发放并通过广告得到分成. 但AIR不支持原生iAd广告组件.这时只能通过ANE(Air Native Extension)调用苹果原生API. 官方ANE插件站推荐了iOS iAd Native Extension for Adobe AIR插件. 最近无意中在Google Code找到iad-air-ios,重要的是, 它是免费的 :)

下面通过Flash Builder 4.6介绍下使用方法.

1. 打开FB4.6, 新建ActionSript Mobile Project, 本例中使用iAdTest为项目名.去掉黑梅和安卓的选项, 只勾选iOS系统:

 

2. 前往iad-air-ios, 下载最新的插件 iAdPrefixed.zip 并解压.

3.打开iAdTest项目属性,选择ActionScript Build Path, 切换到Native Extensions, 选择第2步解压的ANE文件并添加到项目.

 

4. 敲入主程序代码:

package
{
    import com.adobe.nativeExtensions.AdBanner;
    import com.adobe.nativeExtensions.AdBannerEvent;
    import com.adobe.nativeExtensions.AdBannerPosition;
 
    import flash.display.Sprite;
    import flash.display.Stage;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.Event;
 
    public class iAdTest extends Sprite
    {
        public function iAdTest()
        {
            super();
 
            this.addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
        }
 
        protected function addedToStageHandler(event:Event):void
        {
            this.removeEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
            stage.align = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;
 
            initAD();
        }
 
        private function initAD():void
        {
            AdBanner.adView.startShowingAds(AdBannerPosition.TOP, false);  
            AdBanner.adView.addEventListener(AdBannerEvent.AD_LOADED, adLoaded);  
            AdBanner.adView.addEventListener(AdBannerEvent.AD_LOADING_FAILED, adFailed)
            AdBanner.adView.addEventListener(AdBannerEvent.USER_INTERACTION_STARTING, adStart);  
            AdBanner.adView.addEventListener(AdBannerEvent.USER_INTERACTION_FINISHED, adFinished); 
        }
 
        private function adLoaded(event:AdBannerEvent):void
        {
            trace("Ad Loaded");         
            AdBanner.adView.visible = true;         
            trace("leaving: " + event.leaving); 
        }
 
        private function adFailed(event:AdBannerEvent):void
        {
            trace("Loaded Failded: " + event.errorCode);
            AdBanner.adView.visible = false;
        }
 
        private function adStart(event:AdBannerEvent):void
        {
            trace("Starting");
            trace(stage.orientation);
        }
 
        private function adFinished(event:AdBannerEvent):void
        {
            trace("Finished");
            trace(stage.orientation);
        }
    }
}

5.为配合从网络下载的证书, 要打开iAdTest-app.xml修改id:
<!– A universally unique application identifier. Must be unique across all AIR applications.
    Using a reverse DNS-style name as the id is recommended. (Eg. com.example.ExampleApplication.) Required.–>
<id>com.gamevil.zenonia2</id>
6.发布程序

 

6. 选择证书(网络下载的测试证书)

 

7. 如果没有意外情况发生, 等待数分钟便可发布完成.
连接iPhone(已越狱),将生成的iAdTest.ipa安装并运行,稍等片刻就可以看到左边的界面了.
运行截图:

 

程序源代码,证书(密码1234): 点击此处下载

 

Spark皮肤开放源码, 求测试

Spark版主题.参考SDK中spark.skins.spark源码修改而成.最佳背景色#333333.

mx组件小部分修改自mx.skins.halo及mx.skins.spark源码, 大部分图形还是沿用了原有的SWF元素.

考虑到组件的独立灵活性, 没有将重复的图形提取出来.

欢迎试用及反馈 :)

 

预览图:

源码及SWC下载

 

参考资料:

About themes

Library projects

Flash人脸检测

大家经常把人脸识别和人脸检测的概念混淆. 识别是从众多数据中找出具备某些特征或与某张脸相似度较高的人脸数据; 检测则是在图片上寻找人脸,是人脸识别的一个重要环节. 这次的实验就是人脸(正面照)检测.

查看例子: FaceTest

例子中使用了3种检测方法.

face.com提供的API.识别精准. 眼睛,鼻子,嘴位置均包含在返回数据中.

我们要先去face.com申请一个Key, 再下载AS3版的API类库. 这个在某时间段内有使用次数限制. 图片数据会被上传到face.com进行检测, 之后将结果返回给客户端. 这个图片数据上传的过程增加了处理时间 .

 

 

 

 

 

 

 

 

deface与OpenCV使用相同的配置文件.使用的是默认配置文件,测试中识别率不是很高, 只检到了1张脸.

 

 

 

 

 

 

 

 

Ohtsuka MasakazuOpenCV中的面部检测转写成AS3版并加到了Spark project中. Mario Klingemann对其做了进一步优化.运算速度快, 识别率也不错的, 检测出了3张脸.

 

 

 

 

 

 

 

 

除此外还有多个AS3版检测类库, 精力有限+财力有限, 未做多过测试.

最后放源码:  FaceComTest.zip

如何在XCode4中设置NSZombieEnabled

点击scheme下拉菜单 -> 编辑scheme -> arguments, 然后将点击”加号”, 将NSZombieEnabled参数加到Environment Variables窗口中, 后面的数值写上”YES”.

FMS 4中multicast脚本的小修正

http://help.adobe.com/en_US/flashmediaserver/devguide/WS7812b00092aae0dc-2829dcd012a54a3ed1a-8000.html

Line 558 from /rootinstall/applications/multicast/main.asc
Wrong:  (streamContext.client.ip = this.ip)
Correct: (streamContext.client.ip == this.ip)

期待FMS4的汉化版本 -_-

活动宣传 9月18日 第5届 FLASH开发者交流会 暨FLASH CAMP 2010

活动在线报名地址:http://www.wedoswf.com/events/1

主讲者和专题介绍

  • Adobe 平台技术
    主讲人:Gary Zhu -   Adobe 平台技术总监
    Gary 多年工作于 Adobe 公司工作,从事软件产品和平台技术的发展与推广工作。此次Gary远道而来,将为我们介绍 Adobe 平台技术的发展和Flash移动应用软件的开发。
  • 程序接口的另类理解与使用
    主讲人:孙毅
    曾就职五分钟,任Flash部门主管,并开发《绿豆蛙—漂流岛社区》等项目;现就职八方视界,任Flash部门高级主管,并负责其产品《唯智学园》Flash部分主程,以及Flash性能等各方面研究。
    孙毅的博客:http://www.xiaos8.com
  • Flash Media Server 开发经验谈
    主讲人:沈先彬
    从事FLASH 游戏与AIR应用开发,参与开发项目有 梦境世界 三十六计等,目前在开发WEBGAME。
    沈先彬的博客:http://blog.sina.com.cn/shenxianbin
  • Flash RIA的可用性
    主讲人:刘轩飞
    晒台网首席产品管,10年前端设计和开发经验,信仰互联网,以提供最佳互联网用户体验为己任
    刘轩飞的博客:http://www.xuanfei.me
  • 麻球大赛优秀作品介绍
    主讲人:廖湘宁
    廖湘宁多年来从事视频互动创意与游戏开发,目前在麻球网担任开发者社区经理,负责麻球网(Mochi Media)平台的本土化研发与推广工作。
    廖湘宁的博客: http://www.xncat.com
  • 麻球参赛游戏蛛蛛冒险的开发与设计经验分享
    主讲人:徐黎明
    曾任TCL教育互联 研发主管,广州市远程教育中心 开发主管。涉足麻球平台之后,钟情于游戏开发,创办Tinime 工作室。
  • 麻球参赛游戏DNF,梦幻塔防,吖凡哒哒技术与美工经验分享
    主讲人:商文烨
    中国第三代闪客,个人作品获得过无数奖项并在中央电视台播出,06年担任搜狐17173频道主管并连续4年获得搜狐最佳称号,2009年成立传奇网科,旗下传动力工作室便是当今最脍炙人口的休闲小游戏开发团队!
    商文烨的博客: http://t.qq.com/shangwenye

议程安排

2010年9月18日 星期六

  • 12:30 ~ 13:00 参会人员签到,入场
  • 13:15 ~ 15:00 主题讨论
  • 15:00 ~ 15:15 茶歇和聊天
  • 15:15 ~ 17:30 主题讨论
  • 18:00 技术交流和讨论

抽奖活动

为感谢大家对活动的关注与支持,本次活动特设精美礼品抽奖赠送。

会议地点

畅星大厦•上海
地址:上海浦东新区碧波路888号畅星大厦3楼会议厅
电话:021-38984558
网站:http://www.changxing.sh.cn
交通:地铁2号线张江站(步行5-10分钟即到),161

>> 在 Google 地图上查看

历届活动回顾

微博ing

http://t.sina.com.cn/kingnare

http://t.qq.com/xiaoxinxin

第4次中国 Flash专家交流会(7月24日-广州)

第四期FLASH专家交流会 724 广州东方国际饭店

活动主题: 新技术和开发经验

免费参加,座位有限,报名请点击 http://www.swfsh.com

中国FLASH开发者交流会是一个双月定期举行的开发者交流会,在上海已经成功的举办了三届了,共有近600名FLASH专业开发者参加

7月24日,第四届FLASH开发者交流会将于广州东方国际饭店举行,这次将聚集来自广东、深圳、厦门地区的近两百位FLASH开发者出席,这次会议议程主要是对Flash-MMORPG游戏引擎及工具开发概述、Flash游戏应用框架和模块开发、FlashSocket通讯等几方面的剖析。

想了解活动议程,请登录活动网站http://www.swfsh.com
加入官方QQ群(77468146)以了解更多关于交流会活动的最新信息

活动地点:广州市广州大道中1418号,广州东方国际饭店13楼A厅
酒店电话:020-37233888

成就你的游戏梦

      盛大游戏,国内知名游戏公司,拥有国内最丰富的自主知识产权网络游戏的产品线,向用户提供包括大型多人在线角色扮演游戏(MMORPG)、高级休闲游戏等多样化的网络游戏产品,满足各类用户的普遍娱乐需求(参考百度百科). 6月30日, 盛大正式推出全新游戏平台: Mochi麻球网)。

      此前, 盛大在2010年初以8000万美元收购Mochi Media。Mochi Media是全球最大的网络游戏分销平台,在国内外拥有众多的游戏玩家及合作伙伴,并且有着完善的游戏广告及支付体系。当时Mochi就已经运营有15000余款游戏,网络上的游戏玩家每月为1.4亿,其中有2900万来自中国。可以说是业绩斐然。盛大在收购Mochi之后立即推出了Mochi游戏开发者基金, 投入一千万美元帮助有发展潜力的游戏开发者。

      经过半年多的策划,整合及测试,崭新的游戏平台Mochi问世了。集成了广告分享数据分析钱币管理积分排行社交网络等大量的API,此外还有多种游戏发行渠道及更新方式。对于开发者, 只需专心研发游戏,其他的一切均可交给Mochi来做, 轻轻松松赚钱。

      我们再来谈谈Flash游戏。 最早出现的是单机小游戏,无需与他人交互。此类游戏数量众多,内容丰富多样。随着Flash技术的发展,甚至有高手用Flash开发出FC模拟器, 可重温当年的许多经典游戏而不用重新编写。这类单机小游戏主要集中在一些游戏收集站点上。

      随着近几年来SNS剧烈升温,与其相辅相成的社交休闲型网页游戏越来越受到大家的喜爱,老少皆宜, 玩家团体如滚雪球般增长。网页游戏对比大型网络游戏上手容易, 操作简单, 界面友好,是普通玩家的选择。 即使是大型网游的骨灰级玩家,同样对网页游戏爱不释手,足见其独特的魅力和巨大的发展空间。风投们纷纷将绣球抛给如雨后春笋般出现的网页游戏公司及团队,网页游戏逐年壮大,市场渐渐成熟。独立推广自身游戏的国内公司少之又少, 大多数是依托了人气较高的SNS网站, 如Facebook人人网。利用其内部的虚拟货币交易系统获得分成。由于单机小游戏在“社交”方面并不擅长,在SNS中没有占据较大比例。

      总之,网页游戏十分火爆,这是继Flash在广告,网站,动画,网页视频领域后的又一次冲击。大量的IT从业者转职为Flash游戏开发工程师足可以看出这一点来。当然,游戏使用什么技术实现,依托什么平台推广玩家是不会关心的, 而对于我们游戏开发商或个人却是至关重要的,重中之重就是收益。而Mochi替我们解决了这些麻烦问题,除了虚拟货币交易系统,还引入了在SNS中少有的广告分成,给了苦于获利的广大单机小游戏开发者一条黄金之路。当然, 社交型游戏也可以走这条黄金之路,Mochi会免费为您推广到主流社交网站。

      Mochi提供了较为完善的API,积极分享游戏体验与开发技术,在她的协助你可以快速完成一款精美的游戏。如果策划足够好,Mochi也许会在资金方面帮助你,参见上面提到的开发者基金

(Mochi API及开发者基金简介界面)

      您可以访问麻球网查阅您最想了解的信息。

      说了这么多,你是否动心了呢?曾因服务器,软硬件,推广等等原因不得不深埋心底的游戏梦想,或许今天在Mochi的帮助下就能实现。

      近期麻球网还将与Adobe公司合作,举办首届开发者大赛,奖金或达到10万元。国内RIA大站天地会将作为这次大赛的协办单位(消息来自9RIA.COM)。另:麻球的多人游戏接口正在计划中,减少接口功能方面的束缚, 充分发挥游戏策划者的思想。

      你可能看出来这是一篇推广Mochi的文章,我不否认。Mochi能给广大游戏开发商或个人带来切实利益,为什么不推广她呢。快些来吧,将你的游戏与Mochi分享,与全世界的玩家分享(他们会分享给你真正的美刀)。

      游戏梦想之城期待着你的入住!

(感谢Y-Boy指出BUG :) )

Page 1 of 23123451020...Last »