守望者--AIR技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ANE FlasCC 炼金术
查看: 1102|回复: 0

[平台接入] 使用ANE整合FACEBOOK

[复制链接]
  • TA的每日心情
    擦汗
    2018-4-10 15:18
  • 签到天数: 447 天

    [LV.9]以坛为家II

    1742

    主题

    2094

    帖子

    13万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    562
    贡献
    29
    金币
    51788
    钢镚
    1422

    开源英雄守望者

    发表于 2015-1-15 10:49:53 | 显示全部楼层 |阅读模式
    本帖最后由 破晓 于 2015-1-15 11:04 编辑

    如何在AIR编写的移动应用中整合Facebook?以下是我这两天的研究成果。
    1. 如何阅读开发文档?
    Facebook的开发文档很全,但对于一个时间紧、任务重、被Boss一天催10遍,急于实现整合的开发者来说,或许没有那么多时间去详细阅读所有文档。这里整理了一个顺序:
    1.1 The Login Dialog
    无论如何,登录是第一步。这篇文档不但介绍了关于登录的所有细节,也详细介绍了关于Permissions的用法。去吧:The Login Dialog
    1.2 Dialogs Overview
    各种SDK中,都提供了Dialogs的相关方法。那么Dialog是什么呢?这篇文档让你了解全部。去吧:Dialogs Overview
    1.3 Graph API
    Graph API是FaceBook的核心API,不了解它是不行DI。但这篇文档基本上看一半你就懂的。去吧:Graph API

    2. 选择哪个SDK?
    上面说了,Facebook的核心API是 Graph API ,其他的SDK是架构在Graph API之上。
    Facebook大力推荐了四个SDK,不用对不起VPN:
    但是,对于AIR来说,我们必须将上面的SDK进行二次封装才能用。
    2.1 JavaScript SDK
    一开始我考虑的是JavaScript SDK,因为它可以同时兼容Mobile Device和Desktop。经常做测试的同学都知道,在AIR模拟器里面测试,比在手机上测试可爽多了。
    在Google Code上有这样一个项目:facebook-actionscript-api,它封装了Facebook的JavaScript SDK,采用StageWebView做登录。但是这个项目最后一次更新是在2011-10-19,以Facebook一日千里的变化,这个API估计很难用了。
    我Checkout了该项目的代码,跑了几个Sample,看了它的所有Wiki,也没有调试成功。该项目的所有Wiki都标注成了departed,看得人心惊胆战啊……
    2.2 Native SDK
    Facebook提供了原生SDK支持,分别对应iOS和Android设备。可是要在AIR上使用它们,也必须做二次封装。
    好在有人已经帮忙做好了这件事,而且直接提供ANE和 项目源码。请大家记住这样的好人吧:ANE-Facebook
    这个项目中,使用的AndroidSDK是1.x版本。3.x版本作者也已经基本上实现了,但还有问题。我fork了这个项目,解决了剩下的一点点问题,然后写了一个sample。我fork的项目地址:https://github.com/zrong/ANE-Facebook/tree/zrong,我新建了 zrong 分支来进行修改。
    这比那几个在Adobe Devnet上写文章,然后卖 $50 的ANE插件的 guy 们厚道多了。
    3. ANE-Facebook使用
    ANE-Facebook没有提供 Sample,所以我写了一个:ANE-Facebook-Sample
    4. Native Android App设置
    如果使用了Native Android App,那么需要在Facebook中需要配置一些信息才能正常使用。
    4.1 配套名称
    AIR的appid。AIR在打包成Android APK的时候,会自动在appid前面加入air前缀。例如 org.zengrong.facebook.test,会被自动修改成 air.org.zengrong.facebook.test;
    4.2 Class Name
    配套名称+主Class名称。AIR生成的APK的主Class为AppEntry。例如上例中的APP,应该填写 air.org.zengrong.facebook.AppEntry;
    4.3 Hash Key
    这个值需要使用JDK的keytool来生成,在使用的时候,需要知道原来证书的alias name。假设原来的证书名称为zrong.keystore,alias name为“root”,那么生成Hash Key的代码如下:
    1. keytool -exportcert -alias root -keystore zrong.keystore | openssl sha1 -binary | openssl base64
    复制代码
    AIR使用的证书为p12格式,假设证书名称为zrong.p12。那么代码应该这样写:
    1. keytool -exportcert -alias root -keystore zrong.p12 -storetype pcks12 | openssl sha1 -binary | openssl base64
    复制代码
    如果忘记了原来证书的alias name,可以使用这个命令显示它:
    1. keytool -list -keystore zrong2.p12 -storetype pkcs12 -v
    复制代码
    关于keytool的用法,可以参看这篇文章:
    生成Google Play需要的p12自签名数字证书

    守望者AIR技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    
    关闭

    站长推荐上一条 /4 下一条

    QQ|手机版|Archiver|网站地图|小黑屋|守望者 ( 京ICP备14061876号

    GMT+8, 2019-11-18 16:28 , Processed in 0.045576 second(s), 35 queries .

    守望者AIR

    守望者AIR技术交流社区

    本站成立于 2014年12月31日

    快速回复 返回顶部 返回列表