구입개시
mHelper.launchPurchaseFlow(
this
, SKU_GAS, RC_REQUEST, mPurchaseFinishedListener, payload);
결제결과 받아오기
@Override
protected
void
onActivityResult(
int
requestCode,
int
resultCode, Intent data)
{
Log.e(TAG,
"onActivityResult("
+ requestCode +
","
+ resultCode +
","
+ data);
if
(!mHelper.handleActivityResult(requestCode, resultCode, data))
{
super
.onActivityResult(requestCode, resultCode, data);
}
else
{
Log.e(TAG,
"onActivityResult handled by IABUtil."
);
}
}
결과확인?
IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener =
new
IabHelper.OnIabPurchaseFinishedListener()
{
public
void
onIabPurchaseFinished(IabResult result, Purchase purchase)
{
Log.e(TAG,
"Purchase finished: "
+ result +
", purchase: "
+ purchase);
if
(result.isFailure())
{
complain(
"Error purchasing: "
+ result);
return
;
}
if
(!verifyDeveloperPayload(purchase))
{
complain(
"Error purchasing. Authenticity verification failed."
);
return
;
}
if
(purchase.getSku().equals(SKU_GAS))
{
Log.e(TAG,
"Consumption successful. Provisioning."
);
Log.e(TAG,
"Purchase is gas. Starting gas consumption."
);
mHelper.consumeAsync(purchase, mConsumeFinishedListener);
}
}
};
서버에등록하는곳
IabHelper.OnConsumeFinishedListener mConsumeFinishedListener =
new
IabHelper.OnConsumeFinishedListener()
{
public
void
onConsumeFinished(Purchase purchase, IabResult result)
{
Log.e(TAG,
"Consumption finished. Purchase: "
+ purchase +
", result: "
+ result);
if
(result.isSuccess())
{
Log.e(
null
,
"getDeveloperPayload : "
+ purchase.getDeveloperPayload());
CoinMyAsyncTask async =
new
CoinMyAsyncTask();
if
(SKU_GAS.equals(SKU_GAS200))
{
async.execute(str, SKU_COUNT1);
}
else
if
(SKU_GAS.equals(SKU_GAS500))
{
async.execute(str, SKU_COUNT3);
}
else
if
(SKU_GAS.equals(SKU_GAS800))
{
async.execute(str, SKU_COUNT5);
}
}
else
{
complain(
"Error while consuming: "
+ result);
}
Log.e(TAG,
"End consumption flow."
);
}
};