在 Moscrif 中使用 Facebook。






4.75/5 (3投票s)
本文介绍如何使用 Moscirf 发布到 Facebook。
介绍
在社交营销时代,Facebook 广泛应用于许多移动应用程序。Facebook 可用于在玩家的动态消息中存储玩家的最高分数或截图,或在游戏粉丝页面上标记“赞”按钮。每条发布到 Facebook 的内容都是您应用程序出色的免费广告。
社交设计
社交设计是一种创建产品以促进用户之间交流并让他们感觉自己是大型社区一部分的策略。社交设计的三个关键要素是:
- 社区
- 对话
- 身份
社交设计有两种模式:
- 由内而外
- 由外而内
第一种称为“由内而外”,它允许用户在网络上创建自己的个人资料和身份。然后与网络上的人们开始对话,然后与有相同兴趣的人们建立社区。整个 Facebook 正是以这种方式开始的。
另一方面,如果社区已经存在,则可以利用它来建立用户之间的对话,并让他们进一步创建身份。
实践中,好的社交营销利用现有社区的 Facebook 用户,将他们吸引到您的应用程序(由外而内模式)。
目前,Facebook 拥有全球数百万用户,通过良好的聚焦社交营销,您可以轻松地将他们转化为您的客户。本教程将向您展示如何将 Facebook 集成
到您的 Moscrif 项目中。
创建 Facebook 应用程序
要使您的应用程序能够与 Facebook 交互,您需要先在 Facebook 上注册。
访问 Facebook 开发者页面 - https://developers.facebook.com/,然后使用您的 Facebook 帐户登录。
然后,点击屏幕顶部的菜单栏中的“应用”选项卡,然后选择“创建新应用”。接着会出现一个用于输入应用程序名称的对话框。应用程序名称不必与您的应用程序名称相同。

此时,应用程序已在 Facebook 上创建,但仍无法从智能手机连接。由于 Facebook 的安全策略,必须为每个平台单独允许从智能手机访问。
iOS
要访问应用程序设置,请再次点击主菜单中的“应用”选项卡以显示所有应用程序的列表,然后在列表中选择所需的应用程序,然后点击“编辑设置”。

之后,选择“原生 iOS 应用”的设置选项卡。要允许与 iOS 应用程序交互,需要一些额外的安全信息,例如 Bundle ID、iPad 应用商店 ID 和 iPhone 应用商店 ID。您可以在 Moscrif IDE 的“项目属性”窗口中找到并更改Buddle ID。在该窗口中,选择“iOS 设置”选项卡。

iPhone / iPad 应用商店 ID - 如果您有一个已在 iTunes 应用商店中列出的 iPhone 应用,请在此处输入 ID,例如 123456。如果 Facebook 链接到您的应用,并且发现用户未安装您的应用,则它会将用户引导至应用商店中的您的应用。然后用户就可以安装您的应用。如果您的应用不在 iTunes 应用商店中,您可以输入任何有效的应用 ID,但请确保在您的应用获得应用商店批准后更新此 ID。
Android
要访问应用程序设置,请再次点击主菜单中的“应用”选项卡以显示所有应用程序的列表。然后在列表中选择所需的应用程序,并点击“编辑设置”。

选择“原生 Android 应用”的设置选项卡。要允许与 Android 应用程序交互,需要三个额外的安全信息:包名 (Package Name)、类名 (Class name) 和密钥哈希 (Key hash)。
包名是 Android 使用的唯一标识符,可用于检查设备上是否安装了该应用程序。在 Moscrif 中,您可以在项目属性窗口中,通过“Android 2.2(或 Android 1.6)”设置选项卡下的“Buddle 标识符”选项找到并更改它。

允许您的应用程序与 Facebook 交互所需的第二个信息是类名。类名是 Facebook 启动时主活动的实例名称。如果您在 Moscrif 中开发,它始终是 [Package Name].Moscrif。
最后一个,也是最复杂的可能是密钥哈希。它是密钥库文件的 SHA-1 哈希值。密钥库文件包含签名 Android 安装文件所需的信息。每个 Android 安装文件(*.apk 文件)都必须签名。未签名的 apk 文件无法安装在任何设备或模拟器上。
生成哈希密钥所需的流程:
- 下载 openssl(64 位 Windows 版本请访问:http://code.google.com/p/openssl-for-windows/),并将下载的压缩包中 bin 文件夹内的所有文件提取到 jre/bin 文件夹(默认路径:C:\Program Files (x86)\Java\jre7)。JRE 会随 Moscrif 自动安装。
- 复制 openssl 后,可以通过命令提示符生成哈希。
使用命令将 shell 目录更改为 C:\Program Files (x86)\Java\jre7\bincd C:\Program Files(x86)\Java\jre7\bin
- 使用以下命令生成哈希:
keytool -exportcert -alias moscrif -keystore C:\MoscrifSDK\publish\android_2_2\moscrif.keystore | openssl sha1 -binary | openssl base64
所需的密钥库文件位于 Moscrif 的发布工具文件夹中(默认路径:C:\MoscrifSDK\publish\android_2_2\moscrif.keystore)。为了获取文件中的某些信息,需要密码。对于 Moscrif 项目,密码是 mothicert。
最后,将哈希值复制到 Facebook 设置中,并启用 Facebook 登录开关。

Facebook 对话框
对话框是一种简单快捷地发布到用户动态消息的方式。使用对话框时,无需检查登录状态,因为对话框会自动显示登录表单。对话框方法会显示标准的 Facebook 动态消息发布对话框,该对话框可以通过此方法的第二个参数进行自定义。第二个参数是一个 JSON 对象,其中包含用于自定义对话框外观的属性。
表格:可用于对话框自定义的所有属性。
from |
发布消息的用户 ID 或用户名。如果未指定,则默认为当前用户。如果已指定,则必须是用户 ID 或用户管理的页面的 ID。 |
to |
发布此故事的配置文件的 ID 或用户名。如果未指定,则默认为 from 的值。 |
link |
附加到此帖子的链接 |
图片 |
附加到此帖子的图片的 URL。图片尺寸必须至少为 50 像素 x 50 像素(但建议最小尺寸为 200 像素 x 200 像素),且长宽比最大不得超过 3:1。 |
source |
附加到此帖子的媒体文件(SWF 或 MP3)的 URL。如果同时指定了 source 和 picture,则仅使用 source。 |
名称 |
链接附件的名称。 |
caption |
链接的说明(显示在链接名称下方)。如果未指定,此字段将自动填充为链接的 URL。 |
description |
链接的描述(显示在链接说明下方)。如果未指定,此字段将自动填充从链接抓取的信息,通常是页面的标题。 |
属性 |
一个 JSON 对象,包含键/值对,这些键/值对将显示在描述下方的流附件中,每个属性占一行。键必须是字符串,值可以是字符串,也可以是包含 text 和 href 键的 JSON 对象。 |
actions |
一个 JSON 数组,其中包含一个描述操作链接的对象,该链接将出现在帖子下方的“评论”和“赞”链接旁边。包含的对象必须具有 name 和 link 键。 |
ref |
用于内容流帖子的类别文本参考。此类别用于 Facebook Insights,以帮助您衡量不同类型帖子的效果。 |
基本帖子
要打开向用户动态消息发布基本帖子的表单,请在第二个参数中不带任何属性地调用 dialog 方法。第一个参数始终是“feed”。
示例:基本帖子
function _doDialogBasic()
{
// basic dialog for user status without any attachement
facebook.dialog("feed", {});
}

发布带图片的帖子
从应用程序发布数据的标准方法之一是发布带有图片(您的应用程序徽标)和一些文本(例如,用户的最高分数结合您游戏的广告)的帖子。标准对话框还允许添加用户自己的文本到帖子中。
示例:发布带图片和文本的帖子
function _doDialogPhoto()
{
// post on the wall with attched photo and text
facebook.dialog("feed", {caption: "Moscrif Logo", picture: "http://moscrif.com/images/logo.png", description: "Moscrif facebook tutorial"});
}

发布到另一个用户动态消息
使用对话框,您还可以使用“to”属性将帖子发送到任何其他用户或群组的动态消息。
示例:发布到 moscrif 动态消息
function _doDialogTo()
{
// post on the wall of moscrif page
facebook.dialog("feed", {caption: "Moscrif Page", link: "http://moscrif.com/", description: "Moscrif facebook tutorial", to : "moscrif"});
}
