




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】如何实现Facebook小游戏快速发布
今天就跟大家聊聊有关如何实现Facebook小游戏快速发布,可能很多人都不太了解,为了让大家更加了解,在下给大家总结了以下内容,希望大家根据这篇文章可以有所收获。小游戏快速入门设置应用即便您已有托管到
F
的网页游戏,或托管到移动应用商店的移动游戏,也需要为自己的小游戏创建一款新应用。您无法使用与其他应用相同的
应用编号制作一款小游戏。将类别设置为“游戏”前往应用面板的基本设置版块,确保将类别设置为游戏。保存更改。为应用添加管理员、开发者和测试员Facebook
正在逐步面向更广泛的受众推广小游戏,您的游戏目前可能无法对所有用户开放。要确保游戏的所有发开者和测试员拥有访问权限,请在应用面板的用户身份选项卡中将他们添加为应用的管理员、开发者或测试员(请参见下方截图)。详细了解用户身份。在应用面板中启用小游戏功能请注意:请勿向针对
iOS、Android
或
Web
环境配置的原有
应用添加小游戏。为小游戏创建的
应用编号不适用于其他平台。新建
应用要为应用启用*小游戏功能,点击导航菜单底部的
+
添加商品按钮。这一操作将打开应用中的可用产品列表。在列表中找到小游戏,并点击开始按钮。这一操作将为菜单添加一个小游戏版块。确保开启在小游戏平台上架开关。保存更改,然后继续。SDK
第一步导入现在您已设置好应用,需要开始创建游戏客户端。
游戏客户端根目录下需要有一个
index.html
文件。请首先从此文件导入小游戏
SDK。<scriptsrc="/en_US/fbinstant.6.0.js"></script>初始化我们的
SDK
广泛使用
Promises
来实现异步功能。您只能在
FBInstant.initializeAsync()
解析完成后与加载的用户界面互动。FBInstant.initializeAsync()
.then(function(){
//Startloadinggameassetshere
});游戏客户端不会一次性下载所有捆绑包(.zip
文件),而是会搜索配置根文件
(fbapp-config.json)
和主文件
(index.html)。之后,它将开始执行主文件中所含的逻辑,并开始从此处下载资产。开发者可以全权控制资产加载的顺序和时间。在开始下载初始化游戏所需的资产后,您需要将加载进度告知
SDK,以便我们向玩家展示加载进度环。varimages=['sprite1','sprite2',...];for(vari=0;i<images.length;i++){
varassetName=images[i];
varprogress=((i+1)/images.length)*100;
game.load.image(assetName);
//InformstheSDKofloadingprogress
FBInstant.setLoadingProgress(progress);}//Onceallassetsareloaded,tellstheSDK//toendloadingviewandstartthegameFBInstant.startGameAsync()
.then(function(){
//Retrievingcontextandplayerinformationcanonlybedone
//oncestartGameAsync()resolves
varcontextId=FBInstant.context.getID();
varcontextType=FBInstant.context.getType();
varplayerName=FBInstant.player.getName();
varplayerPic=FBInstant.player.getPhoto();
varplayerId=FBInstant.player.getID();
//OncestartGameAsync()resolvesitalsomeanstheloadingviewhas
//beenremovedandtheusercanseethegameviewport
game.start();
});如需详细了解
initializeAsync()、setLoadingProgress()
和
startGameAsync()
方法,请参阅
SDK
参考文档。测试和上传小游戏内容在
基础设施上托管,因此,无需自行托管游戏内容或使用第三方服务。在准备好游戏进行测试后,将所有游戏文件打包为一个
.zip
文件。请注意,index.html
文件应位于此存档的根文件夹中,而不应位于任何子文件夹中。要上传
.zip
文件,请点击应用面板中的虚拟主机选项卡。从该选项卡的下拉菜单中选择“小游戏”,然后单击
+上传版本,即可将
.zip
文件上传到
的托管服务中。之后,构建版本会处理文件,仅需数秒时间。状态更改为“待命”时,单击“★”按钮将构建版本推送到生产。
之后,您可以在移动设备中测试构建版本。现在,在
Messenger
内的游戏列表中,您可以在“开发中”版块下看见已发布的构建版本。为了加快开发流程,您可以参考此指南,了解如何通过图谱
API
从命令行上传构建版本,或者如何直接从开发服务器进行测试:测试、发布和分享小游戏游戏环境更新我们已经介绍过使用小游戏
SDK
的基本知识,现在来看看如何让您的游戏与游戏环境互动。我们用游戏环境一词来定义可以玩游戏的任何环境。更多情况下,游戏环境是指
Messenger
对话,但如果游戏不是在
Messenger
中玩,游戏环境也可以指其他各种位置,例如
帖子或小组。以下示例说明了如何发送游戏环境更新及其在
Messenger
对话中的展示效果。第
1
步:在配置文件中声明模板为了声明自定义更新,您需要创建名为
fbapp-config.json
的配置文件,并将其放在捆绑包的根目录中,与
index.html
文件放在一起。如需详细了解受支持的配置,请参阅捆绑包配置部分。在本示例中,文件内容应该如下所示:{
"instant_games":{
"platform_version":"RICH_GAMEPLAY",
"custom_update_templates":{
"play_turn":{
"example":"Edgarplayedtheirmove"
}
}
}}通过自定义更新模板配置,我们可以为每个特定的自定义更新分配一个编号,从而更好地进行分析。您必须为所有游戏分配模板编号。第
2
步:使用
updateAsync
发送自定义更新在配置文件中声明模板后,便可将模板用于填充
FBInstant.updateAsync
中的必填
template
字段。以下示例说明井字棋游戏如何利用调用通知对手轮到他们出棋。您可以在右侧看到消息的展示效果。
//Thiswillpostacustomupdate.Ifthegameisplayedinamessenger//chatthread,thiswillpostamessageintothethreadwiththespecified//imageandtextmessage.Andwhenpeoplelaunchthegamefromthis//message,thosegamesessionswillbeabletoaccessthespecifiedblob//ofdatathroughFBInstant.getEntryPointData().FBInstant.updateAsync({
action:'CUSTOM',
cta:'Play',
image:base64Picture,
text:{
default:'Edgarplayedtheirmove',
localizations:{
en_US:'Edgarplayedtheirmove',
es_LA:'\u00A1Edgarjug\u00F3sujugada!'
}
}
template:'play_turn',
data:{myReplayData:'...'},
strategy:'IMMEDIATE',
notification:'NO_PUSH'}).then(function(){
//closesthegameaftertheupdateisposted.
FBInstant.quit();});
有关自定义游戏环境更新的更多信息,请参阅我们的小游戏
SDK
参考文档。如需查看相关最佳实践指南,了解何时向其他玩家发送消息、何时向他们发送通知以及最好在游戏环境更新中添加哪些内容,请参阅我们的最佳实践部分。请注意,游戏环境更新不会发送到
Messenger
以外的地方。通过使用
context.getType()
方法和检测
THREAD
来定制游戏体验非常有用。您可以使用
context.switchAsync、context.chooseAsync
或
context.createAsync
切换到更为合适的游戏环境。(可选)设置游戏智能助手,再次吸引玩家小游戏的一项重要功能是能附加
Messenger
平台智能助手。这项功能虽为选择性配置,却为游戏提供了一个强有力的再参与渠道。以下指南说明了如何创建和设置游戏智能助手。第
1
步:创建主页如需创建游戏智能助手,您首先需要创建
主页。主页要正确地与小游戏关联,需要具备一些特殊的属性:主页类别需要是应用主页主页名称需要包含应用名称。主页不能与其他应用关联。您可以前往“应用面板”,在小游戏产品的应用主页版块创建满足这些特殊条件的主页。在执行下一步操作前,请确保应用主页版块如右图所示:注意:如果小游戏未与上述类型的主页正确关联,智能助手将不会收到
messaging_game_plays
事件第
2
步:激活智能助手创建主页后,您需要确保响应其消息
webhooks。Webhooks
是在向您的主页发送消息事件时,我们向您的后端发送的
HTTP
调用。之后,您的服务器的逻辑将决定如何正确地响应每个事件(如果响应适用)。如需将服务器的端点与主页事件相关联,请按照
Messenger
平台快速入门教程中的说明为主页启用智能助手。下表介绍了将智能助手与小游戏关联所需的
webhooks
和权限:部分
值主页事件messages
和
messaging_game_plays权限pages_messaging小游戏智能助手仅可使用标准消息和
GAME_EVENT消息标签,不能使用
pages_messaging_subscriptions。如果您的智能助手具有需要用到订阅消息或客户匹配的其他功能,您应创建单独的应用并重新申请
Messenger
平台权限。第
3
步:响应
messaging_game_playswebhooks正确配置智能助手后,您的服务器端应用程序将开始在玩家每次关闭小游戏时接收
messaging_game_playswebhooks。下面是服务器端应用程序检测到并响应一个
webhook
的示例。if(event.game_play){
varsenderId=event.sender.id;//Messengersenderid
varplayerId=event.game_play.player_id;//InstantGamesplayerid
varcontextId=event.game_play.context_id;
varpayload=event.game_play.payload;
varplayerWon=payload['playerWon'];
if(playerWon){
sendMessage(
senderId,
contextId,
'Congratulationsonyourvictory!',
'PlayAgain'
);
}else{
sendMessage(
senderId,
contextId,
'Betterlucknexttime!',
'Rematch!'
);
}}您可以参阅
Messenger
平台文档,详细了解
webhook:“玩游戏”Webhook
文档。第
4
步:吸引玩家重回游戏以下是如何使用图谱
API
向玩家发送
game_play
按钮的示例。curl"/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>"
-XPOST
-H"Content-Type:application/json"
-d'{
"messaging_type":"UPDATE",
"recipient":{
"id":"<RECIPIENT_ID>"
},
"message":{
"attachment":{
"type":"template",
"payload":{
"template_type":"generic",
"elements":[
{
"title":"Ithasbeenawhilesinceyourlastgame.Timetogetback",
"buttons":[
{
"type":"game_play",
"title":"PlayTic-Tac-Toe.",
"payload":"{}",
"game_metadata":{
"context_id":"<CONTEXT_ID>"
}
}
]
}
]
}
}
}}'
您可以参阅
Messenger
平台文档,详细了解此按钮:“玩游戏”按钮文档。第
5
步:遵循我们的指南和政策发布至生产阶段后,您的游戏智能助手应进入
Messe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 糖批发行业法律法规考核试卷
- 环境监测中的生态监测技术考核试卷
- 空间数据采集与处理考核试卷
- 探究交叉学科研究
- 硕士研究探索之旅
- 舒兰市2025年六年级下学期调研数学试卷含解析
- 上海市曹杨第二中学2025年高三质量检查语文试题含解析
- 山东传媒职业学院《深度学习实验》2023-2024学年第二学期期末试卷
- 辽宁省2025年高三第一次诊断性考试试题历史试题试卷含解析
- 金肯职业技术学院《电气应用与PLC控制技术》2023-2024学年第二学期期末试卷
- 下一代存储架构
- 新闻记者职业资格2024年笔试考试必做题有答案
- 私人公司用人合同协议
- 江苏南京历年中考作文题与审题指导(2002-2020)
- 2025江苏省环保集团(筹)招聘92人易考易错模拟试题(共500题)试卷后附参考答案
- 浙江省绍兴市2025年高考二模数学试题(含答案)
- 医院中医康复科的建设与管理
- 无人机结构课件
- DeepSeek1小时快速入门教程学习
- 第7单元 第1课 《自动行驶保出行》 课件【湘科2024版】信息科技 六年级下册
- 脑卒中多学科会诊制度
评论
0/150
提交评论