Биллинг в приложениях - продолжает ли пинговать рынок, пока мы не подтвердим уведомления ()? - PullRequest
1 голос
/ 14 марта 2012

Я продолжаю использовать образец биллинга в приложении, предоставленный 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 ()?

Немного испугался, что что-то пошло не так, когда я начал проверять на своем сервере, и я получил группу пользователей, чьи кредитные карты были сняты, но не вижу контента, отображаемого на их устройстве.

Кроме того, яЯ думаю, что поток пиратства для моего приложения довольно низок, но я беспокоюсь о том, чтобы мой открытый ключ рынка был встроен в клиент.Если когда-нибудь в будущем у меня появится популярный заголовок, злоумышленники могут взглянуть на некоторые старые приложения от меня и извлечь их (не зная, насколько это опасно, если они получат открытый ключ).

Спасибо

1 Ответ

0 голосов
/ 14 марта 2012

да, рынок продолжит отправлять уведомления о событиях, которые вы никогда не отправляли, Подтверждающее уведомление, как говорит док:

CONFIRM_NOTIFICATIONS: Этот запрос подтверждает, что ваша заявка получила подробную информацию об изменении состояния покупки. Google Play отправляет уведомления об изменении состояния покупки в приложение, пока вы не подтвердите, что получили их.

смотрите здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...