Проверка Google при покупках приложений на сервере только с помощью подтверждения и потребления.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Проверка Google при покупках приложений на сервере только с помощью подтверждения и потребления.

Сообщение Anonymous »

Я пытаюсь реализовать проверку покупки приложения для Android, используя свой собственный внутренний сервер PHP.
Мне удалось запустить сервер и подтвердить свою учетную запись службы с помощью google apis.
Я читаю эту ссылку: Проверка покупок перед предоставлением прав
Согласно ссылке, я должен сравнить свой PurchaseToken к предыдущим токенам покупки, которые хранились в моей собственной базе данных.
Однако я вижу, что ответ сервера содержит поля AcknowledgementState и ConsumptionState.
< Strong>Я планирую использовать эти два поля для подтверждения покупки. На стороне клиента (приложение для телефона Android) я планирую использовать следующую логику:

Код: Выделить всё

boolean isAcknowledged=false;
boolean hasBeenConsumed=false;

if(acknowledgementstate == 1){
//means Google servers acknowledged the purchase.. so is not a fraud purchaseToken
isAcknowledged=true; }

if(consumptionState != 0){
//according to google api docs.. 0 = yet to be consumed purchase; 1 = consumed(it was
//granted already)
hasBeenConsumed=true;
}
Теперь я не вижу необходимости создавать базу данных, в которой будут храниться все мои предыдущие значения токенов покупок в приложении!
Я могу просто сделать это:
< /p>

Код: Выделить всё

if(isAcknowled && consumptionState == 0){
//I should have a legitimate purchaseToken that has been verified by google servers and the
//the purchase has not been consumed!

//I should consume the purchase right in here!  How can I use the Google Apis to consume my purchase in my backend server ????

}else{
//something is wrong: it can be a duplicated purchaseToken or some other type of fraud!
}
Пожалуйста, предоставьте любые пояснения или любые проблемы, которые, по вашему мнению, могут возникнуть в результате этой реализации. Вот пример тестовой покупки, которая ранее была использована и подтверждена серверами Google.
Ответ моего сервера:
{"acknowledgementState":1 ,"consumptionState":1,"developerPayload":"","kind":"androidpublisher#productPurchase","obfuscatedExternalAccountId":null,"obfuscatedExternalProfileId":null,"orderId":"некоторые # не могу показать","productId" :null,"purchaseState":0,"purchaseTimeMillis":"1718701365611","purchaseToken":null,"purchaseType":0,"quantity":null,"regionCode":"US"

Подробнее здесь: https://stackoverflow.com/questions/786 ... e-and-cons
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»