AIR 3.5 使用 GoViral 本地扩展实现 iOS 6 社交网络功能

  • 资讯类型: 翻译
  • 来源页面: http://www.adobe.com/devnet/air/articles/ios6-social-networking-with-goviral-ane.html
  • 资讯原标题: Using iOS 6 Social Networking features in AIR 3.5 with the GoViral Native Extension
  • 资讯原作者: Alex Liebert
  • 翻译词数: 1567 词
  • 我的评论:凭借 Milkman Games 提供的针对 iOS 的 GoViral 扩展,您可以使用 ActionScript 3 将 Facebook、Twitter 和电子邮件的社交网络支持快速集成到移动 AIR 应用程序中。
    GoViral 本地扩展链接 http://www.milkmangames.com/blog/tools/#iosgv 
    对这篇文你有啥看法,跟贴说说吧!欢迎口水和板砖,哈哈。欢迎大家和我们一同分享更多资讯。


  iOS 6 为开发者提供了一系列的新的内置的社交网络功能,包括对Facebook,Twitter, 还有最近新加入的新浪微博都有了更紧密的集成,可提供一种快捷的方式将信息和图片提交到用户选择的服务中。使用Adobe Air 3.5 和 GoViral 本地扩展,仅用几行代码你就可以分享状态的更新,图片,URLs 到一系列的服务中。

  本文涵盖了iOS 6的social composer 和活动分享视图(activity sharing views)功能的使用,允许开发者快速实现分享功能而不需要创建一个目标服务的开发人员帐户。了解更深入的有关Facebook集成功能, 包括单一登录,好友请求,图形API,和其他高级特性等,请参考前面的Using the GoViral social networking extension for iOS GoViral 教程。


安装AIR 3.5 SDK

  GoViral的本地扩展需要AIR 3.5 SDK或更新的版本。您可以从http://www.adobe.com/special/products/air/sdk/下载最新的AIR SDK。如果您在Flash Professional CS6 或者 Flash Builder IDE中还没有安装AIR 3.5 SDK,请遵循下面的说明进行。

安装AIR 3.5 SDK到Flash Professional CS6
    1.    解压缩AIR 3.5 SDK包到你的硬盘驱动器中。
    2.    开启Flash Professional CS6。
    3.    选择 Help > Manage AIR SDK。
    4.    单击加号按钮并浏览到AIR SDK解压后的地址。
    5.    点击ok。
    6.    选择File > Publish Settings。
    7.    选择AIR 3.5 SDK for iOS作为目标。

安装AIR 3.5 SDK到Windows平台的Flash Builder 4.6
    1.    解压缩AIR 3.5 SDK包到你的硬盘驱动器中。
    2.    关闭Flash Builder。
    3.    定位Flash Builder SDK路径。在Window中, 通常是c:\Program Files\Adobe\Adobe Flash Builder 4.6\sdks。
    4.    复制当前的Flex SDK路径,我们先假定一个描述性名字。例如,复制/sdks下的4.6.0 SDK 文件夹,定义为复制4.6.0_AIR35。
    5.    复制粘贴AIR 3.5 SDK的内容到4.6.0_AIR35目录。接受全部修改。
    6.    在新的目录中编辑flex-sdk-description.xml 文件。改变 name标签的value值为  Flex 4.6.0 (AIR 3.5)。
    7.    打开Flash Builder,并选择Project > Properties > Flex Compiler > Configure Flex SDK。
    8.    单击 添加按钮, 浏览新的文件夹地址。

安装AIR 3.5 SDK到OS X平台的Flash Builder 4.6
    1.    复制AIR 3.5 SDK包的内容到你的硬盘驱动器中。
    2.    关闭Flash Builder。
    3.    定位Flash Builder SDK路径。在iOS上,通常是/Applications/Adobe Flash Builder 4.6/sdks/。
    4.    在/Flash Builder 4.6/sdks/ folder 下创建一个名为AIR35SDK 的新文件夹,把你第一步下载好的AIR3.5 SDK包的内容复制进去。
    5.    打开终端, 合并AIR 3.5 SDK文件到你的当前SDK路径下。

sudo cp -Rp /Applications/Adobe\ Flash\ Builder\ 4.6/sdks/AIR35SDK/ /Applications/Adobe\ Flash\ Builder\ 4.6/sdks/4.6.0/

    6.    在新的目录下编辑flex-sdk-description.xml ,改变 name标签的value为 to Flex 4.6.0 (AIR 3.5)。
    7    打开Flash Builder, 并选择Project > Properties > Flex Compiler > Configure Flex SDKs。
    8.    单击 添加按钮, 浏览新的文件夹地址。

导入 GoViral API 库
  
  接下来,将 GoViralAPI.swc 库(或 com.milkmangames.nativeextensions.GoViral.ane,适用于 Flash Builder 4.6 及更高版本)添加到您的项目。这些文件可以在 GoViral 扩展包的 extension 文件夹中找到。

在 Flash Professional 中:
    1.    创建一个类型为 AIR for iOS 的新项目。
    2.    选择 File > Publish Settings。
    3.    选择 Script for ActionScript Settings 旁边的扳手图标。
    4.    选择 Library Path 选项卡。
    5.    按 Browse For Native Extension (ANE) File 按钮并选择 com.milkmangames.nativeextensions.GoViral.ane 文件。

在 Flash Builder 4.6 中:
    1.    转到 Project Properties(在 Package Explorer 中右键单击您的项目并选择 Properties)。
    2.    选择 ActionScript Build Path 并单击 Native Extensions 选项卡。
    3.    单击 Add ANE 并导航到 com.milkmangames.nativeextensions.GoViral.ane 文件。

在 FlashDevelop 中:
    1.    将 GoViralAPI.swc 文件复制到您的项目文件夹中。
    2.    在资源管理器面板中,右键单击 SWC 并选择 Add To Library。
    3.    在资源管理器面板中,再次右键单击 SWC 文件,选择 Options,然后选择 External Library。

API 入门
  
  在本地扩展中使用iOS 6 社交功能之前,需要初始化GoViral 实例。
  请按照以下步骤开始操作:

    1.    导入 API 类:
import com.milkmangames.nativeextensions.*;
import com.milkmangames.nativeextensions.events.*;

    2.    首先调用 GoViral.create() 初始化 API 来创建一个 GoViral 对象实例。 检查 GoViral.isSupported() 方法,确保当前使用的平台受支持(PC 和 Android 不受支持):

if ( GoViral.isSupported() )
{
      GoViral.create();
}
else
{
      trace(“GoViral only works on iOS!”);
      return;
}

在iOS 6 活动视图中分享信息

  iOS 6”活动视图”呈现给用户了一个弹出的UI,用户可以根据他们选择的服务(像邮件,短信,Twitter,Facebook,或者新浪微博等)来立即分享消息。

提交信息

    1.   首先添加一个  GVShareEvent.GENERIC_MESSAGE_SHARED的事件监听,当活动完成时会派发这个事件。
GoViral.goViral.addEventListener(GVShareEvent.GENERIC_MESSAGE_SHARED,onShared);

function onShared(e:GVShareEvent):void
{
    trace("message was shared with activity view!");
}


    2.   打开活动视图,调用shareGenericMessage()方法,传递下列参数,包括主题,消息内容,以及是否消息是HTML格式的。最后两个参数定义app在iPad上运行时活动视图将要显示的位置。(你可以设置为当前操作的按钮的位置)。

// make sure this function is available (iOS 6 or higher)
if ( GoViral.goViral.isGenericShareAvailable() )
{
       GoViral.goViral.shareGenericMessage(
       "This is a subject!", // not all targets will use the 'subject'
       "I'm sharing this!", // this is the message to share
       false, // set to 'true' if the message is html-formatted
       800, // on iOS 6 ipads, show the popup at 800 pts x
       800 // on iOS 6 ipads, show the popup at 800 pts y
);

提交带图片的信息

  带图片附件的活动视图的显示,需要使用shareGenericMessageWithImage()方法,参数跟shareGenericMessage()方法的一致,但是你需要添加你要附加的图片的BitmapData的引用。

// make sure this function is available (iOS 6 or higher)
if ( GoViral.goViral.isGenericShareAvailable() )
{
        GoViral.goViral.shareGenericMessage(
        "This is a subject!", // not all targets will use the 'subject'
        "I'm sharing this!", // this is the message to share
        false, // set to 'true' if the message is html-formatted
        myBitmapData, // the BitmapData to attach
        800, // on iOS 6 ipads, show the popup at 800 pts x
        800 // on iOS 6 ipads, show the popup at 800 pts y
);


用 Social Composer 分享到 Twitter, 新浪微博, 或者是 Facebook
  
  IOS 6引入了另一个新特性,Social Composer 视图,它可以用于快速共享信息图像到内置的社会服务中,例如新浪微博,Twitter和Facebook等。

    1.   当活动完成时会派发 GVShareEvent.SOCIAL_COMPOSER_FINISHED事件,添加事件监听。当用户取消操作的时候会派GVShareEvent.SOCIAL_COMPOSER_CANCELED事件。

GoViral.goViral.addEventListener(GVShareEvent.SOCIAL_COMPOSER_FINISHED,onSocialFinished);
GoViral.goViral.addEventListener(GVShareEvent.SOCIAL_COMPOSER_CANCELED,onSocialCanceled);

function onSocialFinished(e:GVShareEvent):void
{
      trace("message was shared to"+e.socialServiceType+" with social composer view!");
}
function onSocialCanceled(e:GVShareEvent):void
{
      trace("the user canceled the social composer.");
}

     2.    通过调用 displaySocialComposerView() 方法打开 Social Composer 视图。你可以从 GVSocialServiceType.FACEBOOK, GVSocialServiceType.TWITTER, or GVSocialServiceType.SINAWEIBO 等常量中指定一种社会服务类型,添加消息,图片和URL 。在调用之前,需要调用 isSocialServiceTypeAvailable() 方法来确保启用的服务和操作系统支持它。下面是一个将一个消息、URL和BitmapData图片分享到新浪微博的示例。

// share with Sina Weibo in iOS 6, if it's available
if(GoViral.goViral.isSocialServiceAvailable(GVSocialServiceType.SINAWEIBO))
{
    GoViral.goViral.displaySocialComposerView(
    GVSocialServiceType.SINAWEIBO,
    "I'm sharing this message",
    myBitmapData,
    http://www.milkmangames.com
}

更新应用的描述文件
  
  在应用的描述文件中,需要指定你在使用的AIR SDK (3.5或者更高版本)的版本号以及扩展的链接。

    1.   如果您还未设置,那需要在应用描述文件中设置AIR SDK的版本(如果你使用的SDK版本是3.5)。

com.milkmangames.extensions.GoViral


构建应用

在 Windows下的Flash Builder 4.6 中:
Flash Builder 4.6 对本地扩展全部支持
   1.    确保你已经包括了包含GoViral API库的一个ANE 描述文件。
   2.    确保目标配置中扩展是可用的, 在项目属性 本地扩展选项卡中 Flex Build Packaging > Apple iOS Area。
   3. 像往常一样构建并部署应用程序。

在 Windows系统下Flash CS6 中:
    1.    创建一个类型为 AIR for iOS 的新项目。
    2.    选择 File > Publish Settings。
    3.    选择 Script for ActionScript Settings 旁边的扳手图标。
    4.    选择 Library Path 选项卡。
    5.    按 Browse For Native Extension (ANE) File 按钮并选择 com.milkmangames.nativeextensions.GoViral.ane 文件。

在 FlashDevelop 中:
FlashDevelop没有完整的本地扩展集成,但是你仍然可以使用它来构建应用程序的SWF文件。
    1.    确保你已经有包含GoViral API库的SWC描述文件。
    2.    在FlashDevelop中构建你的应用程序,注意生成的SWF文件的位置。
    3.    确保你已经下载了AIR 3.5 SDK (或者更高级版本), 解压到你的PC文件夹中。以下例子中假定你解压到c:\dev\air_sdk_35。
    4.    创建一个目录来存储您的应用程序的组件文件。下面的例子假设目录是c:\ dev \ myapp。
    5.    复制 .mobileprovision文件, SWF文件, p12 keystore文件, 应用程序描述符文件, 和.ane文件到你的新的目录中。
    6.    打开命令提示符并导航到新目录。(在Windows 7或更早版本中,点击 开始>所有程序>附件>命令提示符。在Windows 8,右键点击Start Screen,点击 所有应用>Windows系统>命令提示符)。下面的命令将导航到c:\ dev \ myapp目录: 

cd c:\dev\myapp

    7.    使用 AIR SDK 编译 设备的最终的IPA。下面的命令演示了如何用上面描述的示例路径来编译。运行命令前替换掉以下假定的路径。   

c:\dev\air_sdk_35\bin\adt -package -target ipa-test-interpreter -storetype pkcs12 -keystore YOURKEYSTOREFILE.P12 -storepass YOURPASSWORD -provisioning-profile YOUR_MOBILEPROVISION_FILE.mobileprovision myapp.ipa myapp.xml myapp.swf -extdir .

    8.   注意点-extdir之后的.号,它并不是一个输入错误;它告诉adt包装机在当前目录中寻找扩展。

更多扩展内容:

  现在您已经在自己的应用程序启用iOS 6基本的分享特性了,您可能希望在本教程中探索更多关于Facebook、Twitter和邮件等深层次的集成, 可以查看这些关于本地扩展的其他文章:


Using the Push Notifications native extension for iOS
Using in-app ratings with the RateBox native extension for Adobe AIR on iOS and Android
Using native extensions in Adobe Flash Professional CS6
Using the In-App Billing Adobe AIR native extension for Android
Using the iOS In-App Purchase native extension for Adobe AIR

Using the iAd Adobe AIR native extension for iOS

更多扩展,详见More Native Extensions from Milkman Games.

你可能感兴趣的:(iOS)