Пустой

Я определил некоторые из продуктов приложения в своем приложении. Я загрузил apk в Google Play и добавил продукты покупки inapp в игру Google.

Я определил свой ServiceConnection следующим образом:

 ServiceConnection mServiceConn = new ServiceConnection() { @Override public void onServiceDisconnected(ComponentName name) { mService = null; } @Override public void onServiceConnected(ComponentName name, IBinder service) { mService = IInAppBillingService.Stub.asInterface(service); connect(); } }; 

onServiceConnected функция onServiceConnected , bindService возвращает true.

Следующая функция connect .

 public void connect() { new Thread(new Runnable() { public void run() { try { // Purchase type is "inapp", as required by API v3 Bundle skuDetails = mService.getSkuDetails(3, PACKET, "inapp", querySkus); } int response = skuDetails.getInt("RESPONSE_CODE"); Log.e("IAP connect", response + ""); if (response == 0) { ArrayList<String> responseList = skuDetails.getStringArrayList("DETAILS_LIST"); Log.e("size list", responseList.size()+""); ... } } } catch (RemoteException e) { e.printStackTrace(); } catch (JSONException e) { e.printStackTrace(); } } }).start(); } 

PACKET здесь установлен в getPackageName() . Код ответа равен 0, но журнал печатает, что размер списка равен 0. Я понятия не имею, почему список пуст, так как я ввел в Google Play 5 элементов и каждый из них активен. Я ждал 2 дня и тестировал с тремя устройствами, но до сих пор нет предметов.

Я в значительной степени пробовал все, что мог придумать, поэтому любые предложения приветствуются.

Solutions Collecting From Web of "Пустой"

Вы должны опубликовать свое приложение в Beta / Alpha для доступа к функциям биллинга inapp. Он недавно изменился, но они не объявили об этом 🙂

http://developer.android.com/google/play/billing/billing_testing.html#draft_apps

Стоит упомянуть, что вам не нужно загружать каждую новую сборку, чтобы ее можно было протестировать. Просто используйте тот же versionCode и versionName, и он будет работать, если приложение опубликовано.

Ваш код выглядит нормально.

Убедитесь, что вы запрашиваете правильные SKU. Единственные элементы в querySkus должны точно соответствовать идентификатору продукта приложения.

Во-вторых, не забудьте запросить правильный тип, если элементы. Если вы настроили «в приложениях» как автомобиль для покупки в консоли разработчика, используйте «inapp», как и вы. Если у вас есть подписки, используйте «subs» как тип вашего запроса в Google Play.

Надеюсь это поможет.