Messenger InstantGames - веб-запрос отлично работает на веб-странице Messenger, но не работает при воспроизведении через мобильное приложение Messenger - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть игра, написанная на TypeScript, загруженная в Facebook Instant Games.У меня очень простой вызов для получения реального timestamp с моего собственного сервера.

Мне удалось заставить его работать после загрузки сборки в InstantGames и после возникновения проблем с CORS.Я получаю правильный ответ с status 200.

Однако есть проблема с тем же запросом, но из InstantGame, который воспроизводится через приложение Messenger, как на iOS, так и на Android.Я пытался разместить как можно больше журналов матчей, без какого-либо разумного ответа.

Я создаю XMLHttpRequest(), когда игра запускается в настольном браузере, я наконец получаю:

xhr.readyState == 4 иxhr.status == 200.

Я использую https url.

В мобильном мессенджере я получаю только xhr.readyState == 4 и xhr.status == 0.

Я также пыталсяс перемещением из XMLHttpRequest() в fetch(), то же поведение - в настольном браузере все работает нормально, на мобильном телефоне я получаю:

I/chromium(22226): [INFO:CONSOLE(0)] "Uncaught (in promise) TypeError: Failed to fetch"

Код сервера:

<?php
header('Access-Control-Allow-Origin: https://my-app-id.apps.fbsbx.com');
$date = new DateTime();
echo $date->getTimestamp();
?>

Есть идеи, почему происходит сбой при воспроизведении с помощью мобильного приложения Messenger и как это исправить?

1 Ответ

0 голосов
/ 13 января 2019

Не уверен, что это то, что вы нажали, но приложения для обмена сообщениями не любят HTTP / 2.Потерял несколько часов своей жизни, чтобы понять это.

...