Конфликт идентификатора клиента App Engine и Google Game Services

Я постараюсь сделать этот вопрос более кратким и понятным, чем мой первоначальный пост.
У меня есть приложение для Android, в котором я хочу использовать игровые сервисы Google для записи достижений и информации о таблице лидеров, а также App Engine для хранения пользовательских данных и игр. информацию.
Каждый из них работает по отдельности, но я не могу заставить их работать вместе.

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

Итак, на данный момент у меня есть 2 проекта в моей облачной консоли: один для игровых сервисов и один для App Engine.

Но когда я пытаюсь создать те же самые clientId с именем пакета моего приложения для Android и отпечатком сертификата SHA для моего проекта движка приложения в облачной консоли, я получаю сообщение об ошибке, указывающее, что этот конкретный clientId уже используется. То же самое происходит, когда я пытаюсь сначала создать clientId в проекте облачной консоли App Engine, а затем добавить их в консоль разработчика Game Services.

Есть ли способ создать приложение для Android, использующее как App Engine, так и игровые сервисы?


person user2985958    schedule 13.11.2013    source источник
comment
Я перефразировал это, и, надеюсь, кто-то сможет лучше понять мой вопрос.   -  person user2985958    schedule 16.11.2013


Ответы (2)


Я понял это. Это оказалось намного проще, чем я это делал, что стало очевидно, когда я вернулся к исходной точке.

Вот как это можно сделать.
Настройте проект ядра приложения в облачной консоли. Для облачных конечных точек с Android необходимо создать идентификатор клиента Android и идентификатор веб-клиента. Но пока не создавайте идентификатор клиента Android, он будет создан позже через консоль разработчика. Если вы хотите, сейчас можно создать Web clientId, или вы можете сделать это позже.

Теперь перейдите в Консоль разработчика -> Игровые сервисы -> Добавить новую игру.

Убедитесь, что вы нажали вкладку «Я уже использую API Google в своей игре». Теперь вы сможете связать эту новую игру с вашим проектом движка приложения. (Это то, что я упустил из-за того, что уже создал игру через консоль разработчика и не возвращался к этому этапу процесса до сих пор).

Теперь вы можете следовать остальным инструкциям на

https://developers.google.com/games/services/console/enabling

Когда вы создаете clientId через консоль разработчика для своей игры Game Services, он также будет отображаться в облачной консоли.

Затем вы можете использовать его в качестве Android ClientId в коде конечных точек (именно поэтому вы не создали Android ClientId выше).

Если вы еще не создали свой идентификатор веб-клиента, который нужен конечным точкам для клиентов Android, сделайте это сейчас.

Вы должны иметь возможность совершать вызовы игровых сервисов из своего приложения для Android и движка приложения из своего приложения для Android.

person user2985958    schedule 18.11.2013

Когда вам нужно авторизовать свою игру после добавления новой игры на вкладке GameServices в консоли разработчика Google Play, вы можете выбрать существующий API. Они clientID будут добавлены в ваш существующий проект консоли Google.

В приложении для Android вы можете использовать выбранное имя учетной записи для игровых сервисов для входа в App Engine. Если ваша активность расширяет BaseGameActivity, получите выбранное имя учетной записи следующим образом:

Plus.AccountApi.getAccountName(getApiClient())
person Roel    schedule 28.08.2014