Android Publisher API — получить дополнительные данные (определить, какой пользователь совершил покупку)

#android #google-play-developer-api

#Android #google-play-developer-api

Вопрос:

Для подписки в приложении я использую этот код (в Kotlin)

 iabHelper.launchSubscriptionPurchaseFlow(act, "month", 1001, this@SubscriptionActivity, extraKey)
 

После этого я отправляю запрос на сервер для подтверждения покупки. Для проверки на сервере я использую этот код (в Go)

 result, err := androidpublisher.Purchases.Subscriptions.Get(packageName, product, token).Do()
success := err == nil
 

Как получить дополнительный ключ, который я передал в приложении? Мне нужно знать, какой пользователь совершил покупку

Ответ №1:

Меня смутило имя параметра «ExtraData», и я искал то же поле в результате запроса. Но когда я посмотрел на источник IabHelper, я обнаружил следующее

@param ExtraData Дополнительные данные (полезная нагрузка разработчика), которые будут возвращены вместе с данными покупки * после завершения покупки. Эти дополнительные данные будут постоянно привязаны к этой * покупке и всегда будут возвращены при запросе покупки

Итак, дополнительные данные находятся в поле developerPayload

 result, err := publ.Purchases.Subscriptions.Get(packageName, product, token).Do()
success := err == nil amp;amp; result.DeveloperPayload == extraKey
 

Также обратите внимание, что может быть полезно для тех, кто не читает документы

Примечание: Не используйте адрес электронной почты пользователя в строке полезной нагрузки, так как этот адрес может измениться.