Flash 平台服务:社交服务

Adobe Flash Builder 4 简体中文正式版 下载: http://subject.csdn.net/adobedownload/index.html


Adobe平台技术峰会课程视频:http://adobev.csdn.net/

“闪创未来”-Adobe Flash 平台应用开发大赛:http://adobec.csdn.net/


本文译自: http://www.insideria.com/2010/03/flash-platform-services-social.html

更多时候,客户想要对项目添加社群能力。譬如,使用个人 Twitter MySpace 账户用于认证,或使用程序更新个人信息并且发送邮件给朋友。

所有这些特点都是可能成为现实的,但是,当项目要求使用至少两个社交网络时,就出现困难了。这就要求熟悉至少两个API,并且尝试无缝接入应用程序。

Flash  平台服务

Flash 平台服务为 Flash 提供恶劣更多的社交功能。一系列服务能帮助作为开发人员的你创建实时多用户体验,包括利用 Live Cycle 协同服务聊天,网路摄影共享和文件分享。为了分享你的内容,并且通过社交网络跟踪它(包括管理工具)以从项目中套现,而这一切可通过配送服务实现。实际上,在本测试版中,编写就是让你的内容获取利润的能力(项目代码为“ Shibuya ”)。

进入社交服务

http://www.adobe.com/devnet/flashplatform/services/social/ 上,有个 ActionScript API ,它试图将一些工作内容抽象化。这样,你可以专注于构建一个应用程序,而无需花费太多时间在整合上。现在,社交服务与 Facebook, Twitter, MySpace, Yahoo!, LinkedIn 和其它等连接起来。

Distribution Service 配送服务类似,这是缘于 Adobe Gigya 之间的合作。下载

社交服务库( Social Service Library )。这是个小型的ZIP文件,包括小量的 ActionScript 文件。

获取你的 API 秘匙

鉴于社交API是一个抽象服务,开发人员的秘匙( developer key )对你规划中的社交网络来说非常必要。因此,如果你想要创建一个 Twitter 客户端,你需要获得 Twitter 开发人员的秘匙,对 Facebook, MySpace 和其它来说依如此。

譬如,我们将创建一个应用程序,展示 Facebook 好友清单。首先,我们需要一个 Facebook 开发人员的秘匙。登陆 Facebook ,安装 Developers 应用程序。在最顶部,点击“ Set Up New Application ”(设置新程序)。

执行指令时,有几点需要设置的。给你的程序命名。上载代表你的程序的图标。

一旦这些设置完成,点击“ Authentication ”(认证)标,针对问题“可安装到?”, uncheck “Users”(用户)选项。 Gigya 将提供一个URL,你需要粘贴到“ Post-Remove Callback URL ”(卸载回调地址)域去。记住卸载你的更改内容。

在你能够从 Facebook 上获取API秘匙前,要采取几个步骤。

点击“ Canvas ”标,在“ Canvas Callback URL ”域里,输入 Gigya  给你的“ field:  http://socialize.gigya.com/GS/SNLink.aspx?snid=64&c=1

  “编辑设置”下,点击“Connect”(连接)标,输入“ "htp:/wwwsocialize.gigya.com/gs/ ”。

一旦完成,点击“保存变更”按钮。

在“高级”部分,输入“ gigya.com ”作为邮件域名。一旦你保存了更改,你可以收到API秘匙,及 Application Secret

现在,你有了秘匙,每项内容都在社交服务认证网站上了。

你需要一个 Adobe ID 登陆。一旦进入,你会被提供一个秘匙。秘匙将用于你的 ActionScript

在顶部,你需要添加一个域,从这里运行你的程序。现在,API仅仅在线运行。这是程序保持安全的方法之一。但是,AIR程序不能运行。因此,记住在服务器上上载你的最终程序,这个服务器的域名与你输入的内容一样。

在右边,你会看到一个社交网络列表,你能与之连接。点击编辑按钮,你会进入一个页面,输入你从 Facebook 收集的信息。输入你的API秘匙和你的 Secret Key 。保存你的设置。打开视窗。当我们开始在 Flex Builder 里写入代码时,我们会回到这个新的秘匙。

回到 Flex Builder

Flex Builder 里创建新的项目。打开之前下载的 Zip 文件。在里面,你会看到一个文件夹,标为“ fps ”,将该文件夹放入你的“ libs ”文件夹中。现在,你的项目可以使用社交服务了。

你测试的第一个方法就是:向你的文件添加一系列脚本标签。在 Flex Builder 里,代码特征可以显示从 fps 包的输入。

社交服务是异步的,这意味着一旦社交服务的某个方法被调用,程序会继续运行,并等待结果。当结果返回时,回调函数处理结果。回调函数由开发人员确定。

加载服务

我们的第一套 ActionScript 向程序标签添加一个 applicationComplete 事件。然后,我们就有了按钮,标签和图标。按钮的ID为“ connectButtto ”,其标签上为“登陆社交服务”。标签和图标的ID分别为“ userLabel ”和“ userImage ”。

ID为“ friendsGrid ”的 datagrid 也有个 itemClick 事件,将调用函数“ getFriendsInfo ”。在 DataGrid 里,我们将创建一个 itemRenderer ,以保存好友的图片和名字。

canvas tag 包含一个 HBox ,在这个 Box 里,我们会有另外一个 Image Label 标签。这将包含网格中被点击的人的名字和图片。然后,会显示几个 label tag ,说明城市,州,代码和性别。

下一步,我们添加一些 ActionScrip 以加载服务;

ListEvent,ArrayCollection MouseEvent 类都是引入的。这里,最重要的引入语句是针对社交服务的,让我们能使用该服务。

下一步是我们的 config 对象。鉴于服务设定的方式, config 数据需要通过每个方法调用予以通过。所以在本例中,它是全局的。 config  对象持有多个属性,第一个就是API秘匙。在生产环境里,你会想要抽象出这个,这样如果SWF被反编辑,你的秘匙不能被使用。 EnabledProviders 给你机会列出任何你想要提供给用户的社交网站。使用星号

(*)  启动。

Init 函数禁用 connectButton ,然后添加事件监听器。下一行是关于之前创建的 config 对象,找到 mcRoot 参数。

一旦找到,它将给现在的 movie  root赋值。这是被要求的参数,必须在运行时间设定。

之后是 loadParams 对象。有两个属性被赋值,并且要求 services witch 。这样,就会加载你敢兴趣的服务。在缺省状态,你可以通过“ socialize ”。第二个属性就是回调,当数据返回到Flash,这个向回调函数赋值。在本例中,函数被称为“ onServiceLoad ”。最终,加载方法被调用,将所有数据传输到服务。

当数据返回, onServiceLoad 方法被调用。一旦加载,它会检查是否存在错误。如无错误, connectButton 组件被启动,事件处理器被添加到社交服务上。

添加了事件处理器之后,当 onConnect onDisconnec 事件被调用, renderUI 函数被调用。这个方法检查用户是否连接上了。如果是,获取用户昵称,检查它们是否有缩略图。如果缩略图存在,使之成为 userImage tag 的源。然后移动原有的事件监听器到 connectButton ,并添加新的。

在下一个代码栏里,我们创建一个屏幕,用户可以选择社交网络。记住,只有在所有各类社交网络事先设置完,才可以进行。在这个函数里,有个对象叫“ loginParams ”被创建。这个对象将包含登陆组件的属性。这个对象属性之一就是:容器。如果你使用容器属性,就必须使用 canvas tag 以定位登陆窗口。如果没有使用容器属性,则登陆会显示成为一个弹出窗口。第二个函数 onCloseUI 让我们知道,登陆窗口被关闭。

获取好友

在这个点上,当测试movie时,你应该能够点击安努,获取一个弹出窗口,该窗口显示所有受支持的社交网络。选择一个社交网络, ( 在本例中,是 FaceBook)  ,关闭窗口,显示你的名字和缩略图。当测试程序时,记住加载文件到你在社交设置中指定的服务器。你还可以点击登陆栏中左下角那个小的“ Edit ”链接。你可以退出服务或登陆。

现在,我们可查询您的好友。下一个按钮“ getFriends ”从社交服务调用“ getFriendsInfo ”方法。与其它范例类似,我们使用数据创建对象,发送到服务器。回调就像其它范例一样,定义当结果被返回到服务时,应该调用那个方法。然而,“ detailLevel ”告知服务获取额外的细节,这类细节在缺省状态不会提供。这样就可以检索信息,如年龄,州,性别,生日和电子邮件地址。

结果返回时是以数组的形式。看下响应对象,好友属性包含一个数组,提供所有的好友信息。鉴于我们将要在 Datagrid 里展示这些信息,我们将创建一个 ArrayCollection 以放入它。进入 ArrayCollection ,它被做为数据提供者赋值到 DataGrid ,称之为 friendsGrid

itemClick 事件发生时,最后一个方法 GetFriendInfo 被调用。这样,获取嵌入每个条目渲染器中的好友信息,并将它们应用于label上。当运行该程序时,你可点击一个好友,看到面板中的详细信息。

传递到该方法的事件数据的数据类型为 ListeEvent 。当传递目标信息时,我们可以看到 seletedItem 。这就是被点击的网格中的 active row selectedItem 然后拉动缩略图,昵称,州,城市,邮编和性别。一旦检索到信息,就会将条目渲染器中的数据赋值到标号域。

添加你的条目渲染器

条目渲染器可以让你定制列表组件的结果。在本例中,我们将要定制 DataGrid

这是个针对 datagrid 的简单的条目渲染器。为了创建渲染器,使用 File>New>MXML Component 。这里,我们将给它命名为 FriendThumb ,做为文件名。以 HBox ,不添加宽度或高度。

在这个新文件里,我们将要创建一个标签组件。我们创建的条目选燃气将从 datagrid 提取数据。这些数据就是昵称和缩略图的URL。

有几个类似的步骤将 Twitter, LinkedIn, MySpace  等与其它社交服务连接起来。你作为一名 Actionscript 开发人员,除了开发人员指南中的指令外,不需要了解更多了。

应用程序可使用社交网的用户名和密码,登陆单个程序,而无需为每个instance编写代码。这也提供了从提供外部服务的社交网站,如 Yahoo!  YQL ,组合(mashup)数据的能力。游戏也可从这种服务中获益。用户们,不再需要一个“发送到好友”的邮件连接,而可以粘贴到“墙上”供所有的好友阅读。 Actionscript 的文件和PDF版本都可在线获取。你可以在这里获得 Flex 3 源文件。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值