Библиотека клиентского биллинга Android: как указать полезную нагрузку разработчика (дополнительные данные)
Я пытаюсь использовать новую библиотеку Android Billing Client (1.0)
Ранее, при попытке совершить покупку, была возможность добавить дополнительные данные к цели.
Однако при использовании новой библиотеки все было значительно упрощено. Но есть ли способ добавить полезную нагрузку разработчика (дополнительную строку) в поток покупок?
1 ответ
Нашли ответ на него, имена поменялись, отсюда и путаница.
Конструктор BillingFlowParams предоставляет функцию с именем setAccountId(String accountId)
, Определение для этой функции:
Укажите необязательную запутанную строку, которая однозначно связана с учетной записью пользователя в вашем приложении. Если вы передадите это значение, Google Play сможет использовать его для обнаружения нерегулярной активности, например, когда многие устройства совершают покупки в одной учетной записи в течение короткого периода времени. Не используйте идентификатор разработчика или идентификатор пользователя Google для этого поля. Кроме того, это поле не должно содержать идентификатор пользователя в открытом тексте. Мы рекомендуем использовать односторонний хеш для генерации строки из идентификатора пользователя и сохранения хеш-строки в этом поле.
Я думаю, что это новый способ указать полезную нагрузку разработчика или любую дополнительную строку для дополнительного уровня проверки. Так что код будет выглядеть примерно так:
private fun makePurchaseFromGoogle(developerPayload : String) {
val purchaseParams = BillingFlowParams.newBuilder()
.setSku(product.sku)
.setType(product.type)
.setAccountId(developerPayload) // dev-payload
.build()
googleBillingClient.launchBillingFlow(activity, purchaseParams)
}
Новая версия биллинговой библиотеки поддерживает полезную нагрузку разработчика.
Вы можете установить полезную нагрузку разработчика, когда покупаете или покупаете ее.
val client: BillingClient = ...
val listener: AcknowledgePurchaseResponseListener = ...
val acknowledgePurchaseParams =
AcknowledgePurchaseParams.newBuilder()
.setPurchaseToken(/* token */)
.setDeveloperPayload(/* payload */)
.build()
client.acknowledgePurchase(acknowledgePurchaseParams, listener)
Прикрепите полезную нагрузку разработчика в Android Billing Library v2.0