iOS Exploit: восстановление покупок в приложениях для нескольких игровых аккаунтов

Я создаю серверную игру на iOS, которая позволяет игрокам создавать учетную запись игры для игры с несколькими устройствами. В моей игре есть In-App Purchase (IAP), которые не подлежат расходуемому, и могут быть восстановлены или повторно загружены первоначальным покупателем.

Я бы предпочел, чтобы игроки не могли восстановить их IAP на несколько учетных записей игр. Возможно ли это, учитывая правила Apple?

Например, брать Академию Героев можно.

  • Player1, чтобы купить все IAP на своей учетной записи игры и в iTunes
  • Player1 для входа в Игровой аккаунт Академии героев Player2
  • Player1 для повторной загрузки нерасходуемого IAP в игровой аккаунт Player2, предоставляя разрешениям Player2 всем IAP
  • Player2, чтобы войти в свою учетную запись на своем собственном устройстве и теперь иметь разрешения для всех IAP

Результат: Player2 получил все IAP бесплатно.

Возможно, я смогу прочитать их учетную запись iTunes и ограничить покупки iTunes на одну учетную запись игры. Внедрение этого решения противоречит рекомендациям Apple по восстановлению неиспользуемых IAP.

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

2 Solutions collect form web for “iOS Exploit: восстановление покупок в приложениях для нескольких игровых аккаунтов”

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

Т.е. я покупаю расходуемый комплект IAP из 100 магических монет за 5 долларов США, чтобы купить предмет Magic Bean стоимостью 50 магических монет.

Я подозреваю, что ответ может заключаться в использовании чего-то вроде NSUbiquitousKeyValueStore. Это требует от пользователя использования iCloud, но я думаю, что большинство пользователей это делает. Если я правильно ее понимаю, это хранилище ключевых значений на основе iCloud, и поэтому будет связано с одним конкретным AppleID.

Сохраняя свой собственный идентификатор Академии героев, я думаю, что вы, по сути, синхронизировали бы его с определенным AppleID. Это было бы так, что на шаге 2 вашего эксплойта Player2 должен был бы дать ему и его AppleID, и пароль для Player1. Многие люди не хотят этого делать. Однако некоторые из них, и, чтобы предотвратить это, я думаю, вам придется программировать игру, чтобы она проверяла разрешения на NSUbiquitousKeyValueStore. Другими словами, вам нужно будет активно связать специальную покупку с вашим AppleID в то время, когда вы ее использовали.

Ваша игра никогда не увидит фактический AppleID, но она сможет отличить один магазин iCloud от другого с помощью Ирины Академии Hero, которую вы разместили в ней.

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

  • Ошибка iTunesConnect? Продукт In-App-Purchase не может «Отправить для просмотра»
  • iOS Сохраняйте данные о покупке в приложении и занимайтесь джейлбрейком
  • То же приложение, тот же пользователь теста, два разных устройства с различным содержимым SKPaymentQueue. Что может быть причиной этого?
  • Проверка Gdx-Pay для покупок
  • Можно ли автоматически восстанавливать покупки приложений в iOS?
  • «Не удается подключиться к iTunes Store» в приложениях
  • Apple verifyReceipt работает в песочнице, но не в производстве
  • Как «подделать» восстановление при покупке приложения для предыдущих пользователей приложения при переходе с платного на бесплатный
  • Приобретайте приложение из другого приложения, используя In-App Purchase
  • Как сопоставить транзакционные квитанции с финансовым отчетом, который можно скачать в iTunes Connect?
  • Как долго Apple будет продолжать взимать плату за неудачную автоматическую возобновляемую подписку?
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.