Я продолжаю использовать образец биллинга в приложении, предоставленный Google, и хочу заменить их класс безопасности реализацией на моем сервере (как они рекомендуют).Похоже, мне нужно заменить следующее вызовом реализации на моем сервере:
/**
* Verifies that the data was signed with the given signature, and calls
* {@link ResponseHandler#purchaseResponse(Context, PurchaseState, String, String, long)}
* for each verified purchase.
* @param startId an identifier for the invocation instance of this service
* @param signedData the signed JSON string (signed, not encrypted)
* @param signature the signature for the data, signed with the private key
*/
private void purchaseStateChanged(int startId, String signedData, String signature) {
// Instead of using the local version included on the client,
// this should be an http call to our server which has the
// implementation.
ArrayList<Security.VerifiedPurchase> purchases;
purchases = Security.verifyPurchase(signedData, signature);
if (purchases == null) {
return;
}
// Then the rest gets executed after the http response comes back.
...
confirmNotifications(startId, notifyIds);
Так что я заменил бы вышеперечисленное, и когда я получу ответ от своего сервера, я запустил подтверждающие уведомления() и т. д. Но есть много вещей, которые могут пойти не так, сеть может упасть и т. д. Поэтому я предполагаю, что рынок будет продолжать посылать мне сообщения до тех пор, пока я успешно не выполню бит подтвержденияNotifications ()?
Немного испугался, что что-то пошло не так, когда я начал проверять на своем сервере, и я получил группу пользователей, чьи кредитные карты были сняты, но не вижу контента, отображаемого на их устройстве.
Кроме того, яЯ думаю, что поток пиратства для моего приложения довольно низок, но я беспокоюсь о том, чтобы мой открытый ключ рынка был встроен в клиент.Если когда-нибудь в будущем у меня появится популярный заголовок, злоумышленники могут взглянуть на некоторые старые приложения от меня и извлечь их (не зная, насколько это опасно, если они получат открытый ключ).
Спасибо