分享

此分享功能可以帮助玩家将游戏体验的高光时刻或游戏成就与他人分享,从而提高您游戏的关注度。所有获准可将 SDK 应用于小游戏传统网页游戏的游戏开发者都能使用分享功能。

玩家可以将您游戏中有意义的时刻发布到各种 Facebook 界面,其中包括:

  • 玩家动态
  • 好友动态
  • Messenger 对话
  • Facebook 小组

详情

玩家可以分享他们玩游戏时的截图和视频片段。分享到玩家动态时,可添加一条自定义消息。

调用 FBInstant.shareAsync(),为将出现在动态中和 Messenger 消息中的内容设置图片、文本和按钮文本。用户点击按钮时,会启动游戏;开发者可以从这个入口点访问 FBInstant.getEntrypointData(),此接口会返回之前传递到 FBInstant.shareAsync()data 对象。

功能使用流程

分享功能的流程如下:

  1. 玩家完成某些成就:例如完成关卡、击败强敌或者获得成就。

    提示玩家分享 - 但是在玩家点击“分享”按钮之前,不要调用 API(请参阅 Facebook 开发者政策 7.4.f)。

  2. 在玩家点击“分享”后,调用 shareAsync 并提交要在动态中展示的图片、动图或视频,以及有助于让新玩家置身于相应游戏体验的有效负载。

    玩家选择分享对象、编写内容,然后分享。

  3. 在动态中展示帖子

    玩家进入游戏后会开启一段全新的会话,或者您也可以提供和使用有效负载来让玩家跳转至其它目标位置。

分享内容会直接发布在玩家的个人主页并显示在动态中,因此为了最大限度地获取玩家,请务必在游戏中构建优质且直观的分享流程。在设计游戏时,请设定一些有意义的时刻(例如个人成就感、与好友对战大获全胜或庆祝团队合作的成果),同时向玩家提供可以分享这些时刻的明确选项。

我们建议在结果页面或其他相关页面至少有一个突出的“分享”按钮。在有意义的时刻出现时(例如分数达到新高以及获得稀有物品),提供游戏提示,并附有背景/说明,以鼓励玩家分享更多内容。详情请参阅最佳实践

为什么应该集成此功能

此一对多沟通渠道是赢得新玩家和留存已有玩家的强大驱动力。分享的内容会在动态中显示,因此有助于向从未接触过您游戏的玩家展示游戏内容,尤其是那些不常浏览“游戏”选项卡的玩家。

参阅 Awesome Prototype 如何借助分享功能提升留存率

入门指南

本部分介绍有关如何在各个受支持的 SDK 中集成“分享”功能的信息。

小游戏

调用 FBInstant.shareAsync() 以发起分享,然后提交图片和负载,而且该有效负载应该能够令玩家好友直接跳转至正确的游戏关卡。

  • FBInstant.shareAsync 会通过游戏来调用分享对话框。开发者可以指定:
    • 要分享的图片。
    • 令新玩家直接跳转至游戏中正确位置的有效负载。
    • 用于创建环境的参数,同时将分享内容的用户切换到该环境中。

传统网页游戏

调用游戏服务 Javascript SDK 中的 FB.gamingservices.uploadImageToMediaLibrary

  • FB.gamingservices.uploadImageToMediaLibrary 允许游戏异步上传素材(玩家会在会话结束后分享内容)
  • shouldLaunchMediaDialog 设置为 TRUE 会触发即时分享对话框。

最佳实践

请参阅分享有意义的时刻中提供的建议。

玩家历程示例

分享特定游戏目标位置/模式

第 1 步:出现可分享的时刻

玩家有新发现或者完成角色创建,并且选择分享内容。

第 2 步:玩家编辑分享内容并将其分享至动态

游戏应发出以下调用。

FBInstant.shareAsync

第 3 步:好友看到分享内容

好友看到分享内容并点击开始游戏。

第 4 步:好友启动游戏

好友跳转至游戏的正确位置,然后开始玩游戏。

有奖推荐

仅因为玩家分享游戏就给予奖励回报,借此激励玩家,这一行为有违 Facebook 政策。但是如果用户通过玩家的分享或邀请加入游戏(并且根据需要接受服务条款),则您可以给予该玩家奖励。在这种情况下,如果您愿意,可以同时给予这两位玩家奖励。

第 1 步:游戏提供奖励

游戏为邀请好友加入游戏的玩家提供奖励。

第 2 步:玩家选择分享

游戏应执行以下调用。

FBInstant.shareAsync({
  intent: 'REQUEST',
  Image: base64Picture,
  text: ‘Come play with your friend!’,
  data: {payload: ‘...’},
  switchContext: false,
    

第 3 步:好友看到分享内容

好友看到分享内容并点击开始游戏。

第 4 步:游戏为新玩家提供新手奖励

游戏解译有效负载,并向用户显示通过分享加入游戏后,他们会获得哪些奖励。

游戏应执行以下调用。

FBInstant.getEntryPointData()

第 5 步:游戏奖励做出分享的邀请人

在受邀人收到奖励后,向邀请人发送自定义动态更新,让他们知道自己也得到奖励。

游戏应执行以下调用。

FBInstant.updateAsync({
  action: 'CUSTOM',
  cta: 'Join The Fight',
  image: base64Picture,
  text: {
    default: 'You have a new reward!',
    localizations: {}}
  template: 'VILLAGE_INVASION',
  data: { payload: '...' },
  strategy: 'IMMEDIATE',
  notification: 'NO_PUSH',
})

功能常见问题

激励分享和有奖推荐有何不同?

您不得仅因为玩家 A 邀请另一位玩家或者在动态中发布内容就给予其奖励。但如果玩家 A 邀请了玩家 B,并且玩家 B 已经开始玩游戏,玩家 A 就可以得到奖励。在这种情形下,玩家 B 也可以得到奖励。详细了解此政策

文档内容

小游戏分享

说明如何允许玩家将他们的游戏动态分享到自己的个人主页和好友动态。

原生应用分享

了解如何可以在 Facebook 和 Instagram 平台上广泛分享游戏内容。

另请参阅