今天就跟大家聊聊有關(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è)置應(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)。
之后,您可以在移動(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();
});
有關(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)用主頁版塊如右圖所示:
注意:如果小游戲未與上述類型的主頁正確關(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>"
}
}
]
}
]
}
}
}
}'
您可以參閱 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)
猜你還喜歡下面的內(nèi)容