2015-08-12 2 views
4

Я создал приложение, в котором есть покупки в приложениях, которые ежемесячно обновляют телефон .. при первом успешном платеже я назвал веб-сервис, в котором я сделал пользователь премиум-класса.Проверить статус подписки на приложение в Android

Теперь, если пользователь отменил платеж вручную с сервера google, как я могу узнать, что пользователь отменил свою подписку.

Есть ли какой-либо запрос кода PHP или от android, я должен вызвать что-то в фоновом режиме, чтобы проверить статус?

Спасибо advace

ответ

5

Вы можете проверить приобретенные подписки внутри приложения с помощью

Edit: Для подписки использовать "подводные лодки", для InApp-покупок используют "InApp", например:

InApp -Purchases: mService.getPurchases(3, getPackageName(), "inapp", null);

Подписки: mService.getPurchases(3, getPackageName(), "subs", null);

Смотрите также Querying for Purchased Items at http://developer.android.com/google/play/billing/billing_integrate.html

Таким образом, вы можете реализовать задачу в своем приложении, где вы проверяете, есть ли у пользователя подписка. Если нет, вы можете удалить статус премии. Кроме того, эта информация может быть вам полезна:

Когда пользователь отменяет подписку, Google Play не предлагает возмещение за текущий платежный цикл. Вместо этого он позволяет пользователю иметь доступ к отмененной подписке до конца текущего платежного цикла, после чего он прекращает подписку. Например, если пользователь покупает ежемесячную подписку и отменяет ее на 15-й день цикла, Google Play будет считать подписку действительной до конца 30-го дня (или другого дня, в зависимости от месяца).

источник: http://developer.android.com/google/play/billing/billing_subscriptions.html под subscription cancelled

Надеется, что это может помочь вам

+4

Ваше предложение неверно. mService.getPurchases (3, getPackageName(), "inapp", null); используется для разовой покупки.Вы должны использовать «subs» вместо «inapp» для получения подписки –

+0

Спасибо за информацию. Я исправил свой ответ :-) – spcial

+0

Эти методы недоступны в новой библиотеке биллинга воспроизведения. Любой способ сделать это? –

5

Я не проверял это, но вы могли бы использовать autoRenewing поля в INAPP_PURCHASE_DATA?

Если значение true, подписка активна и будет автоматически обновляться в следующую дату выставления счета. Если false, указывает, что пользователь отменил подписку.

http://developer.android.com/google/play/billing/billing_reference.html#getBuyIntent

По-видимому, был добавлен autoRenewing поле или, по крайней мере, документально in the beginning of 2015.

0

Проверьте метод getPurchases() here. Или если вы используете Android Studio и загрузите исходный код, просто нажмите Ctrl + Q на IInAppBillingService.getPurchases метод

Смежные вопросы