Foros del Web » Programando para Internet » Android »

Uso de InAppBillingService

Estas en el tema de Uso de InAppBillingService en el foro de Android en Foros del Web. Buenas foreros, tengo poca experiencia en Android. Tengo que crear una aplicación en la que tendrá venta de productos, para ser más claro, mi aplicación ...
  #1 (permalink)  
Antiguo 19/08/2014, 12:20
 
Fecha de Ingreso: junio-2008
Mensajes: 33
Antigüedad: 15 años, 10 meses
Puntos: 2
Uso de InAppBillingService

Buenas foreros,

tengo poca experiencia en Android. Tengo que crear una aplicación en la que tendrá venta de productos, para ser más claro, mi aplicación tendrá vídeos y para poder descargarlos, el usuario tendrá que comprar los que le interesen.

Estoy mirando por internet y he visto por internet que tengo que utilizar la libreria In-App Billing. http://developer.android.com/training/in-app-billing/preparing-iab-app.html

He creado una app de prueba, la he subido a mi cuenta de google developper y he creado dos productos, como si fueran vídeos.

Aparentemente me conecta bien, pero me devuelve un NullPointerException en la línea que utilizo getSkuDetails.

Os dejo el código de mi aplicación por si alguno puede ayudarme.

Muchas gracias


public class Inicio extends Activity {

//Estableciendo conexion licencia
IInAppBillingService mService;

ServiceConnection mServiceConn = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
System.out.println("Desconecta");
mService = null;
}

@Override
public void onServiceConnected(ComponentName name,
IBinder service) {
System.out.println("Conecta");
mService = IInAppBillingService.Stub.asInterface(service);
}
};
//Fin Estableciendo conexion licencia

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_inicio);
//Estableciendo conexion licencia
bindService(new
Intent("com.android.vending.billing.InAppBillingSe rvice.BIND"),
mServiceConn, Context.BIND_AUTO_CREATE);
//Fin Estableciendo conexion licencia
comprobarregistros();

}

@Override
public void onDestroy() {
super.onDestroy();
if (mServiceConn != null) {
unbindService(mServiceConn);
}
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.inicio, menu);
return true;
}

private void comprobarregistros() {
//Mostrar lista
Bundle querySkus = new Bundle();
try {
ArrayList skuList = new ArrayList();
skuList.add("cartas_1");
skuList.add("cartas_2");
querySkus = new Bundle();
querySkus.putStringArrayList("ITEM_ID_LIST", skuList);
} catch (Exception e){
System.out.println("error 1:" + e.getMessage());
}

try {
System.out.println("Hasta aqui todo bien");
Bundle skuDetails = mService.getSkuDetails(3,
getPackageName(), "inapp", querySkus);
System.out.println("Esto ya no aparece");
int response = skuDetails.getInt("RESPONSE_CODE");
if (response == 0) {
ArrayList<String> responseList
= skuDetails.getStringArrayList("DETAILS_LIST");

for (String thisResponse : responseList) {
JSONObject object = new JSONObject(thisResponse);
String sku = object.getString("productId");
String price = object.getString("price");
System.out.println(sku + " - " + price + "; ");
/* if (sku.equals("premiumUpgrade")) mPremiumUpgradePrice = price;
else if (sku.equals("gas")) mGasPrice = price;*/
}
}
} catch (NullPointerException e) {
System.out.println(e.getMessage());
} catch (RemoteException e){
System.out.println(e.getMessage());
} catch (Exception e){
System.out.println(e.getMessage());
}
}
}
  #2 (permalink)  
Antiguo 15/10/2014, 09:43
 
Fecha de Ingreso: junio-2008
Mensajes: 33
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Uso de InAppBillingService

Nadie puede ayudarme??? :(

Etiquetas: androi, app, bar, google, intent
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:40.