Библиотека клиентского биллинга 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

Другие вопросы по тегам