Как правильно подключить Play Game Services на Android при условии, что в приложении больше чем одна активити?

Потребовалось подключить Play Games Services в Android-приложение (авторизация, ачивки и лидерборд).

Документация и примеры https://developers.google.com/games/services/andro... описывают процесс подключения в рамках одной активити. Если конкретнее, то настораживает, что в методе onStart() надо коннектиться, а в методе onStop() делать дисконнект. У нас в приложении существует несколько активити и вызовы Play Games Services должны производиться из разных активити, например, результат игры и достижения это разные активити.

В связи со всем этим возник вопрос, как все-таки правильно реализовать интеграцию? Ведь когда мы переключаемся на другую активити в предыдущей может наступить onStop()

Кстати, такая же тема присутствует и при подключении биллинга.

Буду признателен за ответы )
  • Вопрос задан
  • 2570 просмотров
Решения вопроса 1
@filatoff Автор вопроса
Нашел отличный пример, отвечающий на все мои вопросы по этой теме https://github.com/playgameservices/android-basic-... Если вкратце, то там есть библиотека BaseGameUtils, в которой уже реализована абстрактная активити и хелпер для работы с сервисом. Небольшой доработкой напильником (например, у меня уже есть активити, от которой все наследуются, пришлось туда переносить логику из библиотеки) получилось все реализовать. В примерах также рассмотрены основные примеры использования этой библиотеки (логин, ачивки и т.д.)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
konstantin_berkow
@konstantin_berkow
Начинающий разработчик
Я конечно не уверен, опыта с этими сервисами не имею, но во многих похожих случаях (отслеживание сессий, биндинг к сервису), стоит коннектится в onResume() и дисконнектится в onPause(), сделайте какую-то абстрактную активти которая будет заниматься этим, а остальные будут от неё наследовать.
Ответ написан
Комментировать
iLLuzor
@iLLuzor
Java, Kotlin, Android Developer
Можно ведь создать отдельный класс, который будет всем этим делом управлять. Привязка к активити не обязательна.
Ответ написан
Комментировать
atetc
@atetc
Админ Android dev-s чата: https://goo.gl/8JKF1f
Activity Lifecycler использовать, который будет коннектить любую активити к Play Services API

Или наследоваться кастомной активист, в которой происходит подписка/отписка
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы