2014-10-19 1 views
0

Мы просто поместили последние штрихи в нашу игру, когда я столкнулся с проблемой с новой партией тестовых пользователей на facebook.Facebook Пользовательский идентификатор пользователей, кажется, меняется после того, как они дают разрешение на мое приложение, полностью нарушая мои «заявки на участие»

В моей игре вы можете пригласить друзей Facebook на ваш матч через диалог запроса. После того, как пользователь выбирает своих друзей, диалоговое окно приложения выводит список идентификаторов Facebook, которые они выбрали. Я добавляю этих пользователей в текущее совпадение как «ожидающих» пользователей и сохраняю их идентификаторы Facebook где-то в базе данных. На данный момент их идентификаторы Facebook выглядят довольно стандартно.

Давайте притворимся, что я пригласил Test User 1 в игру через приложение и сохранил их идентификатор facebook в моей базе данных (100006 ******** 4).

Теперь, когда пользователь видит запрос приложения, он загрузит мое приложение и войдет в него со своей учетной записью Facebook. На этом этапе их попросят предоставить мое приложение для их учетной записи. После того, как они принимают, их идентификатор Facebook теперь становится чем-то совершенно другим (303918 ******** 0). Что еще страннее, так это то, что я больше не могу найти пользователей с идентификатором «100006 ******** 4».

Когда я просматриваю список ожидающих пользователей, я беру фотографии профиля и имена этих пользователей. Поэтому в этом случае мое приложение пытается получить изображение/имя профиля «100006 ******** 4», но Facebook больше не возвращает никакой информации об этом пользователе. Получение изображения профиля/имени «303918 ******** 0» возвращает действительный результат.

Итак, теперь у меня есть эта проблема, когда моя игра ждет этого пользователя, который больше не существует. У меня нет способа связать ожидающих пользователей Facebook ID с их новым ID.

Я предполагаю, что это имеет какое-то отношение к новым идентификаторам пользователей с приложениями, но я затрудняюсь решить эту проблему.

Диалог запросов тоже не согласуется - он вернет соединение идентификаторов facebook и «идентификаторов пользователей с приложениями». То есть, если бы я должен был пригласить пользователя, ранее идентифицированного как «100006 ******** 4», в новую игру теперь, когда он предоставил разрешение моему приложению, диалог запроса выплюнет «303918 * ******* 0 'как идентификатор пользователя, а не «100006 ******** 4», как это было до того, как они предоставили разрешение на мое приложение.

+1

Да, не делайте этого. Когда кто-то нажимает на запрос и отправляется в ваше приложение, URL-адрес будет содержать идентификатор запроса. И вы храните тех, кто отправил этот запрос – WizKid

+0

. Идентификатор целевого пользователя, встроенный в идентификатор запроса, «идентификатор области приложения» этого пользователя? То есть, если я приглашу пользователя «100006 ******** 4», будет ли сформирован идентификатор запроса *********** _ 303918 ******** 0? – Prodigga

+0

Не имеет значения, что такое идентификатор запроса. Вы должны просто использовать его для поиска в своей базе данных, который отправил его – WizKid

ответ