如何實(shí)現(xiàn)Facebook小游戲快速發(fā)布-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)如何實(shí)現(xiàn)Facebook 小游戲快速發(fā)布,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)主營秀嶼網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App制作,秀嶼h5小程序定制開發(fā)搭建,秀嶼網(wǎng)站營銷推廣歡迎秀嶼等地區(qū)企業(yè)咨詢

小游戲快速入門

如何實(shí)現(xiàn)Facebook 小游戲快速發(fā)布

設(shè)置應(yīng)用

即便您已有托管到 Facebook.com 的網(wǎng)頁游戲,或托管到移動(dòng)應(yīng)用商店的移動(dòng)游戲,也需要為自己的小游戲創(chuàng)建一款新應(yīng)用。您無法使用與其他應(yīng)用相同的 Facebook 應(yīng)用編號(hào)制作一款小游戲。

將類別設(shè)置為“游戲”

前往應(yīng)用面板的基本設(shè)置版塊,確保將類別設(shè)置為游戲。保存更改。

為應(yīng)用添加管理員、開發(fā)者和測試員

Facebook 正在逐步面向更廣泛的受眾推廣小游戲,您的游戲目前可能無法對(duì)所有用戶開放。要確保游戲的所有發(fā)開者和測試員擁有訪問權(quán)限,請(qǐng)?jiān)趹?yīng)用面板的用戶身份選項(xiàng)卡中將他們添加為應(yīng)用的管理員、開發(fā)者或測試員(請(qǐng)參見下方截圖)。詳細(xì)了解用戶身份。

在應(yīng)用面板中啟用小游戲功能

請(qǐng)注意:請(qǐng)勿向針對(duì) iOS、Android 或 Web 環(huán)境配置的原有 Facebook 應(yīng)用添加小游戲。為小游戲創(chuàng)建的 Facebook 應(yīng)用編號(hào)不適用于其他平臺(tái)。

新建 Facebook 應(yīng)用

要為應(yīng)用啟用*小游戲功能,點(diǎn)擊導(dǎo)航菜單底部的 + 添加商品按鈕。 這一操作將打開應(yīng)用中的可用產(chǎn)品列表。在列表中找到小游戲,并點(diǎn)擊開始按鈕。這一操作將為菜單添加一個(gè)小游戲版塊。確保開啟在小游戲平臺(tái)上架開關(guān)。保存更改,然后繼續(xù)。

SDK 第一步

導(dǎo)入

現(xiàn)在您已設(shè)置好應(yīng)用,需要開始創(chuàng)建游戲客戶端。 游戲客戶端根目錄下需要有一個(gè) index.html 文件。請(qǐng)首先從此文件導(dǎo)入小游戲 SDK。

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

初始化

我們的 SDK 廣泛使用 Promises 來實(shí)現(xiàn)異步功能。您只能在 FBInstant.initializeAsync() 解析完成后與加載的用戶界面互動(dòng)。

FBInstant.initializeAsync()

  .then(function() {        

     // Start loading game assets here

  });

游戲客戶端不會(huì)一次性下載所有捆綁包(.zip 文件),而是會(huì)搜索配置根文件 (fbapp-config.json) 和主文件 (index.html)。之后,它將開始執(zhí)行主文件中所含的邏輯,并開始從此處下載資產(chǎn)。開發(fā)者可以全權(quán)控制資產(chǎn)加載的順序和時(shí)間。

在開始下載初始化游戲所需的資產(chǎn)后,您需要將加載進(jìn)度告知 SDK,以便我們向玩家展示加載進(jìn)度環(huán)。

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();

  });

如需詳細(xì)了解 initializeAsync()、setLoadingProgress() 和 startGameAsync() 方法,請(qǐng)參閱 SDK 參考文檔。

測試和上傳

小游戲內(nèi)容在 Facebook 基礎(chǔ)設(shè)施上托管,因此,無需自行托管游戲內(nèi)容或使用第三方服務(wù)。在準(zhǔn)備好游戲進(jìn)行測試后,將所有游戲文件打包為一個(gè) .zip 文件。請(qǐng)注意,index.html 文件應(yīng)位于此存檔的根文件夾中,而不應(yīng)位于任何子文件夾中。

要上傳 .zip 文件,請(qǐng)點(diǎn)擊應(yīng)用面板中的虛擬主機(jī)選項(xiàng)卡。從該選項(xiàng)卡的下拉菜單中選擇“小游戲”,然后單擊 +上傳版本,即可將 .zip 文件上傳到 Facebook 的托管服務(wù)中。

之后,構(gòu)建版本會(huì)處理文件,僅需數(shù)秒時(shí)間。狀態(tài)更改為“待命”時(shí),單擊“★”按鈕將構(gòu)建版本推送到生產(chǎn)。

如何實(shí)現(xiàn)Facebook 小游戲快速發(fā)布 

之后,您可以在移動(dòng)設(shè)備中測試構(gòu)建版本?,F(xiàn)在,在 Messenger 內(nèi)的游戲列表中,您可以在“開發(fā)中”版塊下看見已發(fā)布的構(gòu)建版本。為了加快開發(fā)流程,您可以參考此指南,了解如何通過圖譜 API 從命令行上傳構(gòu)建版本,或者如何直接從開發(fā)服務(wù)器進(jìn)行測試:測試、發(fā)布和分享小游戲

游戲環(huán)境更新

我們已經(jīng)介紹過使用小游戲 SDK 的基本知識(shí),現(xiàn)在來看看如何讓您的游戲與游戲環(huán)境互動(dòng)。

我們用游戲環(huán)境一詞來定義可以玩游戲的任何環(huán)境。更多情況下,游戲環(huán)境是指 Messenger 對(duì)話,但如果游戲不是在 Messenger 中玩,游戲環(huán)境也可以指其他各種位置,例如 Facebook 帖子或小組。

以下示例說明了如何發(fā)送游戲環(huán)境更新及其在 Messenger 對(duì)話中的展示效果。

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

為了聲明自定義更新,您需要?jiǎng)?chuàng)建名為 fbapp-config.json 的配置文件,并將其放在捆綁包的根目錄中,與 index.html 文件放在一起。如需詳細(xì)了解受支持的配置,請(qǐng)參閱捆綁包配置部分。 在本示例中,文件內(nèi)容應(yīng)該如下所示:

{

  "instant_games": {

    "platform_version": "RICH_GAMEPLAY",

    "custom_update_templates": {

      "play_turn": {

        "example": "Edgar played their move"

      }

    }

  }

}

通過自定義更新模板配置,我們可以為每個(gè)特定的自定義更新分配一個(gè)編號(hào),從而更好地進(jìn)行分析。您必須為所有游戲分配模板編號(hào)。

第 2 步:使用 updateAsync 發(fā)送自定義更新

在配置文件中聲明模板后,便可將模板用于填充 FBInstant.updateAsync 中的必填 template 字段。以下示例說明井字棋游戲如何利用調(diào)用通知對(duì)手輪到他們出棋。您可以在右側(cè)看到消息的展示效果。

  // 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();

});

 如何實(shí)現(xiàn)Facebook 小游戲快速發(fā)布

有關(guān)自定義游戲環(huán)境更新的更多信息,請(qǐng)參閱我們的小游戲 SDK 參考文檔。

如需查看相關(guān)最佳實(shí)踐指南,了解何時(shí)向其他玩家發(fā)送消息、何時(shí)向他們發(fā)送通知以及最好在游戲環(huán)境更新中添加哪些內(nèi)容,請(qǐng)參閱我們的最佳實(shí)踐部分。

請(qǐng)注意,游戲環(huán)境更新不會(huì)發(fā)送到 Messenger 以外的地方。通過使用 context.getType() 方法和檢測 THREAD 來定制游戲體驗(yàn)非常有用。您可以使用 context.switchAsync、context.chooseAsync 或 context.createAsync 切換到更為合適的游戲環(huán)境。

(可選)設(shè)置游戲智能助手,再次吸引玩家

小游戲的一項(xiàng)重要功能是能附加 Messenger 平臺(tái)智能助手。這項(xiàng)功能雖為選擇性配置,卻為游戲提供了一個(gè)強(qiáng)有力的再參與渠道。以下指南說明了如何創(chuàng)建和設(shè)置游戲智能助手。

第 1 步:創(chuàng)建主頁

如需創(chuàng)建游戲智能助手,您首先需要?jiǎng)?chuàng)建 Facebook 主頁。主頁要正確地與小游戲關(guān)聯(lián),需要具備一些特殊的屬性:

主頁類別需要是應(yīng)用主頁

主頁名稱需要包含應(yīng)用名稱。

主頁不能與其他應(yīng)用關(guān)聯(lián)。

您可以前往“應(yīng)用面板”,在小游戲產(chǎn)品的應(yīng)用主頁版塊創(chuàng)建滿足這些特殊條件的主頁。 在執(zhí)行下一步操作前,請(qǐng)確保應(yīng)用主頁版塊如右圖所示:

如何實(shí)現(xiàn)Facebook 小游戲快速發(fā)布

注意:如果小游戲未與上述類型的主頁正確關(guān)聯(lián),智能助手將不會(huì)收到 messaging_game_plays 事件

第 2 步:激活智能助手

創(chuàng)建主頁后,您需要確保響應(yīng)其消息 webhooks。Webhooks 是在向您的主頁發(fā)送消息事件時(shí),我們向您的后端發(fā)送的 HTTP 調(diào)用。之后,您的服務(wù)器的邏輯將決定如何正確地響應(yīng)每個(gè)事件(如果響應(yīng)適用)。 如需將服務(wù)器的端點(diǎn)與主頁事件相關(guān)聯(lián),請(qǐng)按照 Messenger 平臺(tái)快速入門教程中的說明為主頁啟用智能助手。下表介紹了將智能助手與小游戲關(guān)聯(lián)所需的 webhooks 和權(quán)限:

部分 值

主頁事件

messages 和 messaging_game_plays

權(quán)限

pages_messaging

小游戲智能助手僅可使用標(biāo)準(zhǔn)消息和 GAME_EVENT消息標(biāo)簽,不能使用 pages_messaging_subscriptions。

如果您的智能助手具有需要用到訂閱消息或客戶匹配的其他功能,您應(yīng)創(chuàng)建單獨(dú)的應(yīng)用并重新申請(qǐng) Messenger 平臺(tái)權(quán)限。

第 3 步:響應(yīng) messaging_game_plays webhooks

正確配置智能助手后,您的服務(wù)器端應(yīng)用程序?qū)㈤_始在玩家每次關(guān)閉小游戲時(shí)接收 messaging_game_plays webhooks。下面是服務(wù)器端應(yīng)用程序檢測到并響應(yīng)一個(gè) 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 平臺(tái)文檔,詳細(xì)了解 webhook:“玩游戲”Webhook 文檔。

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

以下是如何使用圖譜 API 向玩家發(fā)送 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>"

                }

              }

            ]

          }

        ]

      }

    }

  }

}'

 如何實(shí)現(xiàn)Facebook 小游戲快速發(fā)布

您可以參閱 Messenger 平臺(tái)文檔,詳細(xì)了解此按鈕:“玩游戲”按鈕文檔。

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

發(fā)布至生產(chǎn)階段后,您的游戲智能助手應(yīng)進(jìn)入 Messenger 平臺(tái)提交流程。提交智能助手之前,請(qǐng)確保遵守下面的最佳實(shí)踐:

建議:

向玩家提供相關(guān)、及時(shí)且有價(jià)值的更新。如需獲取更多信息,請(qǐng)?jiān)L問我們的最佳實(shí)踐版塊。

給予用戶掌控權(quán)(例如:讓用戶確認(rèn)他們是否想要接收通知以及以接收的頻率)。

對(duì)玩游戲按鈕使用入口點(diǎn)數(shù)據(jù),以環(huán)境相關(guān)的方式加載游戲。

為智能助手設(shè)置與游戲相同的名稱。

利用社交更新,如回合提醒、比賽結(jié)果、限時(shí)獎(jiǎng)勵(lì)和挑戰(zhàn)。

確保為玩家提供適當(dāng)?shù)莫?jiǎng)勵(lì)刺激,促使他們通過智能助手消息打開游戲。為此,您可使用消息負(fù)載為玩家提供有價(jià)值的游戲內(nèi)獎(jiǎng)勵(lì)。一般來說,如果智能助手消息打開的是游戲的開始頁面,這條消息便沒有什么價(jià)值。

使用固定菜單提供常見操作,如啟動(dòng)游戲。

設(shè)置默認(rèn)操作,在自定義更新中使用 game_play,以便整個(gè)圖片都能將用戶帶入游戲中。

通過智能助手公布新功能或內(nèi)容。

針對(duì)每位用戶優(yōu)化每天的消息發(fā)送時(shí)段,考慮用戶所在的時(shí)區(qū)。

借鑒 Messenger 智能助手的通用最佳實(shí)踐。

請(qǐng)勿:

在玩家關(guān)閉游戲后立即發(fā)送消息。

發(fā)送沒有任何背景信息的消息再次吸引玩家(例如:“立即回到游戲中!”)。建議選包含豐富背景信息的消息來重新吸引玩家(例如:“你的偵查員為你帶回了更多信息”)

使用其他 Facebook 用戶的口吻,或誤導(dǎo)玩家以為他們好友在與他們溝通。

在用戶屢次不想加入游戲的情況下繼續(xù)向他們發(fā)送智能助手消息。這種情況將適用政策限制,并阻止您發(fā)送消息。當(dāng)前的限制為,自最后一次游戲會(huì)話結(jié)束后 10 天最多可發(fā)送 5 條消息。如需詳細(xì)了解,請(qǐng)參閱我們的開放平臺(tái)政策文檔中的第 9.4 條

將 messaging_type 設(shè)置為 RESPONSE 或 UPDATE 以外的其他任何值

鏈接至任何應(yīng)用商店。

看完上述內(nèi)容,你們對(duì)如何實(shí)現(xiàn)Facebook 小游戲快速發(fā)布有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)頁標(biāo)題:如何實(shí)現(xiàn)Facebook小游戲快速發(fā)布-創(chuàng)新互聯(lián)
分享地址:http://muchs.cn/article28/phhjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、網(wǎng)站導(dǎo)航、網(wǎng)站排名網(wǎng)站設(shè)計(jì)微信公眾號(hào)、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)