Я определил некоторые из продуктов приложения в своем приложении. Я загрузил 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
, 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();
}
ПАКЕТ здесь установлен на getPackageName()
.
Код ответа равен 0, но журнал печатает, что размер списка равен 0. Я не знаю, почему список пуст, так как я ввел 5 элементов в Google Play, и каждый из них активен. Я подождал 2 дня и испытал с тремя устройствами, но до сих пор нет предметов.
Я в значительной степени пробовал все, что мог придумать, поэтому любые предложения приветствуются.