Фон«Лучший» способ реализации в приложении валют на разных устройствах
Я написал игру, которые я хочу работать на нескольких устройствах (таблетки, телефоны и т.д.). Я внедрил валюту в приложении и пришел на сцену, где мне нужно хранить валюту в облаке, поэтому ее можно получить на всех устройствах, и я могу справиться с конфликтами и т. Д.
Я бы хотел пойти самый легкий вариант, который, по крайней мере для меня, означает использование какого-либо доступного API, предоставляемого, скажем, Google, а не использования моего собственного сервера. Я пришел через следующие возможности:
- Google AppState API (теперь устаревшее)
- Google Сохраненные игры API
- Google Drive API
- Google Cloud Platform.
(1) теперь устарел, и разработчикам предлагается использовать API сохраненных игр.
(2) На самом деле это отличное решение, потому что оно имеет дело с играми «Достижения», «Лидерборды» и хранение пользовательских данных (например, в валюте приложения). Однако я вижу проблему с этим в том, что в приложении Play Games есть опция удалить профиль игрока, который также удалит валюту в игре! Таким образом, хотя (2) кажется большим, существует вероятность того, что данные о валюте могут быть потенциально удалены. Возможно, это можно было бы положить в T & C, что-то вроде «если вы удалите свой профиль, вы потеряете какую-либо неизрасходованную валюту и любые купленные предметы» ...
(3) Использование API Drive представляется как опция, но то после чтения в Интернете, похоже, много проблем, таких как дубликаты имен файлов, возможности для пользователя удалять файлы и т. д.
(4) Я не уверен в этом, но, похоже, мне, возможно, придется заплатить ?
Существует также, кажется, these deprecation schedules на некоторых API.
Мой вопрос
Так сталкиваются с этими (и, возможно, других, не перечисленных) вариантов, что является хорошим решением для достижения облака на основе в приложении валюты? Я пытаюсь избежать использования моего собственного сервера, который регистрирует валюту/данные каждого пользователя, но, может быть, это единственное хорошее решение? Я хочу попытаться уменьшить способность обманывать систему.
Дополнительные мысли
Я мог бы использовать Google Сохраненные игры API и Сохраненные Preferences (сохраненные на устройстве) подхода. Я бы обновил обе сохраненные настройки и сохраненные игры Google. Я мог бы синхронизировать оба метода хранения данных, и если данные сохраненных игр не соответствовали сохраненным настройкам, затем объедините сохраненные префы с данными сохраненных игр (например, установите для сохраненных игр и сохраненных префиксов максимальную валюту). Это позволит мне сохранить резервную копию валюты на устройстве, если пользователь когда-либо удалит свой профиль «Сохраненные игры». Однако это не удастся, если пользователь удалит свой профиль сохраненных игр и удалит приложение со всех устройств ... так много параметров ...
Сопутствующий/Интересные сообщения
Ricket's answer here is interesting.
Возможное компромиссное решение
Из-за ограничений, налагаемых IAB системами и API, доступный, я думаю, что я собираюсь обосноваться для этого: используйте управляемые элементы для постоянных покупок, например различные темы уровня, получение новых персонажей и т. д. Таким образом, они всегда будут доступны независимо от того, что произойдет. Как только они будут куплены, они будут куплены навсегда, то есть я никогда не буду использовать эти предметы. Имейте отдельную систему виртуальных денег (драгоценных камней) с максимальным количеством 100 драгоценных камней, которые я отслеживаю с помощью сохраненных игр. Таким образом, я получаю лидеров и достижения. Если игрок удаляет свой профиль, это их проблема, но по крайней мере основные управляемые элементы будут сохраняться. Надеюсь, T & C будет покрывать потенциальную потерю драгоценного камня, и максимум 100 драгоценных камней, мы надеемся, помогут уменьшить падение.
Неудивительно, что вам нужно заплатить за то, чтобы ваш сервер работал в облаке, доступный по всему миру с почти идеальным временем безотказной работы и вообще не заботясь о оборудовании и центрах обработки данных? –
Сказав, что есть какая-то причина, по которой вы, похоже, не хотите внедрить бэкэнд в свою игру?Я не совсем уверен, как ваша игра может работать без нее, и если у вас ее уже есть, то почему бы не сохранить свою игровую валюту и предметы там? –
Нет, это не удивительно. – Antinous