Биллинг в приложении: идентичны ли ProductID и SubscriptionID?

В настоящее время я разрабатываю свою стратегию реализации для возможных обновлений статуса (от статуса приобретенного до статуса отмененного и т. Д.) В биллинге внутри приложения, что является настоящей головной болью, и возникает путаница:

Я получаю getPurchases() в приложении. Это дает мне INAPP_PURCHASE_DATA которая содержит таблицу 6 со следующими полями:

автообновление, orderId, packageName, productId, purchaseTime, purchaseState, developerPayload, purchaseToken.

Я хочу отправить некоторые из этих переменных на мой сервер (хотя, по всей видимости, просто purchaseToken полезен), но для меня есть кое-что непонятное:
На стороне сервера я хочу постоянно проверять, действительны ли покупки. Я планирую сделать это с помощью https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/get

Но для этого запроса нужны packageName, subscriptionId и токен. Токен является покупкой, полученной от getPurchases(), но является ли подписка идентификатором продукта от getPurchases()?

Когда вы вызываете руководство по созданию списка продуктов в Google Play, вы видите здесь в заголовке этого руководства Добавление элементов по одному в список продуктов на шаге 4 Нажмите Создать управляемый продукт или Создать подписку в зависимости от ситуации. и там вы должны установить productId на шаге 5.

Если productId == subscriptionId, почему существуют два запроса API Google Play для разработчиков, один для "продуктов", другой для "подписок", так что подписка не является продуктом? Увидеть:

https://developers.google.com/android-publisher/api-ref/purchases/products/get https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/get

Первый запрос принимает productId, а второй запрос - subscriptionId, которого у меня нет, за исключением того, что productId и subscriptionId совпадают. Это очень запутанно.

1 ответ

Решение

Спустя почти 5(!) Месяцев я закончил полную реализацию биллинга в приложении в своем приложении и на своем внутреннем сервере. Теперь я могу подтвердить, что productId == subscriptionId == sku.

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