Как упомянул aromero, поле полезной нагрузки для разработчиков ограничено по размеру.Вот почему документы рекомендуют не использовать этот ключ для отправки данных или содержимого.
Вместо этого вы сохраняете содержимое в базе данных (например, на устройстве пользователя или на своем собственном сервере), а затем помещаете индекс записи в поле полезной нагрузки разработчика.Когда вы получаете его обратно с помощью PURCHASE_STATE_CHANGED
широковещательного намерения, вы можете связать его с данными в вашей базе данных.
Обратите внимание, что полезная нагрузка разработчика не отправляется Маркетом при использовании любоготестовых идентификаторов элементов Android.Вы должны использовать реальные покупки предметов.
Кроме того, согласно this (я еще не проверял это), вы не будете получать developerPayload в режиме отладки.Чтобы получить developerPayload, необходимо подписать свое приложение в РЕЖИМЕ РЕЖИМА.
Наконец, как вы прокомментировали ниже, возвращаемое значение JSONObject
(в ответ на GetPurchaseInformation) уже включает orderId, productId, purchaseTime и другие.Таким образом, «полезная нагрузка разработчика» должна фактически использоваться для всего, что угодно, , но для идентификации покупки ... т.е. ответ противоположен тому, что было предложено ниже.Вы можете использовать «полезную нагрузку разработчика», чтобы добавить некоторую информацию, отсутствующую в JSONObject
, например, дополнительные данные покупателя (например, местоположение GPS, если включено, марка и модель устройства и т. Д.).