Ответ 1
Я ненавижу отвечать на свой вопрос, но эй, никто больше не делал! Я и мои коллеги снова посмотрели на проблему сегодня утром. Решение моей проблемы, наконец, произошло со мной, после того, как мы посмотрели, как работает проверка на стороне клиента в примере TrivialDrive. Человек, я чувствовал, что надеваю свою "тупую шляпу", когда понял, что не так.
Я думал, что это была покупкаToken и подпись, которая использовалась для проверки покупки, но таким образом не было никаких средств для проверки того, был ли приобретен товар A или пункт B.
Если вы хотите выполнить проверку на стороне сервера (или любую проверку), прежде чем сделать контент доступным для покупателя, это на самом деле оригинальные данные JSON (если вы используете классы IabHelper, вы получаете исходный JSON из Класс покупки), который вы должны использовать вместе с подписью и открытым ключом. И поскольку исходные данные JSON, которые вы передаете на свой сервер, также содержат всю информацию о покупке (например, идентификатор SKU и т.д.).
Также важно установить полезную нагрузку разработчика на то, что однозначно идентифицирует вашего пользователя (а не устройство!). В нашем случае каждый пользователь имеет учетную запись на сервере, и я использую уникальный идентификатор пользователя в качестве полезной нагрузки разработчика.
/Mr.Stupid отключение!