У меня проблемы с кодированием платежей.
Это веб-игра, и вот как я хотел бы, чтобы платежи работали.
Вы попали на сайт и нажали кнопку (купить). Вы будете перенаправлены на сайт, который отправит информацию о покупке на сервер, добавив купленный товар в вашу учетную запись. До этого у нас есть WebViewClient, который проверяет все URL. Если он найдет URL, предназначенный для покупок, он отправит запрос на покупку. Теперь, если мы получим сообщение от Android Market, что оно прошло успешно, он продолжит перенаправление.
Я довольно новичок в этом и просто не могу понять концепцию этих платежей. Я написал свой код на примере подземелья. Я пытался приспособить его к своим потребностям. Я был бы благодарен, если бы кто-то мог указать мне правильное направление. Я пытаюсь выяснить, как получить ответ об успешной покупке. Предполагая, что остальная часть моего кода в порядке, он должен работать (я надеюсь).
В моем проекте есть файлы BillingReciver.java, BillingSerivce.java, PurchaseObserver.java, ResponseHandler.java, Consts.java и Security.java, которые были в примере. В случае необходимости я могу сообщить их код, но их много, поэтому я надеюсь, что кто-то, кто уже видел пример, сможет помочь.
После некоторых исследований и консультаций с некоторыми людьми я нашел то, что мне нужно:
/**
* This is called when Android Market sends information about a purchase state
* change. The signedData parameter is a plaintext JSON string that is
* signed by the server with the developer's private key. The signature
* for the signed data is passed in the signature parameter.
* @param context the context
* @param signedData the (unencrypted) JSON string
* @param signature the signature for the signedData
*/
private void purchaseStateChanged(Context context, String signedData, String signature) {
Intent intent = new Intent(Consts.ACTION_PURCHASE_STATE_CHANGED);
intent.setClass(context, BillingService.class);
intent.putExtra(Consts.INAPP_SIGNED_DATA, signedData);
intent.putExtra(Consts.INAPP_SIGNATURE, signature);
context.startService(intent);
}
Мне нужно получить данные из строки JSON, которые мое приложение получит с Android Market. У кого-нибудь есть идеи, как это сделать?