Java 如何获取谷歌游戏订阅费
我试着谷歌播放订阅账单。代码正在进行支付。但是我想尝试一下,当一个支付成功时,我想捕获支付成本、时间(每月、每年),然后我发送了一个带有ID或令牌的php API。我怎样才能做到这一点 我尝试在PurchaseSupdated上覆盖Java 如何获取谷歌游戏订阅费,java,android,android-billing,Java,Android,Android Billing,我试着谷歌播放订阅账单。代码正在进行支付。但是我想尝试一下,当一个支付成功时,我想捕获支付成本、时间(每月、每年),然后我发送了一个带有ID或令牌的php API。我怎样才能做到这一点 我尝试在PurchaseSupdated上覆盖 public void onPurchasesUpdated(BillingResult billingResult, @Nullable List<Purchase> purchases) { } public void onPurch
public void onPurchasesUpdated(BillingResult billingResult, @Nullable List<Purchase> purchases) {
}
public void onPurchasesUpdated(BillingResult BillingResult,@Nullable List purchases){
}
但它不起作用。我试着祝酒。但这种方法不起作用。如果可以,我可以用这个方法吗?我如何运行这个方法
public void openPayment(final Context mContext){
final List<String> skuList = new ArrayList<>();
//valueof1MonthMoney,valueof3MonthsMoney,valueof6MonthsMoney,valueof1YearMoney;
skuList.add("com.yeniasya.enewspaper.subscription.onemonth");
skuList.add("com.yeniasya.enewspaper.subscription.threemonth");
skuList.add("com.yeniasya.enewspaper.subscription.sixmonth");
skuList.add("com.yeniasya.enewspaper.subscription.oneyear");
SkuDetailsParams.Builder params = SkuDetailsParams.newBuilder();
final AlertDialog.Builder mBuilder = new AlertDialog.Builder(mContext,android.R.style.Theme_DeviceDefault_Light_NoActionBar_Fullscreen);
LayoutInflater li = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View mView = li.inflate(R.layout.popup_payment, null);
ImageView imvClose=(ImageView)mView.findViewById(R.id.imvClose);
final TextView tv1MonthMoney = (TextView) mView.findViewById(R.id.tv1MonthMoney);
final TextView tv3MonthsMoney = (TextView) mView.findViewById(R.id.tv3MonthsMoney);
final TextView tv6MonthsMoney = (TextView) mView.findViewById(R.id.tv6MonthsMoney);
final TextView tv1YearMoney = (TextView) mView.findViewById(R.id.tv1YearMoney);
final TextView tvOpenPrivacy = (TextView) mView.findViewById(R.id.tvOpenPrivacy);
final LinearLayout linLay1Year = (LinearLayout) mView.findViewById(R.id.linLay1Year);
final LinearLayout linLay6Months = (LinearLayout) mView.findViewById(R.id.linLay6Months);
final LinearLayout linLay3Months = (LinearLayout) mView.findViewById(R.id.linLay3Months);
final LinearLayout linLay1Month = (LinearLayout) mView.findViewById(R.id.linLay1Month);
mBuilder.setView(mView);
dialog = mBuilder.create();
dialog.setCanceledOnTouchOutside(false);
final SkuDetails[] s = new SkuDetails[4];
params.setSkusList(skuList).setType(BillingClient.SkuType.SUBS);
billingClient.querySkuDetailsAsync(params.build(),
new SkuDetailsResponseListener() {
@Override
public void onSkuDetailsResponse(BillingResult billingResult,
List<SkuDetails> skuDetailsList) {
// Process the result.
s[0] =skuDetailsList.get(0);
s[1] =skuDetailsList.get(1);
s[2] =skuDetailsList.get(2);
s[3] =skuDetailsList.get(3);
// Toast.makeText(mContext, "listeye girdi", Toast.LENGTH_SHORT).show();
try {
tv1MonthMoney.setText(skuDetailsList.get(0).getPrice());
tv1YearMoney.setText(skuDetailsList.get(1).getPrice());
tv6MonthsMoney.setText(skuDetailsList.get(2).getPrice());
tv3MonthsMoney.setText(skuDetailsList.get(3).getPrice());
/* if(skuDetailsList.get(i).getSku().equals("com.yeniasya.enewspaper.subscription.onemonth"));
tv1MonthMoney.setText(skuDetailsList.get(i).getPrice()+"");
if(skuDetailsList.get(i).getSku().equals("com.yeniasya.enewspaper.subscription.threemonth"));
tv3MonthsMoney.setText(skuDetailsList.get(i).getPrice()+"");
if(skuDetailsList.get(i).getSku().equals("com.yeniasya.enewspaper.subscription.sixmonth"));
tv6MonthsMoney.setText(skuDetailsList.get(i).getPrice()+"");
if(skuDetailsList.get(i).getSku().equals("com.yeniasya.enewspaper.subscription.oneyear"));
tv1YearMoney.setText(skuDetailsList.get(i).getPrice()+""); */
// Toast.makeText(mContext, skuDetailsList.get(i).getSku()+"", Toast.LENGTH_SHORT).show();
}catch (Exception e){
}
}
});
dialog.show();
imvClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
linLay1Year.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
takeMoney(s[1]);
}
});
linLay1Month.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
takeMoney(s[0]);
}
});
linLay3Months.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
takeMoney(s[3]);
}
});
linLay6Months.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
takeMoney(s[2]);
}
});
tvOpenPrivacy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try{
Intent i = new Intent(Intent.ACTION_VIEW);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setData(Uri.parse(mcontext.getString(R.string.PrivacyPolicyUrl)));
mcontext.startActivity(i);}catch (Exception e){}
}
});
}
private void takeMoney(SkuDetails skuDetails){
BillingFlowParams flowParams = BillingFlowParams.newBuilder()
.setSkuDetails(skuDetails)
.build();
billingClient.launchBillingFlow(MainActivity.mActivity,flowParams);
// Toast.makeText(mContext, "bastın3", Toast.LENGTH_SHORT).show();
}
@Override
public void onPurchasesUpdated(BillingResult billingResult, @Nullable List<Purchase> purchases) {
}
public void openPayment(最终上下文mContext){
最终列表skuList=新的ArrayList();
//一个月的货币价值、三个月的货币价值、六个月的货币价值、一年的货币价值;
skuList.add(“com.yeniasya.enewspaper.subscription.onemonth”);
skuList.add(“com.yeniasya.enewspaper.subscription.threemonth”);
skuList.add(“com.yeniasya.enewspaper.subscription.sixmonth”);
skuList.add(“com.yeniasya.enewspaper.subscription.oneyear”);
SkuDetailsParams.Builder params=SkuDetailsParams.newBuilder();
final AlertDialog.Builder mBuilder=新建AlertDialog.Builder(mContext、android.R.style.Theme\u DeviceDefault\u Light\u NoActionBar\u全屏);
LayoutInflater li=(LayoutInflater)mContext.getSystemService(Context.LAYOUT\u INFLATER\u SERVICE);
最终视图mView=li.充气(R.layout.popup\u付款,空);
ImageView imvClose=(ImageView)mView.findViewById(R.id.imvClose);
最终文本视图TV1MonthMonthMoney=(文本视图)mView.findViewById(R.id.TV1MonthMonthMonthMoney);
最终文本视图tv3MonthsMoney=(文本视图)mView.findViewById(R.id.tv3MonthsMoney);
最终文本视图tv6MonthsMoney=(文本视图)mView.findViewById(R.id.tv6MonthsMoney);
最终文本视图tv1YearMoney=(文本视图)mView.findViewById(R.id.tv1YearMoney);
最终文本视图tvOpenPrivacy=(文本视图)mView.findViewById(R.id.tvOpenPrivacy);
最终线性布局linLay1Year=(线性布局)MVView.findViewById(R.id.linLay1Year);
最终线性布局linLay6Months=(线性布局)mView.findViewById(R.id.linLay6Months);
最终线性布局Linlay3个月=(线性布局)mView.findViewById(R.id.Linlay3个月);
最终线性布局linLay1Month=(线性布局)mView.findViewById(R.id.linLay1Month);
mBuilder.setView(mView);
dialog=mBuilder.create();
对话框。setCanceledOnTouchOutside(false);
最终SkuDetails[]s=新SkuDetails[4];
参数setskulist(skuList).setType(BillingClient.SkuType.SUBS);
billingClient.querySkuDetailsAsync(params.build(),
新SkuDetailsResponseListener(){
@凌驾
公共无效详细信息响应(BillingResult BillingResult,
列表(详细信息列表){
//处理结果。
s[0]=skuDetailsList.get(0);
s[1]=skuDetailsList.get(1);
s[2]=skudailslist.get(2);
s[3]=skudailslist.get(3);
//Toast.makeText(mContext,“listeye girdi”,Toast.LENGTH_SHORT.show();
试一试{
Tv1MonMonthMoney.setText(skuDetailsList.get(0.getPrice());
tv1YearMoney.setText(skuDetailsList.get(1.getPrice());
tv6MonthsMoney.setText(skutailslist.get(2.getPrice());
tv3MonthsMoney.setText(skutailslist.get(3.getPrice());
/*if(skudailslist.get(i).getSku().equals(“com.yeniasya.enewspaper.subscription.onemonth”);
tv1monmonthmoney.setText(skutailslist.get(i.getPrice()+);
if(skudailslist.get(i).getSku().equals(“com.yeniasya.enewspaper.subscription.threemonth”);
tv3MonthsMoney.setText(skutailslist.get(i.getPrice()+);
if(skudailslist.get(i).getSku().equals(“com.yeniasya.enewspaper.subscription.sixmonth”);
tv6MonthsMoney.setText(skutailslist.get(i.getPrice()+);
if(skudailslist.get(i).getSku().equals(“com.yeniasya.enewspaper.subscription.oneyear”);
tv1YearMoney.setText(skuDetailsList.get(i.getPrice()+)*/
//Toast.makeText(mContext,skutailslist.get(i).getSku()+“”,Toast.LENGTH_SHORT).show();
}捕获(例外e){
}
}
});
dialog.show();
imvClose.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
dialog.dismise();
}
});
linLay1Year.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
takeMoney(s[1]);
}
});
linLay1Month.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
takeMoney(s[0]);
}
});
linLay3Months.setOnClickListener(新视图.OnClickListener()中){
@凌驾
公共void onClick(视图v){
takeMoney(s[3]);
}
});
linLay6Months.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
takeMoney(s[2]);
}
});
tvOpenPrivacy.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
试一试{
意向i=新意向(意向.行动\视图);
i、 addFlags(