Метод api для мгновенных игр Facebook canSubscribeBotAsyn c не является функцией - PullRequest
0 голосов
/ 07 мая 2020

Итак, моя игра хочет, чтобы у игроков была возможность подписаться на игрового бота, и я использую метод FBInstant.player.canSubscribeBotAsyn c (). Но каждый раз он будет возвращать сообщение об ошибке с состоянием

Uncaught TypeError: FBInstant.player.canSubscribeBotAsyn c не является функцией, вот мой код

FBInstant.player.canSubscribeBotAsync().then(function(yes){
    if(yes){
      FBInstant.player.subscribeBotAsync().then(function(){
        console.log('sub');
      }).catch(function(e)){}
    }
});

Я пробовал использовать этот код от разработчика FB do c

FBInstant.player.canSubscribeBotAsync().then(
  can_subscribe => console.log(can_subscribe)
);

, но результат все тот же.

1 Ответ

0 голосов
/ 08 мая 2020

Кажется, я пытался разрешить игроку подписаться, когда он нажимает кнопку, и появляется эта ошибка. Но когда я переключаю его, позволяя игроку нажимать кнопку подписки, чтобы спросить, когда игрок завершил загрузку игры, ошибка исчезает. Программа выглядит так:

window.onload = async () => {
      FBInstant.initializeAsync().then(()=>{
        FBInstant.startGameAsync().then((res)=>{
          FBInstant.player.canSubscribeBotAsync().then((canSub)=>{
            //Ask for sub or something
        }).catch(()=>console.log("Error"))
      })
})

Но для меня это временное исправление, поскольку обычно вы можете вызывать функцию где угодно (работает или нет, это не моя проблема) и моя проблема в том, что я могу вызывать только FBInstant.player.canSubscribeBotAsyn c () внутри FBInstant.initializeAsyn c () или FBInstant.startGameAsyn c (), но не вне их

...