Open GoogleCodeExporter opened 9 years ago
We're looking into it.
Original comment by b...@google.com
on 5 Feb 2013 at 7:16
Issue 91 has been merged into this issue.
Original comment by b...@google.com
on 5 Feb 2013 at 7:23
Confirmed: in-app billing does not work with android:sharedUserId. Thanks for
reporting. We're working on it.
Original comment by b...@google.com
on 5 Feb 2013 at 7:50
I have encountered the same issue here. 80% of the users report they can't make
a purchase while the other 20% can. Using In-app billing V3 with SharedUserId
in my game. Hope there will be a solution soon. Thanks a lot!
Original comment by jaredsmi...@gmail.com
on 17 Feb 2013 at 4:33
Hi,
any prevision when this issue will be fixed and a new release of IAP will be
made?
Original comment by william....@gmail.com
on 2 Apr 2013 at 8:36
[deleted comment]
Hey Google,
this issue is also impacting my applications. There is no update for this bug since Feb 5, 2013. Is there any forecast to provide to the SW community to resolve this problem? Any elegant workaround to suggest? Thank you very much!
Original comment by thiago...@gmail.com
on 12 Apr 2013 at 6:58
Hi! Just a quick note to say that yes, we are aware of the issue and haven't
forgotten :-)... but we don't have an ETA at the moment. I'm keeping an eye on
it and I'll update this issue as more info becomes available.
Original comment by b...@google.com
on 15 Apr 2013 at 4:10
Is this issue corrected in the recently release of google play application?
Original comment by william....@gmail.com
on 16 Apr 2013 at 7:02
[deleted comment]
This is terrible news.
Is there any update?
This issue is almost a year old.
HELP!
Original comment by cory.tr...@gmail.com
on 14 Aug 2013 at 2:23
No resolution for this issue after such long time strikes me as terrible news.
It works for some but does not work for many others. It makes in-app billing a
no-go and I will need to re-design my app to move away from in-app billing.
Original comment by dirktros...@gmail.com
on 20 Aug 2013 at 4:21
This only happens with shared user ID's, and it can be fixed easily. In
InAppBillingService, you're probably calling
PackageManager.getPackagesForUid(Binder.getCallingUid()) and checking against a
single package name instead of looping over the resulting String[].
Even if you roll this fix out now it will be too late for us to use, but please
get this bug fixed ASAP so future projects can depend on having it fixed. It's
a 1 line change with zero risk!
Original comment by Boo...@gmail.com
on 9 Sep 2013 at 6:14
Is this bug fixed in the new release of Android?
Original comment by cory.tr...@gmail.com
on 2 Nov 2013 at 12:38
Oh boy. This weird bug is has become a nightmare for us. Is there a workaround?!
Original comment by kristof...@arbitrio.se
on 19 Nov 2013 at 10:42
No, the workaround is to use v2 and for all future applications, find other
(horrible) ways to accomplish what sharedUserId used to give us.
Original comment by cory.tr...@gmail.com
on 19 Nov 2013 at 10:44
Our app relies heavily on sharedUserId. Without it, our free/pro versions
cannot coexist. Does v2 provide the IabHelper class? I upgraded from v1...
Fantastic!
So the bug lies in some system component inside Android?
Original comment by kristof...@arbitrio.se
on 19 Nov 2013 at 10:58
This issue is embarrassing easy to fix, PackageManager.getPackagesForUid(int)
returns a String[]. This function in com.google.vending.apk checks only
result[0] and ignores everything else, so it randomly throws
RESULT_DEVELOPER_ERROR when more than 1 package exists for a Uid. Normally, I'd
keep this to myself but this has taken Google 9 months to investigate with no
fix in sight. Come on! Just fix line 5 already.
private InAppBillingUtils.ResponseCode validatePackageName(String paramString)
{
int i = Binder.getCallingUid();
String[] arrayOfString = this.mPackageManager.getPackagesForUid(i);
if ((arrayOfString.length > 0) && (TextUtils.equals(paramString, arrayOfString[0])))
return InAppBillingUtils.ResponseCode.RESULT_OK;
FinskyLog.w("Package name %s does not match the Uid", new Object[] { paramString });
return InAppBillingUtils.ResponseCode.RESULT_DEVELOPER_ERROR;
}
Original comment by jamezsmi...@gmail.com
on 19 Nov 2013 at 11:13
James, your fix requires an update of the com.google.vending.apk, right? Even
if it was fixed the user could still have the old version installed.
What about this approach:
Consider IabHelper.java(222). What if we instead of calling getPackageName()
tried all package names that have the same sharedUserId? Would that work or
would there be a conflict of some kind?
Original comment by kristof...@arbitrio.se
on 20 Nov 2013 at 8:41
Calling getPackageName() and trying all package names would allow you to
purchase, but it might record the purchase under a package that's not your app.
This would likely break other service calls, such as getPurchases, which also
take a package name.
It also looks as though there's no way to alter the order getPackageName()
returns packages, so it is impossible for apps with sharedUserId to use billing
V3.
This is all the more pressing with the expiration of the checkout API today -
We cannot poll the purchase status of unmanaged V2 products with the new Google
Play Purchase Status API - but we can't buy and consume managed products,
because we can't upgrade to V3!
Original comment by t...@worksmartlabs.com
on 21 Nov 2013 at 3:52
Is there a way other than this bug tracker to get their attention? I'm sending
in an email via the developer console, can everyone do the same? That might
work.
Original comment by Boo...@gmail.com
on 21 Nov 2013 at 4:08
Using sharedUserId works if only one app with the id is installed. Is it
possible to somehow unregister the apps from the IAB service when activity is
paused/destroyed? That way the conflict could be avoided.
Original comment by kristof...@arbitrio.se
on 21 Nov 2013 at 4:55
Saw this in developer console:
Migrate your app to In-app Billing v3 for better performance, improved
stability, and new purchasing features to better meet your needs.
Implementation is straightforward, and in some cases you can reduce the amount
of code needed for purchases. The v3 API is also much easier to use than legacy
versions - purchases are fully synchronous with results reported to your app
immediately. Note that support for earlier versions of the In-app Billing API
will be removed over time, so consider migrating as soon as possible.
------------------
I sincerely hope that you're going to fix Issue #90 (opened a year and a half
ago) before you sunset applications that cannot migrate to v3 due to bugs in
Google code.
Original comment by cory.tr...@gmail.com
on 20 Jun 2014 at 7:21
[deleted comment]
Yeah, I'll wait another two years... But until then, please, at least tell us
how to get out of this sharedUserId hell! If we change/remove it, we lose
access to existing user files (correct me if I'm wrong).
Original comment by kristof...@arbitrio.se
on 3 Aug 2014 at 8:57
You are correct, any change to sharedUserId is deadly -- you lose access to
existing user's saved games and files.
Removing it will have disastrous results for your ratings on Google Play, and
in most cases, force the user to uninstall/reinstall the package. How likely
are they to leave you a one star? 100% :(
Original comment by cory.tr...@gmail.com
on 3 Aug 2014 at 9:06
[deleted comment]
I remember in the early days when I decided to use sharedUserId for my two
apps. Many sources on the net stated "Set it from start in both apps, otherwise
you will encounter problems.". How ironic...
Today, my advice to the community is: NEVER EVER use sharedUserId until issue
90 is fixed.
Original comment by hacker.d...@gmail.com
on 5 Aug 2014 at 12:10
The following issues describe what will happen if the sharedUserId changes:
https://code.google.com/p/android/issues/detail?id=1227
https://code.google.com/p/android/issues/detail?id=55052
https://code.google.com/p/android/issues/detail?id=14074
Original comment by joerg.af...@gmail.com
on 5 Aug 2014 at 10:34
This issue seems to be resolved on the vending apk (version 4.9.13, code
80290013). I've no idea since when, but as we received an email that V2 is
going to stop working on 1/1/2015, we'll be migrating to V3 asap.
First test (running queries against both apps with same UID) indicates it
works; calls return an inventory.
Original comment by Boo...@gmail.com
on 13 Sep 2014 at 12:04
Today in the developer console I'm suggested to upgrade to v3 as soon as
possibile (within November) because Google will remove support to v2 in
January. No purchases will be possibile with v2. Is this bug fixed? I'm using
sharedUserId and what happened in January since v2 cannot be used anymore and
v3 cannot be used with sharedUserId?
Original comment by pietropa...@gmail.com
on 13 Sep 2014 at 10:31
@Google -- is this fixed yet? If we are REQUIRED to update to v3, we need this
issue to be fix.
Can you confirm that it is fixed?
Original comment by cory.tr...@gmail.com
on 22 Sep 2014 at 5:52
Original issue reported on code.google.com by
wangdong...@gmail.com
on 17 Dec 2012 at 1:47