ActionScript3 Category

原文链接: AIR Native Extension实现iOS应用内付费(In-App Purchase)全教程(三)——iOS应用内付费简介和准备流程 本文的主要内容如下: IAP简介 商品与交易 测试IAP的准备流程 ———————————————————————————— IAP简介 IAP的全称是In-App Purchase,应用内付费。这种业务模式允许用户免费下载试用,对应用内提供的商品选择消费,比如购买游戏道具,购买游戏等级等等。相比完全收费的应用而言,应用内付费给用户试用的机会,不会让优秀的应用因为缺乏用户的认知而丧失消费者;而且对于开发商,也不需要为了让用户试用而单独发布一款免费的精简版本。 ———————————————————————————— 商品与交易 苹果官方的关于IAP的帮助文档是只对注册开发者开放的,所以我不方便把它转载在这里,但我可以对IAP里的关键因素做一个通俗易懂的介绍。 IAP里有两个关键的词,商品(Product)和交易(Transaction)。 商品可以是一种虚拟的道具,一个隐藏的关卡或者地图,但必须是直观的,可以让用户购买后直接获益的产品。IAP的商品从消费性质上分为四种: 1,消耗型商品,比如游戏道具,子弹,药品等等。由于这类商品可以被消耗,所以支持重复购买。苹果应用商店不保存此类商品的购买记录,如果要保存则需要开发者同步到自己的服务器上。 2,非消耗型商品,比如游戏关卡,隐藏地图等等。这类商品只要购买一次便可以了,苹果应用商店里每一个用户对非消耗型商品的购买都有记录,可以在不同的设备上恢复购买状态,这个恢复的过程叫做Restore。 3,自动重置型订阅,比如电子杂志,读物等。消费者购买这类商品时会从列表中选择一个有效期限,卖家在定义商品的时候从一群固定的选项中选择添加一个有效期,比如7天,一个月,两个月。过了有效期之后,商品的购买状态会被自动重置成未购买,要想继续获得内容则需要再次订阅。这种类型的商品和非消耗型商品一样,会在苹果商店内保存购买记录。 4,非自动重置型订阅,比如用户订阅电子杂志和读物报刊时需要从自定义的期限列表中选择期限,而不是苹果提供的固定选项,比如9天,一个半月或任意时间。在这种情况下,苹果商店无法根据期限来控制订阅的到期行为,所以一切都需要开发商自己编写相应的逻辑来实现。 交易是指用户对一个商品的购买行为,当用户点击购买一件商品时,一个新的付费行为就被添加到付费队列中,付费队列是一条系统线程,即使应用程序终止仍然会继续执行。 ———————————————————————————— 测试IAP的准备流程 如果你是一个注册的苹果开发者,接受了最新的苹果开发者协议,并且签署了iOS付费应用合同,那么你就可以继续IAP的测试了。 如果此时你对iOS的开发流程不是很熟悉,在阅读下面的内容之前,我强烈建议你先看看我的这几篇文章: 如何成为一个合法的iOS开发者 如何使用iOS开发者授权以及如何申请证书 如何为iTunes Connect准备应用 如果你已经注册成为苹果开发者,并且熟知了如何给设备授权,如何申请证书,如何发布应用,那么请继续阅读我下面的内容: 使用未越狱的设备 测试IAP的项目不能使用越狱的设备,否则会出现无法连接到应用商店的错误。恢复设备到未越狱的系统后,登陆Provisioning Portal添加设备的UID。 使用没有通配符的App ID 在定义App的Bundle ID的时候,我曾经介绍过可以使用类似 com.jamesli.* 这样的值来覆盖多个应用的ID。这种定义方式不能用在打算使用IAP的应用上面,定义IAP的应用必须使用唯一的ID,如com.jamesli.ghostbride。如果正确定义了,应用的In-App Purchase的功能是默认开启的,如下图: 在iTunesConnect创建应用 登陆iTunesConnect,创建一个新的应用,即使该应用尚未开发,也可以用一些假的文字和图片来代替,创建好之后切记要点击Ready to Upload binary将应用的状态变为Waiting for upload。 管理In-App Purchase商品 在应用列表中点击新创建的应用图标,进入应用首页,在右面的一行按钮中选择Manage In-App Purchase,进入内付费商品管理页面。通过点击左上角的Create New按钮可以进入商品页面选择创建一个新的商品。页面中显示的四种商品分别是我在本文介绍过的四种商品,消耗型商品(Consumable),非消耗型商品(Non-Consumable),自动重置型订阅(Auto-Renewable [...]

原文链接: AIR Native Extension实现iOS应用内付费(In-App Purchase)全教程(二)——AIR面向iOS设备的原生扩展 本文的主要内容如下 AIR Native Extension介绍 ANE的组成部分 ActionScript 3.0扩展 Objective-C 扩展 使用ADT打包ANE 使用ADT打包IPA ———————————————————————————— AIR Native Extension介绍 AIR Native Extension (ANE)是AIR 3.0的一项重要特性,简单的说,它允许AIR应用程序通过扩展文件与原生应用程序类库相互通讯,从而让AIR应用实现一些只有原生程序才可以做到的功能。 在ANE出现以前,移动平台上的AIR对系统的访问非常有限,功能的实现都是封装在封闭的,由Adobe定义好的ActionScript 3.0 API内,比如Accelerometer, GeoLocator等AS类。ANE则将AIR彻底开放出来,AIR不再针对具体的功能提供封闭的API,而是允许开发者通过AIR的扩展机制自由调用使用原生语言开发的类库。这样可以让AIR应用程序享有与原生应用程序同等的机会,其意义对Flash技术来说是划时代的。 ———————————————————————————— ANE的组成部分 ANE支持向Windows、Mac OSX、Android和iOS各个平台原生应用程序的扩展,本文只针对iOS平台进行介绍。在iOS平台中,ANE的组成部分基本分为ActionScript 3.0扩展类库和Objective-C原生扩展类库两个部分,这两个部分打包后生成AIR扩展文件(.ane),最后和AIR应用程序一起打包成iOS原生应用IPA文件。如下图所示。 图1 ANE的组成部分 ———————————————————————————— ActionScript 3.0扩展 ANE的AS扩展部分是一个SWC,AIR 3.0 SDK里为flash.external.ExtensionContext类添加了新的方法。如下例所示: import flash.external.ExtensionContext; … private var ext:ExtensionContext; … ext = ExtensionContext.createExtensionContext("com.adobe.appPurchase",""); 在这个例子里,ExtensionContext通过静态方法createExtensionContext()来获得一个实例,参数com.adobe.appPurchase是这个扩展的ID,它非常重要,在扩展的配置文件里和应用程序描述文件中都需要用这个ID进行配对。 调用原生类中定义的方法可以用方法call()来实现,由于是同步调用,所以函数可以有返回值。如在原生类中定义的方法finish,可以用下面的代码来调用。 var [...]

原文链接: AIR Native Extension实现iOS应用内付费(In-App Purchase)全教程(一)——概览 阅读本文的基础 ActionScript 3.0编程基础 Apple iOS开发者权限 前言 记得在写Flash开发iOS应用全攻略的时候,不少感兴趣的朋友询问Flash技术是否能实现App Store的应用内付费功能(In-App Purchase,以下简称IAP)。在那个时候我只能说,很抱歉,目前还不支持,但是在半年后的今天,在我提笔写这篇教程的时候,我刚刚完成了一个用Flash技术实现IAP的例子。确切的说,是用AIR 3.0的原生扩展功能(AIR Native Extension,以下简称ANE)实现的。ANE作为AIR 3.0的一项重要特性,为Flash平台往系统底层的功能延伸奠定了基础,为Flash开发者在移动设备上开发商业应用提供了技术保证。它的出现,使AIR更具开放性,随即推动的是使用AIR和原生技术共同开发工作流,AS开发者与Native开发者的关系也将从以往的竞争转为合作。 在这个系列的文章中,我会对ANE做一个详细的介绍,同样介绍的还有苹果IAP的相关知识,最后通过一个具体的例子来讲解从流程到代码,从思路到技巧等各方面的知识点。希望各位朋友在阅读之后可以全面掌握ANE和IAP,并在实际的应用开发中派上用场。 内容提要 本系列文章大概内容如下: AIR面向iOS设备的原生扩展 AIR Native Extension介绍 ANE的组成部分 ActionScript 3.0扩展 Objective-C 扩展 使用ADT打包ANE 使用ADT打包IPA iOS应用内付费的实现原理和准备流程 IAP简介 商品与交易 测试IAP的准备流程 ANE面向IAP的测试和开发 在Native扩展中使用StoreKit框架 ActionScript扩展 ANE-IAP开发实例分享

前段一大部分的时间是在研究Adobe AIR Native Extension实现iOS应用内付费(In-App Purchase),并且在 Adobe 的 James Li 的帮助下测试成功。 现在 Adobe 的 James Li 已经完成了关于 AIR Native Extension实现iOS应用内付费(In-App Purchase) 的全教程。 下面为从 Adobe 的 James Li 转载过来的原稿。 AIR Native Extension实现iOS应用内付费(In-App Purchase)全教程(一)——概览 AIR Native Extension实现iOS应用内付费(In-App Purchase)全教程(二)——AIR面向iOS设备的原生扩展 AIR Native Extension实现iOS应用内付费(In-App Purchase)全教程(三)——iOS应用内付费简介和准备流程 AIR Native Extension实现iOS应用内付费(In-App Purchase)全教程(四)——ANE面向IAP的测试和开发

我是 Ticore,論壇上看有人問 Flash CS5.5 用 AS3 建立的 TextField 無法動態設置中文字體 實際測試之後,發現並不是 Flash IDE 的問題 而是 Flash Player 10.2, 10.3 且當 swf version 為 11, 12 時,TextField 用中文名稱設定字型失效 測試程式碼如下: package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFormat;   [SWF(width="300", height="200")] public class Main extends Sprite {   public function Main() { var txt:TextField = new TextField(); // [...]

On my way

2012 年五月
« 四    
 123456
78910111213
14151617181920
21222324252627
28293031  

Client & Partner

HSBC
ING
永丰银行
桐乡·振石大酒店
MODEKUU思齐之家

Aedis.Ju Ex-Blog

MXNA
9RIA
Creative Commons License
DropBox