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?
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.
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
You just have to update the 'aidl' file from the official gitHub, and clean-build the project:
You'll be happy forever after.
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.
I had the similar issue and found out that
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.