返回顶部
首页 > 资讯 > 精选 >如何实现Facebook 小游戏快速发布
  • 285
分享到

如何实现Facebook 小游戏快速发布

2023-06-05 03:06:20 285人浏览 安东尼
摘要

今天就跟大家聊聊有关如何实现Facebook 小游戏快速发布,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。小游戏快速入门设置应用即便您已有托管到 Facebook.com 的网页游戏

今天就跟大家聊聊有关如何实现Facebook 小游戏快速发布,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

小游戏快速入门

如何实现Facebook 小游戏快速发布

设置应用

即便您已有托管到 Facebook.com 的网页游戏,或托管到移动应用商店的移动游戏,也需要为自己的小游戏创建一款新应用。您无法使用与其他应用相同的 Facebook 应用编号制作一款小游戏。

将类别设置为“游戏”

前往应用面板的基本设置版块,确保将类别设置为游戏。保存更改。

为应用添加管理员、开发者和测试

Facebook 正在逐步面向更广泛的受众推广小游戏,您的游戏目前可能无法对所有用户开放。要确保游戏的所有发开者和测试员拥有访问权限,请在应用面板的用户身份选项卡中将他们添加为应用的管理员、开发者或测试员(请参见下方截图)。详细了解用户身份。

在应用面板中启用小游戏功能

请注意:请勿向针对 iOSAndroidWEB 环境配置的原有 Facebook 应用添加小游戏。为小游戏创建的 Facebook 应用编号不适用于其他平台。

新建 Facebook 应用

要为应用启用*小游戏功能,点击导航菜单底部的 + 添加商品按钮。 这一操作将打开应用中的可用产品列表。在列表中找到小游戏,并点击开始按钮。这一操作将为菜单添加一个小游戏版块。确保开启在小游戏平台上架开关。保存更改,然后继续。

SDK 第一步

导入

现在您已设置好应用,需要开始创建游戏客户端。 游戏客户端根目录下需要有一个 index.html 文件。请首先从此文件导入小游戏 SDK。

<script src="https://connect.facebook.net/en_US/fbinstant.6.0.js"></script>

初始化

我们的 SDK 广泛使用 Promises 来实现异步功能。您只能在 FBInstant.initializeAsync() 解析完成后与加载的用户界面互动。

FBInstant.initializeAsync()

  .then(function() {        

     // Start loading game assets here

  });

游戏客户端不会一次性下载所有捆绑包(.zip 文件),而是会搜索配置根文件 (fbapp-config.JSON) 和主文件 (index.html)。之后,它将开始执行主文件中所含的逻辑,并开始从此处下载资产。开发者可以全权控制资产加载的顺序和时间。

在开始下载初始化游戏所需的资产后,您需要将加载进度告知 SDK,以便我们向玩家展示加载进度环。

var images = ['sprite1', 'sprite2', ...];

for (var i=0; i < images.length; i++) {

  var assetName = images[i];  

  var progress = ((i+1)/images.length) * 100;  

  game.load.image(assetName);

  // InfORMs the SDK of loading progress

  FBInstant.setLoadingProgress(progress);

}

// Once all assets are loaded, tells the SDK

// to end loading view and start the game

FBInstant.startGameAsync()

  .then(function() {

    // Retrieving context and player information can only be done

    // once startGameAsync() resolves

    var contextId = FBInstant.context.getID();

    var contextType = FBInstant.context.getType();

    var playerName = FBInstant.player.getName();

    var playerPic = FBInstant.player.getPhoto();

    var playerId = FBInstant.player.getID();

    // Once startGameAsync() resolves it also means the loading view has

    // been removed and the user can see the game viewport

    game.start();

  });

如需详细了解 initializeAsync()、setLoadingProgress() 和 startGameAsync() 方法,请参阅 SDK 参考文档。

测试和上传

小游戏内容在 Facebook 基础设施上托管,因此,无需自行托管游戏内容或使用第三方服务。在准备好游戏进行测试后,将所有游戏文件打包为一个 .zip 文件。请注意,index.html 文件应位于此存档的根文件夹中,而不应位于任何子文件夹中。

要上传 .zip 文件,请点击应用面板中的虚拟主机选项卡。从该选项卡的下拉菜单中选择“小游戏”,然后单击 +上传版本,即可将 .zip 文件上传到 Facebook 的托管服务中。

之后,构建版本会处理文件,仅需数秒时间。状态更改为“待命”时,单击“★”按钮将构建版本推送到生产。

如何实现Facebook 小游戏快速发布 

之后,您可以在移动设备中测试构建版本。现在,在 Messenger 内的游戏列表中,您可以在“开发中”版块下看见已发布的构建版本。为了加快开发流程,您可以参考此指南,了解如何通过图谱 api 从命令行上传构建版本,或者如何直接从开发服务器进行测试:测试、发布和分享小游戏

游戏环境更新

我们已经介绍过使用小游戏 SDK 的基本知识,现在来看看如何让您的游戏与游戏环境互动。

我们用游戏环境一词来定义可以玩游戏的任何环境。更多情况下,游戏环境是指 Messenger 对话,但如果游戏不是在 Messenger 中玩,游戏环境也可以指其他各种位置,例如 Facebook 帖子或小组。

以下示例说明了如何发送游戏环境更新及其在 Messenger 对话中的展示效果。

第 1 步:在配置文件中声明模板

为了声明自定义更新,您需要创建名为 fbapp-config.json 的配置文件,并将其放在捆绑包的根目录中,与 index.html 文件放在一起。如需详细了解受支持的配置,请参阅捆绑包配置部分。 在本示例中,文件内容应该如下所示:

{

  "instant_games": {

    "platform_version": "RICH_GAMEPLAY",

    "custom_update_templates": {

      "play_turn": {

        "example": "Edgar played their move"

      }

    }

  }

}

通过自定义更新模板配置,我们可以为每个特定的自定义更新分配一个编号,从而更好地进行分析。您必须为所有游戏分配模板编号。

第 2 步:使用 updateAsync 发送自定义更新

在配置文件中声明模板后,便可将模板用于填充 FBInstant.updateAsync 中的必填 template 字段。以下示例说明井字棋游戏如何利用调用通知对手轮到他们出棋。您可以在右侧看到消息的展示效果。

  // This will post a custom update. If the game is played in a messenger

// chat thread, this will post a message into the thread with the specified

// image and text message. And when people launch the game from this

// message, those game sessions will be able to access the specified blob

// of data through FBInstant.getEntryPointData().

FBInstant.updateAsync({

  action: 'CUSTOM',

  cta: 'Play',

  image: base64Picture,

  text: {

    default: 'Edgar played their move',

    localizations: {

      en_US: 'Edgar played their move',

      es_LA: '\u00A1Edgar jug\u00F3 su jugada!'

    }

  }

  template: 'play_turn',

  data: { myReplayData: '...' },

  strategy: 'IMMEDIATE',

  notification: 'NO_PUSH'

}).then(function() {

  // closes the game after the update is posted.

  FBInstant.quit();

});

 如何实现Facebook 小游戏快速发布

有关自定义游戏环境更新的更多信息,请参阅我们的小游戏 SDK 参考文档。

如需查看相关最佳实践指南,了解何时向其他玩家发送消息、何时向他们发送通知以及最好在游戏环境更新中添加哪些内容,请参阅我们的最佳实践部分。

请注意,游戏环境更新不会发送到 Messenger 以外的地方。通过使用 context.getType() 方法和检测 THREAD 来定制游戏体验非常有用。您可以使用 context.switchAsync、context.chooseAsync 或 context.createAsync 切换到更为合适的游戏环境。

(可选)设置游戏智能助手,再次吸引玩家

小游戏的一项重要功能是能附加 Messenger 平台智能助手。这项功能虽为选择性配置,却为游戏提供了一个强有力的再参与渠道。以下指南说明了如何创建和设置游戏智能助手。

第 1 步:创建主页

如需创建游戏智能助手,您首先需要创建 Facebook 主页。主页要正确地与小游戏关联,需要具备一些特殊的属性:

主页类别需要是应用主页

主页名称需要包含应用名称。

主页不能与其他应用关联。

您可以前往“应用面板”,在小游戏产品的应用主页版块创建满足这些特殊条件的主页。 在执行下一步操作前,请确保应用主页版块如右图所示:

如何实现Facebook 小游戏快速发布

注意:如果小游戏未与上述类型的主页正确关联,智能助手将不会收到 messaging_game_plays 事件

第 2 步:激活智能助手

创建主页后,您需要确保响应其消息 webhooks。Webhooks 是在向您的主页发送消息事件时,我们向您的后端发送的 Http 调用。之后,您的服务器的逻辑将决定如何正确地响应每个事件(如果响应适用)。 如需将服务器的端点与主页事件相关联,请按照 Messenger 平台快速入门教程中的说明为主页启用智能助手。下表介绍了将智能助手与小游戏关联所需的 webhooks 和权限:

部分 值

主页事件

messages 和 messaging_game_plays

权限

pages_messaging

小游戏智能助手仅可使用标准消息和 GAME_EVENT消息标签,不能使用 pages_messaging_subscriptions。

如果您的智能助手具有需要用到订阅消息或客户匹配的其他功能,您应创建单独的应用并重新申请 Messenger 平台权限。

第 3 步:响应 messaging_game_plays webhooks

正确配置智能助手后,您的服务器端应用程序将开始在玩家每次关闭小游戏时接收 messaging_game_plays webhooks。下面是服务器端应用程序检测到并响应一个 webhook 的示例。

if (event.game_play) {

  var senderId = event.sender.id; // Messenger sender id

  var playerId = event.game_play.player_id; // Instant Games player id

  var contextId = event.game_play.context_id;

  var payload = event.game_play.payload;

  var playerWon = payload['playerWon'];

  if (playerWon) {

    sendMessage(

      senderId,

      contextId,

      'Congratulations on your victory!',

      'Play Again'

    );

  } else {

    sendMessage(

      senderId,

      contextId,

      'Better luck next time!',

      'Rematch!'

    );

  }

}

您可以参阅 Messenger 平台文档,详细了解 webhook:“玩游戏”Webhook 文档。

第 4 步:吸引玩家重回游戏

以下是如何使用图谱 API 向玩家发送 game_play 按钮的示例。

curl "https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>"

   -X POST

   -H "Content-Type: application/json"

   -d '{

  "messaging_type": "UPDATE",

  "recipient": {

    "id": "<RECIPIENT_ID>"

  },

  "message": {

    "attachment": {

      "type": "template",

      "payload": {

        "template_type": "generic",

        "elements": [

          {

            "title": "It has been a while since your last game. Time to get back",

            "buttons": [

              {

                "type": "game_play",

                "title": "Play Tic-Tac-Toe.",

                "payload": "{}",

                "game_metadata": {

                  "context_id": "<CONTEXT_ID>"

                }

              }

            ]

          }

        ]

      }

    }

  }

}'

 如何实现Facebook 小游戏快速发布

您可以参阅 Messenger 平台文档,详细了解此按钮:“玩游戏”按钮文档。

第 5 步:遵循我们的指南和政策

发布至生产阶段后,您的游戏智能助手应进入 Messenger 平台提交流程。提交智能助手之前,请确保遵守下面的最佳实践:

建议:

向玩家提供相关、及时且有价值的更新。如需获取更多信息,请访问我们的最佳实践版块。

给予用户掌控权(例如:让用户确认他们是否想要接收通知以及以接收的频率)。

对玩游戏按钮使用入口点数据,以环境相关的方式加载游戏。

为智能助手设置与游戏相同的名称。

利用社交更新,如回合提醒、比赛结果、限时奖励和挑战。

确保为玩家提供适当的奖励刺激,促使他们通过智能助手消息打开游戏。为此,您可使用消息负载为玩家提供有价值的游戏内奖励。一般来说,如果智能助手消息打开的是游戏的开始页面,这条消息便没有什么价值。

使用固定菜单提供常见操作,如启动游戏。

设置默认操作,在自定义更新中使用 game_play,以便整个图片都能将用户带入游戏中。

通过智能助手公布新功能或内容。

针对每位用户优化每天的消息发送时段,考虑用户所在的时区。

借鉴 Messenger 智能助手的通用最佳实践。

请勿:

在玩家关闭游戏后立即发送消息。

发送没有任何背景信息的消息再次吸引玩家(例如:“立即回到游戏中!”)。建议首选包含丰富背景信息的消息来重新吸引玩家(例如:“你的侦查员为你带回了更多信息”)

使用其他 Facebook 用户的口吻,或误导玩家以为他们好友在与他们沟通。

在用户屡次不想加入游戏的情况下继续向他们发送智能助手消息。这种情况将适用政策限制,并阻止您发送消息。当前的限制为,自最后一次游戏会话结束后 10 天最多可发送 5 条消息。如需详细了解,请参阅我们的开放平台政策文档中的第 9.4 条

将 messaging_type 设置为 RESPONSE 或 UPDATE 以外的其他任何值

链接至任何应用商店。

看完上述内容,你们对如何实现Facebook 小游戏快速发布有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网精选频道,感谢大家的支持。

--结束END--

本文标题: 如何实现Facebook 小游戏快速发布

本文链接: https://lsjlt.com/news/240965.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何实现Facebook 小游戏快速发布
    今天就跟大家聊聊有关如何实现Facebook 小游戏快速发布,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。小游戏快速入门设置应用即便您已有托管到 Facebook.com 的网页游戏...
    99+
    2023-06-05
  • python快速实现简易超级玛丽小游戏
    《超级玛丽》是一款超级马里奥全明星的同人作品,也是任天堂公司出品的著名横版游戏。 《超级马里奥》是一款经典的像素冒险过关游戏。最早在红白机上推出,有多款后续作品,迄今多个版本合共销量已突破4000万套。其中的主角马里奥、路易、碧琪公主、奇诺...
    99+
    2023-09-01
    python 开发语言 qt pygame 小游戏开发
  • Python游戏开发之魔塔小游戏的实现
    前言 这一期我们继续完善我们的魔塔小游戏。 废话不多说,让我们愉快地开始吧~ 开发工具 Python版本: 3.7.4 相关模块: cpgames模块; 以及一些pytho...
    99+
    2024-04-02
  • Unity游戏开发之射击小游戏的实现
    目录前言游戏画面展示游戏代码解析游戏打包总结前言 人们一直都说学习和玩游戏不能兼顾,那我们就来边学习怎样制作游戏,边玩游戏 不就兼得了嘛~ 我可真是一个小天才呢~ 所以本篇文章为大家...
    99+
    2024-04-02
  • jQuery如何实现拼图小游戏
    这篇文章给大家分享的是有关jQuery如何实现拼图小游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。小熊维尼拼图jQuery代码实现拼图小游戏,鼠标选中拼块,用上下左右键移动拼...
    99+
    2024-04-02
  • C++如何实现地牢小游戏
    这篇文章主要讲解了“C++如何实现地牢小游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++如何实现地牢小游戏”吧!Dungeon Game 地牢游戏The demons had cap...
    99+
    2023-06-20
  • Unity如何实现射击小游戏
    这篇文章主要为大家展示了“Unity如何实现射击小游戏”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Unity如何实现射击小游戏”这篇文章吧。游戏画面展示这款小游戏只用了两个UI界面,一个是菜单...
    99+
    2023-06-29
  • Java如何实现潜艇小游戏
    本篇内容介绍了“Java如何实现潜艇小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先是主方法里定义的窗口(这些都是固定的格式,不会的...
    99+
    2023-06-29
  • Java如何实现飞机小游戏
    这篇文章主要讲解了“Java如何实现飞机小游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java如何实现飞机小游戏”吧!1,Constant;专门放常量package com....
    99+
    2023-07-01
  • Python快速实现简易贪吃蛇小游戏的示例代码
    贪吃蛇(也叫做贪食蛇)游戏是一款休闲益智类游戏,有PC和手机等多平台版本。既简单又耐玩。该游戏通过控制蛇头方向吃蛋,从而使得蛇变得越来越长。  贪吃蛇游戏最初为单机模式,后...
    99+
    2024-04-02
  • js实现如何打地鼠小游戏
    这篇文章将为大家详细讲解有关js实现如何打地鼠小游戏,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。请看代码:<!doctype html> <...
    99+
    2024-04-02
  • 如何用CocosCreator实现射击小游戏
    分析下制作步骤: 1. 准备好资源,搭建场景 资源的话可以自己到网上找,也可以直接用我的也行;创建好相应文件夹,把资源放到res文件夹下; 搭建场景: 第一步:创建一个单色精灵(Sc...
    99+
    2024-04-02
  • js如何实现推箱子小游戏
    这篇文章主要介绍了js如何实现推箱子小游戏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。demo:步骤解析:本文代码已经放在了github上...
    99+
    2024-04-02
  • Python如何实现过迷宫小游戏
    小编给大家分享一下Python如何实现过迷宫小游戏,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!开发工具Python版本: 3.6.4相关模块:pygame模块;以及一些Python自带的模块。环境搭建安装Python并添...
    99+
    2023-06-22
  • Pygame如何实现泡泡龙小游戏
    这篇文章给大家介绍Pygame如何实现泡泡龙小游戏,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。导语Python版的消除类的游戏还是很多的,木木子之前也是推过不少~比如:百变的消消乐,还记得嘛?今天就出一个消除类——泡...
    99+
    2023-06-22
  • Android如何实现老虎机小游戏
    本篇内容介绍了“Android如何实现老虎机小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!先上MainActivity.java 的代...
    99+
    2023-06-22
  • flask如何实现五子棋小游戏
    这篇文章主要介绍了flask如何实现五子棋小游戏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。准备工作**1.**python环境、安装flask**2.**导入需要用到的包...
    99+
    2023-06-15
  • Pygame如何实现反弹球小游戏
    这篇文章主要为大家展示了“Pygame如何实现反弹球小游戏”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Pygame如何实现反弹球小游戏”这篇文章吧。一、准备中1)游戏规则比平常的乒乓球更简单,...
    99+
    2023-06-29
  • Java如何实现接月饼小游戏
    这篇文章给大家分享的是有关Java如何实现接月饼小游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。主要设计设计游戏界面,用swing实现设计背景设计得分物体-月饼,碰到加一分设计障碍物-月亮,碰到会死亡监听鼠标...
    99+
    2023-06-29
  • 如何实现贪吃蛇Python小游戏
    这篇文章主要介绍“如何实现贪吃蛇Python小游戏”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何实现贪吃蛇Python小游戏”文章能帮助大家解决问题。贪吃蛇Python小游戏(源码+注释+粘贴即...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作