Некоторые из наших Android-приложений являются подписками, а некоторые нет, это разрешено?
Наше приложение для Android пытается получить цены на наши встроенные в Google Play продукты. Некоторые из наших продуктов в приложении являются подписками, а некоторые нет. При вызове биллинговой службы в приложении getSkuDetails
метод, чтобы получить цены, мы можем пройти только в одном type
Строка в качестве 3-го параметра.
Прямо сейчас эта строка установлена на "inapp", но она не будет работать, если все наши продукты в приложении не относятся к этому типу. Это заставляет меня задуматься: есть ли у вас разные типы приложений в Android? Например, могут ли некоторые продукты быть подписками, а другие - расходными?
Наш код приведен ниже, спасибо за любую помощь, которую может оказать любой.
IInAppBillingService service = activity.getBillingService();
ArrayList<String> skuList = new ArrayList<String>();
skuList.add("in_app_subscr_1");
skuList.add("in_app_subscr_2");
skuList.add("in_app_non_subscr_1");
Bundle querySkus = new Bundle();
querySkus.putStringArrayList("ITEM_ID_LIST", skuList);
Bundle skuDetails = service.getSkuDetails(3,
activity.getPackageName(), "inapp", querySkus);
1 ответ
Я думаю, это должно быть разрешено. Попробуйте сохранить два разных skuList
и передать его getSkuDetails
с соответствующим типом продукта: inapp
для продукта в приложении и subs
для подписок.
Возможно, вам придется следовать отдельному рабочему процессу для продукта приложения и подписки. Например, чтобы получить информацию о покупках, совершенных пользователем из вашего приложения, позвоните в getPurchases
метод с параметром типа продукта, установленным на "inapp
"для продукта в приложении.
Bundle ownedItems = mService.getPurchases(3, getPackageName(), "inapp", null);
И для запроса активных подписок используйте getPurchases
метод с параметром типа продукта, установленным на "subs
".
Bundle activeSubs = mService.getPurchases(3, "com.example.myapp",
"subs", continueToken);