中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Facebook 游戲開發更新文檔 API 參考文檔 v5.0

發布時間:2020-08-13 02:38:08 來源:ITPUB博客 閱讀:456 作者:xiaojiezi_2005 欄目:移動開發

Facebook 游戲開發更新文檔

API 參考文檔 v5.0

 

更新日志

1.  廣告 API  兩款全新的 API 可方便投放插屏廣告和獎勵式視頻廣告。要求 配置游戲以便在小游戲中投放廣告。

2.  Player Stats  API,用于設置、獲取并自動增加與玩家相關的 整數統計數據。輔以捆綁包配置的新增內容, 可為玩家統計數據配置元數據, 通過 Facebook 平臺級集成顯示統計數據。

3.  getEntryPointAsync  API,獲取啟動游戲的入口點。

4.  Custom Update Dev Localization  自定義更新 API 的增補, 讓開發者能夠提供更新內容的本地化版本。

5.  重大更改 CLIENT_REQUIRES_UPDATE 更名為 CLIENT_UNSUPPORTED_OPERATION

 

FBInstant

小游戲 SDK 的頂級命名空間。

 

player

包含與當前玩家相關的功能和屬性。

 

getID( )

玩家的唯一標識。 Facebook 用戶的玩家編號 將保持不變,且僅限于特定游戲范圍。這意味著 同一個用戶在不同的游戲中有不同的玩家編號。 僅當 FBInstant.initializeAsync() 被解析后才應調用此 函數。

示例

// This function should be called after FBInstant.initializeAsync()// resolves.var playerID = FBInstant.player.getID();

返回 字符串  玩家的唯一標識。

 

getSignedPlayerInfoAsync( )

獲取玩家的唯一標識和簽名,簽名用于驗證標識確實 來自 Facebook,且沒有被篡改。 僅當 FBInstant.initializeAsync() 被解析后才應調用此 函數。

參數

· 

requestPayload 字符串  開發者指定的包含于 已簽名響應中的負載。

· 

示例

// This function should be called after FBInstant.initializeAsync()// resolves.FBInstant.player.getSignedPlayerInfoAsync('my_metadata')

  .then(function (result) {

    // The verification of the ID and signature should happen on server side.

    SendToMyServer(

      result.getPlayerID(), // same value as FBInstant.player.getID()

      result.getSignature(),

      'GAIN_COINS',

      100);

  });

· 

拋出   INVALID_PARAM

· 

· 

拋出   NETWORK_FAILURE

· 

· 

拋出   CLIENT_UNSUPPORTED_OPERATION

· 

返回   Promise < SignedPlayerInfo >  以  #signedplayerinfo  對象解析的 promise。

 

getName( )

經本地化顯示的玩家姓名。僅當 FBInstant.startGameAsync() 被解析后 才應調用此函數。

示例

// This function should be called after FBInstant.startGameAsync()// resolves.var playerName = FBInstant.player.getName();

返回 字符串  經本地化顯示的玩家姓名。

 

getPhoto( )

玩家公開頭像的網址。此照片始終為正方形, 尺寸至少為 200x200 像素。在游戲中顯示時, 確切的尺寸可能會有所變化。建議 始終在顯示之前將圖片調整為需要的尺寸。 對應的值將始終為 null,直至 FBInstant.startGameAsync() 被解析。

警告:由于使用 CORS 機制,在游戲 Canvas 中使用這些照片會導致照片 損壞,這有礙于提取 Canvas 數據。 為防止出現這種情況,應將您使用的圖片的 cross-origin 屬性設置為 “anonymous”。

示例

var playerImage = new Image();

playerImage.crossOrigin = 'anonymous';// This function should be called after FBInstant.startGameAsync()// resolves.

playerImage.src = FBInstant.player.getPhoto();

返回 字符串  玩家公開頭像的網址。

 

getDataAsync( )

從指定的云存儲中檢索當前玩家的數據。

參數

· 

keys 數組 < 字符串 >  唯一鍵數組,數據檢索將針對這些鍵展開。

· 

示例

FBInstant.player

  .getDataAsync(['achievements', 'currentLife'])

  .then(function(data) {

     console.log('data is loaded');

     var achievements = data['achievements'];

     var currentLife = data['currentLife'];

  });

· 

拋出   INVALID_PARAM

· 

· 

拋出   NETWORK_FAILURE

· 

· 

拋出   CLIENT_UNSUPPORTED_OPERATION

· 

返回   Promise < 對象 >  此 promise 將在獲得 包含下列信息的對象時被解析:輸入數組中指定的每個鍵的 當前鍵值對(如存在)。

 

setDataAsync( )

設置要保存到指定云存儲的當前玩家 的數據。對于每個獨立玩家,游戲最多可存儲 1MB 的數據。

參數

· 

data 對象  此對象包含 應該保存到云存儲的一組鍵值對。對象必須僅包含 可序列化的值 — 任何不可序列化的值都會導致 整個修改被拒絕。

· 

示例

FBInstant.player

  .setDataAsync({

    achievements: ['medal1', 'medal2', 'medal3'],

    currentLife: 300,

  })

  .then(function() {

    console.log('data is set');

  });

· 

拋出   INVALID_PARAM

· 

· 

拋出   NETWORK_FAILURE

· 

· 

拋出   PENDING_REQUEST

· 

· 

拋出   CLIENT_UNSUPPORTED_OPERATION

· 

返回   Promise  此 promise 將在輸入值設定時被解析。 注意:promise 被解析并 不一定 意味著輸入 已被存儲,而是這意味著相關數據有效 并已安排要被存儲。這還能保證設置的所有值 現在可在 player.getDataAsync 中使用。

 

flushDataAsync( )

立即將玩家數據的任何更改刷新到指定的 云存儲中。此函數的調用成本較高, 應主要用于需要立即存儲并告知游戲的 重要更改。非重要更改應依賴于開放平臺在后臺 進行存儲。 注意:當此函數的結果待定時, player.setDataAsync 調用將被拒絕。

示例

FBInstant.player

  .setDataAsync({

    achievements: ['medal1', 'medal2', 'medal3'],

    currentLife: 300,

  })

  .then(FBInstant.player.flushDataAsync)

  .then(function() {

    console.log('Data persisted to FB!');

  });

· 

拋出   INVALID_PARAM

· 

· 

拋出   NETWORK_FAILURE

· 

· 

拋出   PENDING_REQUEST

· 

· 

拋出   CLIENT_UNSUPPORTED_OPERATION

· 

返回   Promise  此 promise 將在更改保存成功時被解析, 在更改保存失敗時被拒絕。

 

getStatsAsync( )

從指定云存儲檢索當前玩家的統計數據。

參數

· 

keys 數組 < 字符串 >?  唯一鍵數組(可選),針對這些鍵檢索 統計數據。如果調用函數時沒有設置此參數,則會提取所有統計數據。

· 

示例

FBInstant.player

  .getStatsAsync(['level', 'zombiesSlain'])

  .then(function(stats)) {

    console.log('stats are loaded');

    var level = data['level'];

    var zombiesSlain = data['zombiesSlain'];

  });

· 

拋出   INVALID_PARAM

· 

· 

拋出   NETWORK_FAILURE

· 

· 

拋出   CLIENT_UNSUPPORTED_OPERATION

· 

返回   Promise < 對象 >  此 promise 將在獲得 包含下列信息的對象時被解析:輸入數組中指定的每個鍵的 當前鍵值對(如存在)。

 

setStatsAsync( )

設置要保存到指定云存儲的當前玩家 的統計數據。

參數

· 

stats 對象  此對象包含應作為統計數據 保存到云存儲的鍵值對,能以各種方式顯示或 使用這些數據以提高玩家參與度。對象必須 僅包含數值,任何非數值會導致整個 修改被拒絕。

· 

示例

FBInstant.player

  .setStatsAsync({

    level: 5,

    zombiesSlain: 27,

  })

  .then(function() {

    console.log('data is set');

  });

· 

拋出   INVALID_PARAM

· 

· 

拋出   NETWORK_FAILURE

· 

· 

拋出   PENDING_REQUEST

· 

· 

拋出   CLIENT_UNSUPPORTED_OPERATION

· 

返回   Promise  此 promise 將在輸入值設定時被解析。 注意:promise 被解析并 不一定 意味著輸入 已被存儲,而是這意味著相關數據經過驗證 并已安排要被存儲。這還能保證設置的所有值 現在可在 player.getStatsAsync 中使用。

 

incrementStatsAsync( )

保存到指定云存儲的當前玩家 的增量統計數據。

參數

· 

increments 對象  此對象包含一組鍵值對, 這些鍵值對表示云存儲中每個統計數據的增量是多少。對象必須 僅包含數值,任何非數值會導致整個 修改被拒絕。

· 

示例

FBInstant.player

  .incrementStatsAsync({

    level: 1,

    zombiesSlain: 17,

    rank: -1,

  })

 .then(function(stats)) {

    console.log('increments have been made! New values');

    var level = data['level'];

    var zombiesSlain = data['zombiesSlain'];

  });

· 

拋出   INVALID_PARAM

· 

· 

拋出   NETWORK_FAILURE

· 

· 

拋出   PENDING_REQUEST

· 

· 

拋出   CLIENT_UNSUPPORTED_OPERATION

· 

返回   Promise < 對象 >  此 promise 將在獲得包含下列信息的對象時被解析:輸入字典中指定的每個鍵 的更新鍵值對。 注意:解析 promise 并 不一定 意味著更改 已被存儲,而是意味著 增量有效且已安排要被執行 。這還能保證增加的所有值 現在可在 player.getStatsAsync 中使用。

 

getConnectedPlayersAsync( )

提取 ConnectedPlayer 對象的數組,這些對象包含與當前玩家 關聯的玩家的信息。

注意:只有當 FBInstant.startGameAsync() 被解析時,此 promise 才會解析。

示例

var connectedPlayers = FBInstant.player.getConnectedPlayersAsync()

  .then(function(players) {

    console.log(players.map(function(player) {

      return {

        id: player.getID(),

        name: player.getName(),

      }

    }));

  });// [{id: '123456789', name: 'Paul Atreides'}, {id: '987654321', name: 'Duncan Idaho'}]

· 

拋出   NETWORK_FAILURE

· 

· 

拋出   CLIENT_UNSUPPORTED_OPERATION

· 

返回   Promise < 數組 < ConnectedPlayer >>  此 promise 將在 獲得關聯玩家對象列表時被解析。

 

context

包含與當前游戲環境相關的功能和屬性。

 

getID( )

當前游戲環境的唯一標識。這表示 玩游戲的特定環境(例如:特定的 Messenger 對話或 Facebook 帖子)。如果用戶在獨立環境中玩游戲,則此標識將 為 null。僅當 FBInstant.startGameAsync 被解析后 才應調用此函數。

示例

// This function should be called after FBInstant.startGameAsync()// resolves.var contextID = FBInstant.context.getID();

返回 字符串  當前游戲環境的唯一標識。

 

getType( )

當前游戲環境的類型。

僅當 FBInstant.startGameAsync 被解析后才應調用此函數。

示例

// This function should be called after FBInstant.startGameAsync()// resolves.var contextType = FBInstant.context.getType();

返回 ( "POST"  |  "THREAD"  |  "GROUP"  |  "SOLO" )  當前游戲環境的類型。

 

isSizeBetween( )

此函數用于確定加入當前游戲環境的玩家 數量是否在給定的最小值和最大值之間(包括最小值和最大值)。僅當其中一個邊界值為 null 時, 才會根據另一個邊界值進行檢查。在特定 的游戲會話中,此函數始終會返回某 環境內發出的第一個調用的最初結果。后續調用(無論參數是什么)將返回 原始查詢的答案,除非游戲環境發生變化且 查詢結果被重置。

僅當 FBInstant.startGameAsync 被解析后才應調用此函數。

如果提供的一個或兩個參數無效,我們沒有適合當前游戲環境 的玩家數量,或者 API 在 startGameAsync() 解析之前被調用, 此參數都會為 null。

參數

· 

minSize 數字  環境規模查詢的最小邊界值。

· 

· 

minSize 數字  環境規模查詢的最大邊界值。

· 

· 

maxSize 數字

· 

示例

console.log(FBInstant.context.isSizeBetween(3, 5)); (Context size = 4)// {answer: true, minSize: 3, maxSize: 5}

console.log(FBInstant.context.isSizeBetween(5, 7)); (Context size = 4)// {answer: false, minSize: 5, maxSize: 7}

console.log(FBInstant.context.isSizeBetween(2, 10)); (Context size = 3)// {answer: true, minSize: 2, maxSize: 10}

console.log(FBInstant.context.isSizeBetween(4, 8)); (Still in same context)// {answer: true, minSize: 2, maxSize: 10}

console.log(FBInstant.context.isSizeBetween(3, null)); (Context size = 4)// {answer: true, minSize: 3, maxSize: null}

console.log(FBInstant.context.isSizeBetween(null, 3)); (Context size = 4)// {answer: false, minSize: null, maxSize: 3}

console.log(FBInstant.context.isSizeBetween("test", 5)); (Context size = 4)// null

console.log(FBInstant.context.isSizeBetween(0, 100)); (Context size = null)// null

返回   ContextSizeResponse

 

switchAsync( )

請求切換到指定環境。如果玩家沒有進入該環境的權限, 或玩家未向游戲提供進入 該環境的權限,請求將被拒絕。 promise 將在 游戲切換到指定環境時被解析。

參數

· 

id 字符串  目標環境的編號。

· 

示例

console.log(FBInstant.context.getID());// 1122334455FBInstant.context

  .switchAsync('1234567890')

  .then(function() {

    console.log(FBInstant.context.getID());

    // 1234567890

  });

· 

拋出   INVALID_PARAM

· 

· 

拋出   SAME_CONTEXT

· 

· 

拋出   NETWORK_FAILURE

· 

· 

拋出   USER_INPUT

· 

· 

拋出   PENDING_REQUEST

· 

· 

拋出   CLIENT_UNSUPPORTED_OPERATION

· 

返回   Promise  此 promise 將在游戲切換到指定環境時被解析, 在切換失敗時被拒絕。

 

chooseAsync( )

為玩家打開一個環境選擇對話框。如果玩家選擇可用的環境, 客戶端將嘗試切換到這個環境, 并在成功時解析。而如果玩家退出菜單或 客戶端未能切換到新環境,此函數 將被拒絕。

參數

· 

options 對象  此對象用于指定應提供 的環境選項。

· 

· 

options.filters 數組 < ContextFilter >?  適用于環境推薦的一組篩選條件 。

· 

· 

options.maxSize 數字  在理想情況下,推薦環境應有 的最大玩家數量。

· 

· 

options.minSize 數字  在理想情況下,推薦環境應有 的最小玩家數量。

· 

示例

console.log(FBInstant.context.getID());// 1122334455FBInstant.context

  .chooseAsync()

  .then(function() {

    console.log(FBInstant.context.getID());

    // 1234567890

  });

console.log(FBInstant.context.getID());// 1122334455FBInstant.context

  .chooseAsync({

    filters: ['NEW_CONTEXT_ONLY'],

    minSize: 3,

  })

  .then(function() {

    console.log(FBInstant.context.getID());

    // 1234567890

  });

· 

拋出   INVALID_PARAM

· 

· 

拋出   SAME_CONTEXT

· 

· 

拋出   NETWORK_FAILURE

· 

· 

拋出   USER_INPUT

· 

· 

拋出   PENDING_REQUEST

· 

· 

拋出   CLIENT_UNSUPPORTED_OPERATION

· 

返回   Promise  此 promise 將在游戲切換到用戶選擇的環境時 被解析。否則此 promise 將被拒絕 (例如用戶退出對話框)。

 

createAsync( )

嘗試在指定玩家和當前玩家之間創建環境或 切換環境。如果列出的玩家不是當前玩家的關聯玩家, 或玩家未提供進入新環境的權限, 則返回的 promise 將被拒絕。 當游戲切換到新環境時, promise 將被解析。

參數

· 

playerID 字符串  玩家的編號

· 

示例

console.log(FBInstant.context.getID());// 1122334455FBInstant.context

  .createAsync('12345678')

  .then(function() {

    console.log(FBInstant.context.getID());

    // 5544332211

  });

· 

拋出   INVALID_PARAM

· 

· 

拋出   SAME_CONTEXT

· 

· 

拋出   NETWORK_FAILURE

· 

· 

拋出   USER_INPUT

· 

· 

拋出   PENDING_REQUEST

· 

· 

拋出   CLIENT_UNSUPPORTED_OPERATION

· 

返回   Promise  此 promise 將在游戲切換到新環境時被解析, 在切換失敗時被拒絕。

 

getPlayersAsync( )

獲取   #contextplayer  對象的數組, 其中包含與當前環境相關的活躍玩家 (在過去 90 天內玩過游戲的用戶)的信息。這可能包含當前 玩家。

注意:只有當 FBInstant.startGameAsync() 被解析時,此 promise 才會解析。

示例

var contextPlayers = FBInstant.context.getPlayersAsync()

  .then(function(players) {

    console.log(players.map(function(player) {

      return {

        id: player.getID(),

        name: player.getName(),

      }

    }));

  });// [{id: '123456789', name: 'Luke'}, {id: '987654321', name: 'Leia'}]

· 

拋出   NETWORK_FAILURE

· 

· 

拋出   CLIENT_UNSUPPORTED_OPERATION

· 

· 

拋出   INVALID_OPERATION

· 

返回   Promise < 數組 < ContextPlayer >>

 

getLocale( )

當前的語言設置。根據這一結果確定當前的游戲應本地化 為哪種語言。在 FBInstant.startGameAsync() 被解析之前,對應的值將不準確。

示例

// This function should be called after FBInstant.startGameAsync()// resolves.var locale = FBInstant.getLocale(); // 'en_US'

返回 字符串  當前的語言設置。

 

getPlatform( )

當前運行游戲的平臺。對應的值將始終為 null, 直至 FBInstant.initializeAsync() 被解析。

示例

// This function should be called after FBInstant.initializeAsync()// resolves.var platform = FBInstant.getPlatform(); // 'IOS'

返回 平臺

 

getSDKVersion( )

表示此 SDK 版本的字符串。

示例

// This function should be called after FBInstant.initializeAsync()// resolves.var sdkVersion = FBInstant.getSDKVersion(); // '2.0'

返回 字符串  SDK 版本。

 

initializeAsync( )

初始化 SDK 庫。應在調用其他任何 SDK 函數 之前調用此函數。

示例

FBInstant.initializeAsync().then(function() {

  // Many properties will be null until the initialization completes.

  // This is a good place to fetch them:

  var locale = FBInstant.getLocale(); // 'en_US'

  var platform = FBInstant.getPlatform(); // 'IOS'

  var sdkVersion = FBInstant.getSDKVersion(); // '3.0'

  var playerID = FBInstant.player.getID();});

· 

拋出   INVALID_OPERATION

· 

返回   Promise  此 promise 將在 SDK 可以使用時被解析。

 

setLoadingProgress( )

報告游戲的初始加載進度。

參數

· 

percentage 數字  介于 0 和 100 之間的數字。

· 

示例

FBInstant.setLoadingProgress(50); // Assets are 50% loaded

返回   void

 

getSupportedAPIs( )

提供客戶端支持的 API 函數的列表。

示例

// This function should be called after FBInstant.initializeAsync()// resolves.FBInstant.getSupportedAPIs();// ['getLocale', 'initializeAsync', 'player.getID', 'context.getType', ...]

返回 數組 < 字符串 >  客戶端顯式支持的 API 函數 列表。

 

getEntryPointData( )

返回與啟動游戲的入口點相關的任何數據 對象。

對象內容由開發者定義,可通過不同平臺 的入口點觸發。對于較舊版本的移動客戶端, 以及沒有與特定入口點相關的數據時, 此函數會返回 null。

僅當 FBInstant.startGameAsync() 被解析后 才應調用此函數。

示例

// This function should be called after FBInstant.initializeAsync()// resolves.const entryPointData = FBInstant.getEntryPointData();

返回 對象  與當前入口點相關的數據。

 

getEntryPointAsync( )

返回啟動游戲的入口點

示例

// This function should be called after FBInstant.initializeAsync()// resolves.FBInstant.getEntryPointAsync().then(entrypoint => console.log(entrypoint));// 'admin_message'

返回 字符串  用戶啟動游戲時所在的入口點的 名稱

 

setSessionData( )

為當前環境設置與單個游戲會話相關的 數據。

當游戲需要更新當前的會話數據時, 應調用此函數。此會話數據可用于填充各種負載, 如玩游戲 webhook。

參數

· 

sessionData 對象  一個隨機數據對象,轉變為字符串后,必須小于 或等于 1000 個字符。

· 

示例

FBInstant.setSessionData({coinsEarned: 10, eventsSeen: ['start', ...]});

返回   void

 

startGameAsync( )

表示游戲已完成初始加載, 并準備就緒可以開始游戲。當返回的 promise 被解析時, 環境信息即為最新。

示例

FBInstant.startGameAsync().then(function() {

  myGame.start();});

· 

拋出   INVALID_PARAM

· 

· 

拋出   CLIENT_UNSUPPORTED_OPERATION

· 

返回   Promise  此 promise 將在游戲應該啟動時被解析。

 

shareAsync( )

此函數會調用一個對話框,讓用戶以下列方式分享指定的內容:在 Messenger 中發送消息,或在用戶時間線上發布帖子。可以在分享中添加數據塊, 通過此次分享啟動的每個游戲會話 都可以通過 FBInstant.getEntryPointData() 訪問此數據塊。轉變為字符串時, 此數據必須小于或等于 1000 個字符。用戶 可以選擇取消分享操作和關閉對話框, 但無論用戶實際是否分享了內容, 返回的 promise 都將在對話框關閉時解析。

參數

· 

payload SharePayload ,指定要分享的內容。詳情 請參閱示例。

· 

示例

FBInstant.shareAsync({

  intent: 'REQUEST',

  image: base64Picture,

  text: 'X is asking for your help!',

  data: { myReplayData: '...' },}).then(function() {

  // continue with the game.});

· 

拋出   INVALID_PARAM

· 

· 

拋出   NETWORK_FAILURE

· 

· 

拋出   PENDING_REQUEST

· 

· 

拋出   CLIENT_UNSUPPORTED_OPERATION

· 

· 

拋出   INVALID_OPERATION

· 

返回   Promise  此 promise 將在分享完成或取消時 被解析。

 

updateAsync( )

Facebook 通知游戲內發生的更新。這會 暫時將控制權移交給 Facebook,且 Facebook 將確定要 根據更新內容采取什么操作。返回的 promise 將在 Facebook 把 控制權返還給游戲時解析/拒絕。

參數

· 

payload CustomUpdatePayload  描述更新的負載。

· 

示例

// 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: 'Join The Fight',

  image: base64Picture,

  text: {

    default: 'X just invaded Y\'s village!',

    localizations: {

      ar_AR: 'X \u0641\u0642\u0637 \u063A\u0632\u062A ' +

      '\u0642\u0631\u064A\u0629 Y!',

      en_US: 'X just invaded Y\'s village!',

      es_LA: '\u00A1X acaba de invadir el pueblo de Y!',

    }

  }

  template: 'VILLAGE_INVASION',

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

  strategy: 'IMMEDIATE',

  notification: 'NO_PUSH',}).then(function() {

  // closes the game after the update is posted.

  FBInstant.quit();});

· 

拋出   INVALID_PARAM

· 

· 

拋出   PENDING_REQUEST

· 

返回   Promise  此 promise 將在 Facebook 把控制權交還給游戲時 被解析。

 

quit( )

退出游戲。

示例

FBInstant.quit();

返回   void

 

logEvent( )

通過 Facebook 分析記錄應用事件。請參閱  https://developers.facebook.com/docs/javascript/reference/v2.8#app_events  詳細了解 Fcaebook 分析。

參數

· 

eventName 字符串  事件名稱。必須為 2 到 40 個字符, 且只能包含“_”、“-”、“ ”和字母數字字符。

· 

· 

valueToSum 數字  可選的數值,Facebook 分析利用此參數來 計算總和。

· 

· 

parameters 對象  可選的對象,最多可包含 25 個要與事件一同記錄的鍵值對。鍵必須為 2 到 40 個字符, 且只能包含“_”、“-”、“ ”和 字母數字字符。值的長度必須小于 100 個字符。

· 

示例

var logged = FBInstant.logEvent(

  'my_custom_event',

  42,

  {custom_property: 'custom_value'},);

返回   APIError  如果事件記錄錯誤,將返回錯誤; 否則返回 null。

 

onPause( )

設置發生暫停事件時將觸發的回調。

參數

· 

func 函數  發生暫停事件時將調用的函數。

· 

返回   void

 

getInterstitialAdAsync( )

嘗試創建插屏廣告的實例。此實例可在之后 預載和顯示。

參數

· 

placementID 字符串  在 Audience Network 設置中設置的 版位編號。

· 

示例

FBInstant.getInterstitialAdAsync(

  'my_placement_id',).then(function(interstitial) {

  interstitial.getPlacementID(); // 'my_placement_id'});

· 

拋出   ADS_TOO_MANY_INSTANCES

· 

· 

拋出   CLIENT_UNSUPPORTED_OPERATION

· 

返回   Promise  此 promise 將在獲得  #adinstance  時被解析;在獲得  #apierror  時被拒絕 (如果未能創建)。

 

getRewardedVideoAsync( )

嘗試創建獎勵式視頻廣告的實例。此實例可在之后 預載和顯示。

參數

· 

placementID 字符串  在 Audience Network 設置中設置的 版位編號。

· 

示例

FBInstant.getRewardedVideoAsync(

  'my_placement_id',).then(function(rewardedVideo) {

  rewardedVideo.getPlacementID(); // 'my_placement_id'});

· 

拋出   ADS_TOO_MANY_INSTANCES

· 

· 

拋出   CLIENT_UNSUPPORTED_OPERATION

· 

返回   Promise  此 promise 將在獲得  #adinstance  時被解析;在獲得  #apierror  時被拒絕 (如果未能創建)。

 

LocalizationsDict

代表特定字符串的語言設置與翻譯之間的映射。 每個屬性均為可選且包含五個字符的 Facebook 語言代碼,格式為 xx_XX。 請參閱 https://www.facebook.com/translations/FacebookLocales.xml 獲取受支持的語言代碼的完整列表。

類型: 對象

 

APIError

小游戲 SDK 返回的 API 錯誤

 

code

相關的錯誤代碼

類型: ErrorCodeType

 

message

描述錯誤的消息

類型: 字符串

 

SignedPlayerInfo

代表玩家信息,并包含簽名, 簽名用于驗證對應信息確實來源于 Facebook。

 

getPlayerID( )

獲取玩家的編號。

返回 字符串  玩家的編號

 

getSignature( )

用于驗證此對象確實來源于 Facebook 的簽名。此字符串 使用 base64url 編碼, 并根據 OAuth 2.0 協議使用 HMAC 版本的應用密鑰簽名。

您可以通過以下 4 步進行驗證:

· 

將簽名分為兩個部分,以 “.”字符隔開。

· 

· 

通過 base64url 編碼對第一部分(編碼后的簽名)進行解碼。

· 

· 

通過 base64url 編碼對第二部分(響應負載)進行解碼, 第二部分應該是代表 JSON 對象(包含下列字段)的字符串: ** algorithm — 始終等于 HMAC-SHA256。 ** issued_at — 發出此響應的 unix 時間戳。 ** player_id — 玩家的唯一標識。 ** request_payload — 您在調用 FBInstant.player.getSignedPlayerInfoAsync 時 指定的 requestPayload 字符串。

· 

· 

請采用 HMAC SHA-256 和您的應用密鑰散列處理 整個響應負載字符串,并確定它等同于經編碼的簽名。

· 

· 

還建議您驗證響應負載中 issued_at 時間戳,確保請求是最近發出的。

· 

應僅在您的服務器中進行簽名驗證。不要在客戶端進行簽名驗證, 因為客戶端可能會泄漏您的應用密鑰。

示例

Eii6e636mz5J47sfqAYEK40jYAwoFqi3x5bxHkPG4Q4.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImlzc3VlZF9hdCI6MTUwMDM5ODY3NSwicGxheWVyX2lkIjoiMTI0OTUyNTMwMTc1MjIwMSIsInJlcXVlc3RfcGF5bG9hZCI6Im15X2ZpcnN0X3JlcXVlc3QifQ

返回 字符串  簽名字符串。

 

ConnectedPlayer

代表與當前玩家關聯的玩家的信息。

 

getID( )

獲取關聯玩家的編號。

返回 字符串  關聯玩家的編號

 

getName( )

獲取玩家的全名。

返回 字符串  即玩家的全名

 

getPhoto( )

獲取玩家公開頭像的網址。

返回 字符串  玩家公開頭像的網址

 

ContextPlayer

代表與當前玩家在相同環境中玩游戲 的玩家的信息。

 

getID( )

獲取相同環境玩家的編號。

返回 字符串  相同環境玩家的編號

 

getName( )

獲取經本地化顯示的玩家姓名。

返回 字符串  經本地化顯示的玩家姓名。

 

getPhoto( )

獲取玩家公開頭像的網址。

返回 字符串  玩家公開頭像的網址

 

AdInstance

代表廣告實例。

 

getPlacementID( )

返回此廣告實例的 Audience Network 版位編號。

 

loadAsync( )

預加載廣告。返回的 promise 將在預加載完成時被解析, 在預加載失敗時被拒絕。

示例

FBInstant.getInterstitialAdAsync(

  'my_placement_id',).then(function(interstitial) {

  return interstitial.loadAsync();}).then(function() {

  // Ad loaded});

· 

拋出   ADS_FREQUENT_LOAD

· 

· 

拋出   ADS_NO_FILL

· 

· 

拋出   INVALID_PARAM

· 

· 

拋出   NETWORK_FAILURE

· 

返回   Promise

 

showAsync( )

代表廣告。返回的 promise 將在用戶 觀看完廣告時被解析,在廣告展示失敗或 用戶在廣告展示期間關閉廣告時被拒絕。

示例

var ad = null;FBInstant.getRewardedVideoAsync(

  'my_placement_id',).then(function(rewardedVideo) {

  ad = rewardedVideo;

  return ad.loadAsync();}).then(function() {

  // Ad loaded

  return ad.showAsync();}).then(function() {

  // Ad watched});

· 

拋出   ADS_NOT_LOADED

· 

· 

拋出   INVALID_PARAM

· 

· 

拋出   NETWORK_FAILURE

· 

返回   Promise

 

ContextFilter

適用于環境選擇操作的篩選條件。 “NEW_CONTEXT_ONLY”— 僅顯示之前玩游戲未使用過的環境。 “INCLUDE_EXISTING_CHALLENGES”— 包括“當前挑戰”部分, 顯示玩家積極在其中玩游戲的環境。 “NEW_PLAYERS_ONLY”— 在包含個人信息的部分, 篩選出之前未玩過游戲的用戶,

類型: ( "NEW_CONTEXT_ONLY"  |  "INCLUDE_EXISTING_CHALLENGES"  |  "NEW_PLAYERS_ONLY" )

 

平臺

代表用戶當前在哪個平臺玩游戲。

類型: ( "IOS"  |  "ANDROID"  |  "WEB"  |  "MOBILE_WEB" )

 

ContextSizeResponse

如果當前環境的規模介于對象中 指定的 minSize 和 maxSize 值之間, answer 字段為 true,否則為 false。

類型: {answer:  boolean , minSize:  number ?, maxSize:  number ?}

 

SharePayload

代表用戶分享的內容。

類型: 對象

屬性

· 

intent ( "INVITE"  |  "REQUEST"  |  "CHALLENGE"  |  "SHARE" )  表示分享的意圖。

· 

· 

image 字符串  要分享的 base64 編碼圖片。

· 

· 

text 字符串  要分享的文本消息。

· 

· 

data 對象  要附加到分享中的數據塊。通過分享 開始的所有游戲會話都可以通過 FBInstant.getEntryPointData() 訪問此數據塊。

· 

 

錯誤代碼

小游戲 API 可能會返回的錯誤代碼

屬性

· 

ADS_FREQUENT_LOAD 字符串  廣告加載太頻繁。

· 

· 

ADS_NO_FILL 字符串  我們無法向當前的用戶投放 廣告。如果用戶在設備中退訂基于興趣的廣告 ,或我們沒有廣告可展示給該用戶,就會出現這種情況

· 

· 

ADS_NOT_LOADED 字符串  嘗試顯示此前未成功 加載的廣告。

· 

· 

ADS_TOO_MANY_INSTANCES 字符串  同時展示的廣告實例 太多。建議您先加載和展示現有廣告實例,再新建廣告。

· 

· 

ANALYTICS_POST_EXCEPTION 字符串  分析 API 在嘗試發布事件 時遇到問題。

· 

· 

CLIENT_REQUIRES_UPDATE 字符串  [已停用] — 客戶端要求獲得 更新,以便訪問返回此結果的功能。如果在網頁端 返回這一結果,則意味著該網頁客戶端還不支持 此功能。v5.0 及更高版本已停用這一代碼,以便支持 CLIENT_UNSUPPORTED_OPERATION

· 

· 

CLIENT_UNSUPPORTED_OPERATION 字符串  客戶端不支持 當前操作。這可能是因為客戶端版本或平臺不提供 相關支持,或不允許對游戲或玩家執行此 操作。

· 

· 

INVALID_OPERATION 字符串  所請求的操作無效, 或表示當前的游戲狀態。這包括違反限制 (如超出存儲上限)或不適用于特定狀態 (如在獨立的環境中針對特定環境發出請求) 的情況。

· 

· 

INVALID_PARAM 字符串  傳遞給 API 的參數 無效。可表示錯誤類型、參數的無效數字,或 語義問題(例如,將不可序列化的對象傳遞到 序列化函數)。

· 

· 

NETWORK_FAILURE 字符串  客戶端處理網絡請求時 出現問題。這可能是由暫時性問題導致的, 如玩家的網絡連接中斷。

· 

· 

PENDING_REQUEST 字符串  表示因存在與此請求沖突的 一項請求而被拒絕。例如,當某個依賴于 Facebook 用戶界面的請求處于待處理狀態時, 我們就會拒絕顯示 Facebook 用戶界面的其他任何調用。

· 

· 

SAME_CONTEXT 字符串  游戲嘗試切換到 當前環境。

· 

· 

UNKNOWN 字符串  發生了未知或未指定的問題。這是 客戶端未指定代碼時返回的默認錯誤代碼。

· 

· 

USER_INPUT 字符串  用戶的選擇導致 被拒絕。例如,如果游戲調用環境切換對話框, 而玩家關閉此對話框, 則 promise 拒絕中就會包含此錯誤代碼。

· 

示例

FBInstant.startGameAsync().catch(function(e) {

  console.log(e);});// {code: 'CLIENT_UNSUPPORTED_OPERATION', message: '...'}

 

ErrorCodeType

小游戲錯誤代碼, #errorcode  中的一種

類型: 字符串

 

CustomUpdatePayload

代表 FBInstant.updateAsync 的自定義更新。

類型: 對象

屬性

· 

action 字符串  對于自定義更新,此屬性應為“CUSTOM”。

· 

· 

template 字符串  此自定義更新所使用模板的編號。 模板應在 fbapp-config.json 中預定義。請參閱 [捆綁包配置文檔] https://developers.facebook.com/docs/games/instant-games/bundle-config ,獲取有關 fbapp-config.json 的文檔。

· 

· 

cta 字符串 LocalizableContent ?)  可選的行動號召按鈕 文本。默認情況下,我們會使用經本地化的“Play”作為按鈕文本。 若要提供自定義行動號召的本地化版本, 應傳遞一個包含默認行動號召的對象作為“default”值,以及將語言鍵映射到翻譯的 另一個對象作為“localizations”值。

· 

· 

image 字符串  base64 編碼圖片的數據網址。

· 

· 

text 字符串  |  LocalizableContent  一條文本消息, 或者是一個包含默認文本作為“default”值的對象 以及另一個將語言鍵映射到翻譯內容作為“localizations”值的對象。

· 

· 

data 對象  要附加到更新中的數據塊。通過更新 開始的所有游戲會話都可以通過 FBInstant.getEntryPointData() 訪問此數據塊。轉變為字符串時, 此數據塊必須小于或等于 1000 個字符。

· 

· 

strategy 字符串  指定更新的發布 方式。可以是下列方式之一: “IMMEDIATE”— 更新應立即發布。 “LAST”— 更新應在游戲會話結束時發布。使用 “LAST”策略發送的是最近發送的更新。 “IMMEDIATE_CLEAR”— 更新將立即發布,并清除其他任何待處理的 更新(如通過“LAST”策略發布的更新)。 如果未指定策略,我們將默認為“IMMEDIATE”。

· 

· 

notification 字符串  指定自定義更新的 通知設置。可以是“NO_PUSH”或“PUSH”,默認為“NO_PUSH”。 僅將推送通知用于 對接收人來說非常顯著且可立即操作的更新。另請注意,并不一定 會發送推送通知,具體取決于用戶設置和平臺政策。

· 

 

LocalizableContent

代表一個字符串,其中包含最終使用的本地化內容和默認值。

類型: 對象

屬性

· 

default 字符串  要使用的字符串的默認值 (查看者的語言設置不是 localizations 對象中的鍵時)。

· 

· 

localizations LocalizationsDict  指定每種語言設置中用于觀看者 的字符串。 請參閱  https://www.facebook.com/translations/FacebookLocales.xml 獲取受支持的完整語言列表。

為方便大家群策群力, 創建了一個 Facebook Instant Game   交流群: 814298516 歡迎同 們加入 交流開發和運營經驗。

Facebook 游戲開發更新文檔 API 參考文檔 v5.0


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吉水县| 洛川县| 都昌县| 镇坪县| 姜堰市| 句容市| 翁牛特旗| 怀集县| 天峨县| 双柏县| 广南县| 凤庆县| 嘉祥县| 桐柏县| 和龙市| 赤城县| 南郑县| 土默特右旗| 崇州市| 繁峙县| 镇远县| 津南区| 丹江口市| 凤山市| 东乌珠穆沁旗| 麻阳| 宜兴市| 聂拉木县| 盐山县| 苏尼特右旗| 中方县| 田林县| 崇左市| 资源县| 聊城市| 桂平市| 确山县| 丰城市| 互助| 茌平县| 磐安县|