Платформа моментальных игр позволяет без труда протестировать версию игры в локальной среде, автоматизировать публикацию и поделиться сборкой с коллегами. В этом документе вы найдете подробные инструкции по выполнению всех этих задач.
Удобство моментальных игр во многом зависит от нативных наложений, которые добавляются в игру до и после каждого сеанса. Чтобы упростить разработку и тестирование, мы позволяем разработчикам запускать игру с локального сервера. В этом случае условия запуска очень похожи на те, которые предоставляются игрокам на нашей платформе. Чтобы обеспечить это сходство, мы применяем встроенный тестовый проигрыватель, почти не требующий настройки.
Поскольку встроенный тестовый проигрыватель работает в домене facebook.com
, его можно запустить только через https
. Чтобы встроить материал в страницу, которая показывается через https
, его также нужно показать через SSL. Далее вы узнаете, как настроить сервер localhost
, который показывает защищенный контент. Существует множество решений, которые позволяют это сделать. В этом документе представлено одно из них.
http-server
через npm
. Если npm
не установлен, следуйте инструкциям по установке на сайте Node.JS. Затем выполните следующую команду:> $ npm install -g http-server
openssl
. Они понадобятся, чтобы запустить защищенный локальный сервер.> $ cd path/to/my/game/ > $ openssl genrsa 2048 > key.pem > $ openssl req -x509 -days 1000 -new -key key.pem -out cert.pem # Fill out necessary information
# Starts to serve via HTTPS, with cache disabled > $ http-server --ssl -c-1 -p 8080 -a 127.0.0.1 Starting up http-server, serving ./ through https Available on: https://127.0.0.1:8080 Hit CTRL-C to stop the server
https://localhost:8080
в браузере должна отображаться запущенная игра.Примечание. Попробуйте открыть страницу хотя бы раз, так как при этом может появиться предупреждение о безопасности. Его нужно подтвердить, чтобы продолжить. Если предупреждение появится и вы пропустите этот шаг, игра не загрузится.
Например, в Chrome может потребоваться открыть chrome://flags/#allow-insecure-localhost
и включить параметр "Разрешить недействительные сертификаты для ресурсов, загруженных с localhost", чтобы предупреждение не возникало.
Теперь, когда игра загружается с локального хоста по защищенному соединению, ее можно встроить в наш проигрыватель. Откройте эту страницу в браузере:
https://www.facebook.com/embed/instantgames/ID_ВАШЕЙ_ИГРЫ/player?game_url=https://localhost:8080
Вы должны увидеть, что игра запущена в проигрывателе моментальных игр. Это выглядит примерно так:
Примечание.Чтобы встроенный проигрыватель заработал, вы должны хотя бы раз сыграть в свою игру на странице fb.gg/play/ID_ВАШЕЙ_ИГРЫ
.
После этого вы сможете использовать все функции SDK моментальных игр из запущенной на локальном сервере игры.
Из соображений безопасности встроенный тестовый проигрыватель поддерживает только домен localhost
.
Вы можете запустить игру с локального сервера в определенном контексте. Для этого воспользуйтесь встроенным проигрывателем, как описано выше. Для переключения на другие контексты можно использовать методы FBInstant.context
(например, switchAsync()
, createAsync()
и chooseAsync()
).
Таким образом можно воспроизвести игру с localhost
в контексте переписки и проверить, правильно ли отправляются обновления контекста.
Контент моментальных игр размещается в инфраструктуре Facebook, поэтому собственное пространство для хостинга или услуги сторонних поставщиков вам не потребуются. Когда игра будет готова к тестированию, запакуйте ее в один файл ZIP. Обратите внимание, что файл index.html
должен находиться в корневой папке этого архива. Сборку можно загрузить двумя способами.
Чтобы загрузить ZIP-файл, откройте вкладку Веб-хостинг в Моментальных играх в панели приложений. Нажмите Загрузить версию. После этого вы сможете загрузить ZIP-файл в хостинговый сервис Facebook.
Затем будет выполнена обработка файла. Это займет всего несколько секунд. Состояние "В ожидании" означает, что приложение готово к развертыванию в производственной среде.
Вы также можете загрузить сборку игры с помощью вызова API Graph. Это удобно при наличии автоматизированной системы развертывания. Чтобы воспользоваться этим способом загрузки, вы должны запросить маркер загрузки в разделе Веб-хостинг. Для этого нажмите кнопку Получить маркер доступа для загрузки ресурсов в верхней части страницы.
С помощью маркера из этого диалога вы сможете передать в API Graph следующий вызов, чтобы отправить свой файл ZIP. Обратите внимание, что мы используем субдомен для видео, поскольку он позволяет загружать крупные файлы.
curl -X POST https://graph-video.facebook.com/{App ID}/assets -F 'access_token={ASSET UPLOAD ACCESS TOKEN}' -F 'type=BUNDLE' -F 'asset=@./{YOUR GAME}.zip' -F 'comment=Graph API upload'
Затем ваша игра отобразится в списке загруженных пакетов. Этот вызов позволяет выполнить интеграцию с существующей системой сборки.
Помните, что хостинг на Facebook имеет ряд ограничений. Ниже перечислены самые важные из них.
Подробнее см. в документации по веб-хостингу.
Чтобы протестировать загруженную сборку в производственной среде, ее необходимо подготовить. Чтобы отправить сборку в производственную среду, нажмите кнопку ★.
Производственная сборка — это сборка, которая будет показываться всем пользователям вашей игры. Чтобы тестировать обновления в производственных условиях, не причиняя неудобств игрокам, можно подготовить специальную сборку для тестирования. При этом она будет показываться только разработчикам и тестировщикам приложения.
Примечание. Не создавайте тестовое приложение для игры с помощью кнопки "Создать тестовое приложение". Для моментальных игр необходимо подготовить сборку для тестирования.
Когда будет готова сборка в производственной среде, протестируйте ее, запустив вместо текущей сборки на локальном сервере. Протестировать готовую сборку можно несколькими способами.
Чтобы опубликовать игру в Ленте, нажмите кнопку Поделиться в разделе Поделитесь своей игрой. Вы сможете опубликовать игру в Ленте и протестировать ее в любой среде (на ПК, в iOS или Android).
В списке моментальных игр в Messenger вы и ваша команда (люди, которым назначены роли администратора, разработчика или тестировщика в вашем приложении) будете видеть все игры, находящиеся в разработке. Список этих игр называется В разработке. Так вы сможете протестировать эти игры в Messenger, даже если они ещё не опубликованы.
Если с вашей игрой связана страница, вы также можете создать ссылку, которой можно поделиться. По этой ссылке пользователь сможет вступить в переписку с вашим ботом в Messenger и автоматически открыть игру — при условии, что вы настроили бот. Если вы этого не сделали, пользователь будет перенаправлен на вашу Страницу Facebook, где игра также откроется автоматически. В обоих случаях при нажатии этой ссылки игра сразу же откроется.
Подготовив версию для публикации, отправьте игру на проверку. Наша команда оценит ее качество и соответствие политике платформы. Перед отправкой изучите наш контрольный список и убедитесь, что игра соответствует всем критериям. В этом документе также приведены инструкции по публикации игры после прохождения проверки.
Теперь, когда вы знаете, как протестировать и опубликовать игру, перед отправкой ознакомьтесь с нашим контрольным списком: Контрольный список для запуска моментальных игр. Кроме того, изучите наши рекомендации по оформлению и обновлению игры.