How to upgrade/downgrade subscriptions in Android InAppBilling?

强颜欢笑 提交于 2019-12-18 12:28:52

问题


I spent a week looking for solution to upgrade/downgrade subscriptions on Android InAppBilling.

There's a reference page about this function: http://developer.android.com/google/play/billing/billing_reference.html

Google said that we could use getBuyIntentToReplaceSkus() method, but I couldn't found any documentation about that in its signature. I can't also see it in IInAppBillingService.aidl file that Google provided.

Is there any one who may help me?


回答1:


Just use my aidl file and be happy :)

It works perfectly!

https://gist.github.com/cre8ivejp/21b10fbbc7e500f99059

*Do not change the order of the methods inside aidl file or it will not work.




回答2:


at first thanks for aidl file.

But for me it is not working. I always get an error code 5:

Invalid arguments provided to the API. This error can also indicate that the application was not correctly signed or properly set up for In-app Billing in Google Play, or does not have the necessary permissions in its manifest

I don't think that the permissions are wrong or it is not correctly signed as all other payment requests work.

This is my code:

List<String> subs = new ArrayList<>();
subs.add(current_sub);
buyIntentBundle = mService.getBuyIntentToReplaceSkus(3, "package", subs,
       key, "subs", getResources().getString(R.string.developer_payload));

How do you execute an upgrade request or do you see any error in my request?

Thanks Solidus




回答3:


You just have to update the 'aidl' file from the official gitHub, and clean-build the project:

https://github.com/googlesamples/android-play-billing/blob/master/TrivialDrive/app/src/main/aidl/com/android/vending/billing/IInAppBillingService.aidl

You'll be happy forever after.




回答4:


This seems to be a mistake/bug from google. They have not updated aidl file correctly. You can probably add this method to aidl file yourself (and figure out correct signature by try&error) but if you can you should wait a little while they get their act together.




回答5:


I had the similar issue and found out that

  1. it is only supported in version 5
  2. the position of new sku (the array list) and old sku should be changed. Even though the methods shows first old and then new.. make the other way.


来源:https://stackoverflow.com/questions/29915035/how-to-upgrade-downgrade-subscriptions-in-android-inappbilling

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!