[Q] problems with Google IAB v3 - Other Tools & General Discussion

Hello,
I've been trying to implement the Google IAB stuff, but some things just don't work:
1) When the user purchases an item, the onIabPurchaseFinished() callback is not always called. I have googled this, and a solution seems to be to implement onActivityResult() as in the TrivialDrive example. I did this, however, it still mostly doesn't work. I also thought about directly re-querying the inventory, but this is also tricky, because I have to do that in the main thread again etc etc, and should not be necessary from what the API description says.
2) I thought the Google Play App caches the purchases. In my understanding, this would mean, that if the Play App knows that I purchased e.g. the "full game" item, and I go offline with my device, that information is still there, as long as the device is offline. However, in my case, it seems that after 1-2 hours the cache is cleared and if an offline user wants to play the full game, he's presented the "you have to buy the full game" screen again. This would mean that I would have to keep the purchase information somewhere on my own, which is of course more risky to do (from a security/piracy point of view) and I thought I could avoid that because of that caching.
3) I have a Nexus 5 and a Nexus 7, and I use both with the same Google account. Well, I bought my full game purchases on the one device, and if I play it on the other device (with internet connection of course), the device doesn't know about my purchases. I thought if I buy it on the same account, all my devices should have that purchase.
Do you have any hints for me? Am I doing something wrong here?

Okay I just found the reason for problem 1:
When launching the purchase flow, a requestCode has to be passed. I used random int numbers for that. Now I found out (in the documentation of Activity), that this requestCode should be >= 0, which I think wasn't mentioned anywhere in the IAB documentation. This also explains why it sometimes worked and sometimes didn't.
My other two problems remain, though...

Is there really nobody here who knows a bit about that topic?

Related

[APP] My apps banned from Play Store back online

Hi all,
I had a few apps on the Play Store some months ago, which got removed after Google decided to ban me from the Play Store for who knows what reason. Apparently the cause was the "sexy" nature of the apps, which still doesn't explain why my app got kicked out and so many apps that are much worse than mine still live there.
Well, anyway, I've decided to put them all back online on a website for users to download, so if you're interested in them feel free to download them and give me some feedback! All the apps have a brief descriptions and screenshots:
drfeelgoodsw . appspot . com (sorry, being a newbie no link allowed...)​
They're all apps to quickly access galleries of well known sexy and gossip websites (Front Magazine, The Sun Page 3, Egotastic and so on), and they all allow you to mark those galleries as favourites, save them on your SD card, etc. Nothing fancy but I hope you'll enjoy them nevertheless! If you have any suggestion on how to improve them, or just know some other website you'd like a similar app to be made for, I'd love to hear it from you
They must have been deleted again because nothing comes up in a search for them
Sent from my Nexus 7 using xda premium
sixfearstheseven said:
They must have been deleted again because nothing comes up in a search for them
Sent from my Nexus 7 using xda premium
Click to expand...
Click to collapse
Sorry, I should have been clearer... by "back online" I actually meant they were available again on the web page I created for the purpose, not on the Play Store. I tried publishing them on Android PIT after they were removed from the Play Store, but that only lasted a few weeks, as apparently Android PIT only hosts apps that are also on the Play Store (quite silly of them, considering they're supposed to be an alternative market, but anyway...). I'm looking for other markets to publish the apps on, but until then the apps are available for download on the page I linked in my previous post. Those apps automatically look for updates using a JSON string on the same page, so updates should be easy to keep track of even without a Market in place.
No feedback? Either the apps are perfect the way they are, or they really suck!!
DrFeelgoodSW said:
No feedback? Either the apps are perfect the way they are, or they really suck!!
Click to expand...
Click to collapse
Also, I suspect that people are getting a bit wary of sideloading apks when they could be malware. That's unfortunately a level of trust you lost when you were banned from the play store.
cyansmoker said:
Also, I suspect that people are getting a bit wary of sideloading apks when they could be malware. That's unfortunately a level of trust you lost when you were banned from the play store.
Click to expand...
Click to collapse
Oh, I hadn't thought about that...
Well, if that can help, I can post a screenshot of the mail from Google describing their exact reason why I got banned, which had nothing to do with malicious behaviour in my app. That said, anyone can just monitor the traffic my app generates, and see that, apart from an update check at the beginning (a GET to retrieve a JSON file), the only connections are towards the website each app is wrapping. I would be quite dumb to post malicious apps on an expert den of Androiders like XDA Developers anyway ehehe
Anyway, if that can help I ca post the complete source code of one of the apps to let people check that everything's fine. The core of the apps is mostly the same (activities, sqlite database, image cache, httpclient+jsoup), apart from differences related to their structure (e.g., Page3 has much more activities and choices than GQ), so that should help understand I'm not hijacking anything. Of course, you could object there is no guarantee the code I'm posting is exactly the one used to generate the APKs, as we'd be back to the trust issue at the beginning...
Well, if there's any way I convince those in doubt that I'm in good faith just let me know. About the Play Store, unfortunately there's no way I can get back there. In the mail I received, I was told I was banned and that I could not open a new account to publish the apps again, so that's out of the question. Android PIT only accepts apps that already are on the store, so no go either. I tried other markets like Androlib and SlideMe, but both failed to send me the confirmation mails I needed to confirm the account, so I'm wondering if they're even a viable solution for developers right now. I've already discarded the Amazon App Store option, as there's an annual fee the likes of which only Apple could conceive. Anyone knows more alternatives to publish apps?

How to [permanently] use the US Play Store outside of the US with no hacks or Proxys!

YOU WILL NEED A CREDIT CARD (But doesn't matter from where or if it's limited to your country)
This method will get you access to the US Play Store permanently, without the need to fake your location (sort of), so you can say goodbye to those slow and painful proxys!
Hi Guys!
This is my first thread here at XDA, so cut me some slack if it's not perfect, although I'm pretty sure you'll thank me for this.
So everybody likes the Play Store. However, as with most services, a big part of the contents are limited to the US version of the store. While other services like iTunes have this problem, creating a US based account is pretty much painless, and they never really ask after you tell them where you live, even you're lying.
Google, however, is a team of pretty smart guys. The Play Store is a service based on a website that uses your location to tell which is the correct store for the place you're in. However, I've discovered that this method only applies on certain occasions.
You see, the Play Store will only use your location IF you don't have a payment method selected. I'm guessing you know where I'm going with this, but I'll go on anyways. After you set up a payment method, the Play Store will use the location of the billing address of said method to determine the store it has to access.
So what does this mean? Basically, if you set up a credit card in Google Wallet with a billing address with a US zip code (regardless of the real billing address, if you set it up through the Android app you only have to access the zip code) your account will become a US based account.
Of course, this means that you can use this method to access pretty much any Play Store available with a short Google Search of a zip code from the place you want.
Anyways, I'll tell you step by step how I did it. I want to be very clear: there are other methods. Again, you only need to set up a payment method with a US billing address. But some people are fond of Step-by-step tutorials and I want to get this to as much people as possible.
So without further do:
1. Getting the android Google Wallet app. For this I used tunnelbear, an app you probably already know if you've been trying to accomplish what I did, but in case you're not familiar with it, it's an app that let's you surf the web as if you were in another country, so that location based websites (like the Play Store) will send you to that country's version of the site. Anyways, use the app and go to the Play Store to download the app into your phone. If the app doesn't show up, chances are that already have a payment method with a billing address outside of the US, so you must remove that. Don't worry, you can enter it later, and even use it to buy thing (look at the end of the post)​
2. Setting up your payment method. Once you get the Wallet app, use the menu button or the 3-dot menu and go to settings. The first thing you should see is "Credit and debit cards". Tap that and then tap the "+" sign on the top right corner of the screen. Here you must enter the card info. YOU MUST USE REAL INFO, OTHERWISE IT WON'T RECOGNIZE THE CARD. The cardholder name is irrelevant. where it says zip code, you can probably guess what you need to do. I used a Florida zip code, but again, any US code will work.​
3. Final steps to victory! We're almost there! now that you've set up your US payment method, all you need to do is clear the Play Store app's Data (NOT ONLY THE CACHE). To do this, go to your phone's settings app, find the application manager, search for the Google Play Store app (be sure you're on the "ALL" tab on the most right) and tap it, and then tap the button that says "Clear data" (again, don't JUST clear the cache!). Proceed and then go the Play Store app. You should be prompted to accept the terms of service, meaning that everything went fine and dandy. Now feel free to enjoy!​
And there you go! No more proxys, VPNs, and temporary solutions! Again, this method is probably not the only way to achieve this, but I'm hoping that you at least got an idea of what you need to do to accomplish this.
I used my personal credit card, and to be honest, I'm not sure if prepaid cards will work, but I don't see why they shouldn't. Also, regarding the ability to buy apps and other contents, it seem to work just fine. I've purchased a couple of apps and books, so everything seems to be working fine.
The only time I had a problem with a payment was when I wanted to buy 25$ of Play Store credit, where the operation wouldn't go through, but I quickly solved it by buying the credit using Tunnelbear and then I could use the credit without any problems (and without Tunnelbear of course).
I really hope this works for you, It's really a shame that Google doesn't make the Store international (or at least get it to more countries quicker) since that is probably the only thing that is helping iTunes get the upper hand on it.
If you have any problems feel free to PM me, I'm far from an expert but I might be able to help you.
PD: As this is my first post, the title is very barebones. If you want to help me with what I should put up there, I'm all ears, since I want to get this to as most people as possible. Thanks in advance! :laugh:
I am going to give this a try, but a few questions: do you need to do this on each device or is once enough, and what will happen when for instance devices will become available, the US nexus 5 is incompatible with European 4g networks. Will you only be able to get the US variant and what about delivery?
sebachamaca said:
YOU WILL NEED A CREDIT CARD (But doesn't matter from where or if it's limited to your country)
This method will get you access to the US Play Store permanently, without the need to fake your location (sort of), so you can say goodbye to those slow and painful proxys!
Hi Guys!
This is my first thread here at XDA, so cut me some slack if it's not perfect, although I'm pretty sure you'll thank me for this.
So everybody likes the Play Store. However, as with most services, a big part of the contents are limited to the US version of the store. While other services like iTunes have this problem, creating a US based account is pretty much painless, and they never really ask after you tell them where you live, even you're lying.
Google, however, is a team of pretty smart guys. The Play Store is a service based on a website that uses your location to tell which is the correct store for the place you're in. However, I've discovered that this method only applies on certain occasions.
You see, the Play Store will only use your location IF you don't have a payment method selected. I'm guessing you know where I'm going with this, but I'll go on anyways. After you set up a payment method, the Play Store will use the location of the billing address of said method to determine the store it has to access.
So what does this mean? Basically, if you set up a credit card in Google Wallet with a billing address with a US zip code (regardless of the real billing address, if you set it up through the Android app you only have to access the zip code) your account will become a US based account.
Of course, this means that you can use this method to access pretty much any Play Store available with a short Google Search of a zip code from the place you want.
Anyways, I'll tell you step by step how I did it. I want to be very clear: there are other methods. Again, you only need to set up a payment method with a US billing address. But some people are fond of Step-by-step tutorials and I want to get this to as much people as possible.
So without further do:
1. Getting the android Google Wallet app. For this I used tunnelbear, an app you probably already know if you've been trying to accomplish what I did, but in case you're not familiar with it, it's an app that let's you surf the web as if you were in another country, so that location based websites (like the Play Store) will send you to that country's version of the site. Anyways, use the app and go to the Play Store to download the app into your phone. If the app doesn't show up, chances are that already have a payment method with a billing address outside of the US, so you must remove that. Don't worry, you can enter it later, and even use it to buy thing (look at the end of the post)​
2. Setting up your payment method. Once you get the Wallet app, use the menu button or the 3-dot menu and go to settings. The first thing you should see is "Credit and debit cards". Tap that and then tap the "+" sign on the top right corner of the screen. Here you must enter the card info. YOU MUST USE REAL INFO, OTHERWISE IT WON'T RECOGNIZE THE CARD. The cardholder name is irrelevant. where it says zip code, you can probably guess what you need to do. I used a Florida zip code, but again, any US code will work.​
3. Final steps to victory! We're almost there! now that you've set up your US payment method, all you need to do is clear the Play Store app's Data (NOT ONLY THE CACHE). To do this, go to your phone's settings app, find the application manager, search for the Google Play Store app (be sure you're on the "ALL" tab on the most right) and tap it, and then tap the button that says "Clear data" (again, don't JUST clear the cache!). Proceed and then go the Play Store app. You should be prompted to accept the terms of service, meaning that everything went fine and dandy. Now feel free to enjoy!​
And there you go! No more proxys, VPNs, and temporary solutions! Again, this method is probably not the only way to achieve this, but I'm hoping that you at least got an idea of what you need to do to accomplish this.
I used my personal credit card, and to be honest, I'm not sure if prepaid cards will work, but I don't see why they shouldn't. Also, regarding the ability to buy apps and other contents, it seem to work just fine. I've purchased a couple of apps and books, so everything seems to be working fine.
The only time I had a problem with a payment was when I wanted to buy 25$ of Play Store credit, where the operation wouldn't go through, but I quickly solved it by buying the credit using Tunnelbear and then I could use the credit without any problems (and without Tunnelbear of course).
I really hope this works for you, It's really a shame that Google doesn't make the Store international (or at least get it to more countries quicker) since that is probably the only thing that is helping iTunes get the upper hand on it.
If you have any problems feel free to PM me, I'm far from an expert but I might be able to help you.
PD: As this is my first post, the title is very barebones. If you want to help me with what I should put up there, I'm all ears, since I want to get this to as most people as possible. Thanks in advance! :laugh:
Click to expand...
Click to collapse
Good try, old info . Many guides and threads on this one.
And you forgot a crucial big time info...
You should use a ZIP Code/State/City from a state without Sales Tax....
Lets say Oregon, Portland....
or else you will be subject to the Sales Tax of the state....
Woops!
PAGOT said:
Good try, old info . Many guides and threads on this one.
And you forgot a crucial big time info...
You should use a ZIP Code/State/City from a state without Sales Tax....
Lets say Oregon, Portland....
or else you will be subject to the Sales Tax of the state....
Click to expand...
Click to collapse
Well, to this day I have not found a guide to permanently achieve this. Although I should've expected that someone would've figure this out before me
About the state-dependent tax, I wasn't aware of that as I haven't been prompted to pay it, guess Florida is one of those tax free states
sebachamaca said:
Well, to this day I have not found a guide to permanently achieve this. Although I should've expected that someone would've figure this out before me
About the state-dependent tax, I wasn't aware of that as I haven't been prompted to pay it, guess Florida is one of those tax free states
Click to expand...
Click to collapse
No florida isn't tax free, about 7% depending on the city
And it didn't work for me... I had a credit card that I used to pay some apps a long time ago (with marker enabler)
I removed it, enter another one but I couldn't make the trick, sadly my market is still blocked
sebachamaca said:
Well, to this day I have not found a guide to permanently achieve this. Although I should've expected that someone would've figure this out before me
About the state-dependent tax, I wasn't aware of that as I haven't been prompted to pay it, guess Florida is one of those tax free states
Click to expand...
Click to collapse
Permanently ? You for sure mean temporarily till Google blocks it ...
And if you did not find it, then you did not search hard enough
One of the older guides I used to get my Music http://www.androidbeat.com/2013/05/get-google-play-all-access-to-work-outside-us/ ....
And yes as the poster above me, its not tax free... I had some tax free purchases, but then an in app purchase came with a tax... thats from what the screenshot in the attachment is from.
alwin006 said:
No florida isn't tax free, about 7% depending on the city
And it didn't work for me... I had a credit card that I used to pay some apps a long time ago (with marker enabler)
I removed it, enter another one but I couldn't make the trick, sadly my market is still blocked
Click to expand...
Click to collapse
Well for me it worked after I have no idea what. Default card I have on a US address, completely US. Not just ZIP or Country.
Now I have everything correct the country code being US.
Shows now this in Wallet > before the US in the end was my Country.
Code:
Oregon
Portland OR 97201 US
Also I did not use the Google Wallet app... Just the regular Google Wallet Setup in web. Or the Google play add credit card...
I would say his 2 step is unnecessary. Or you do not have to use the tunnel, hacked Google Wallet etc....
PS also there is another thing I changed to US https://accounts.google.com/b/0/EditUserInfo?hl=en but no idea if that had some effect
Do you guys still have your local mobile phone number on Google settings ?
alwin006 said:
Do you guys still have your local mobile phone number on Google settings ?
Click to expand...
Click to collapse
I have two. My U.S. Google voice and my local. On the credit cards the Google voice...
Sent from my LG-D802 using Tapatalk
Is this still working for you guys?
It suddenly stopped working for me, I am not sure whether its because
1. my credit card expired and need to register a new one, I still use a US address for billing though.
2. the new google play app with paypal support screwed it up for me?
where do we get an address and zip code from
change your play store country
i tried all these thing but nothing didn't work for me. so i found a gig infiver that works out for me. only there days sit and relax no complex things. here the url
"fiverr.com/androidea"
Good
Works great, thank you!

Google Play Services Stopping

Google Play Services is continually stopping on ALL of my Android devices. I have searched and done extensive troubleshooting, but have no idea what to try next.
I believe that this issue is somehow related to my Google account. I believe this because:
It happens on all of my devices (unrooted Verizon Galaxy S4, latest 4.4.2 update; 2012 Nexus 7 rooted running latest CM nightly; Android VM in VirtualBox running 4.3)
If I log in to any of my devices with another Google account, the issue does not occur.
I have tried other ROMs, wiping, clearing cache and data, changing my Google account password - honestly, I do not know what is causing this. And to witness it on a VM in VirtualBox with nothing but the OS and GApps was the final straw, causing this post.
The issue is not with the Play Store - it is with Google Play Services. So, anything utilizing Google Play Services (basically, anything Google, and then-some) causes this issue. Hangouts, Maps, Play Store, Music, my RSS reader (D7), etc.
And again, my phone is unrooted, and I've factory reset my phone - it happens as soon as I log in with my Google account, without any apps installed, other than those from the factory ROM. Same can be said for my tablet, and my VM - and my Android VM is as clean as they come.
I am a technical guy, I've been in the IT field professionally for over 15 years, and have been tinkering since I got an Amiga 500 in 1988. I've got some background, and it takes a lot for me to reach out for help because I'm a "fix it myself" type... but I am honestly at my wit's end here.
The only other solution I can see would be to create a new Google account, but that's not really an option, considering I would lose my paid apps, and anything else associated to that account.
Any other ideas or advice is appreciated
PS: I already posted this to the "Assist" forum, but had been asked to repost it here.
calanthe said:
Google Play Services is continually stopping on ALL of my Android devices. I have searched and done extensive troubleshooting, but have no idea what to try next.
I believe that this issue is somehow related to my Google account. I believe this because:
It happens on all of my devices (unrooted Verizon Galaxy S4, latest 4.4.2 update; 2012 Nexus 7 rooted running latest CM nightly; Android VM in VirtualBox running 4.3)
If I log in to any of my devices with another Google account, the issue does not occur.
I have tried other ROMs, wiping, clearing cache and data, changing my Google account password - honestly, I do not know what is causing this. And to witness it on a VM in VirtualBox with nothing but the OS and GApps was the final straw, causing this post.
The issue is not with the Play Store - it is with Google Play Services. So, anything utilizing Google Play Services (basically, anything Google, and then-some) causes this issue. Hangouts, Maps, Play Store, Music, my RSS reader (D7), etc.
And again, my phone is unrooted, and I've factory reset my phone - it happens as soon as I log in with my Google account, without any apps installed, other than those from the factory ROM. Same can be said for my tablet, and my VM - and my Android VM is as clean as they come.
I am a technical guy, I've been in the IT field professionally for over 15 years, and have been tinkering since I got an Amiga 500 in 1988. I've got some background, and it takes a lot for me to reach out for help because I'm a "fix it myself" type... but I am honestly at my wit's end here.
The only other solution I can see would be to create a new Google account, but that's not really an option, considering I would lose my paid apps, and anything else associated to that account.
Any other ideas or advice is appreciated
PS: I already posted this to the "Assist" forum, but had been asked to repost it here.
Click to expand...
Click to collapse
i can make a suggestion but after that, i unfortunately wont be able to help you with the results.
you could run a "logcat" when this happens and save it, also grab the last kmessage. please use google on how to do this, im no expert.
but, with those 2 files in hand, try and find someone knowledgeable in interpreting the code, a developer if possible, and they should be able to tell you what is causing the error and if it can be fixed.
alternatively, you could email google, explain your situation, and ask them if you could make a new email and they could transfer your apps because the problem appears to be a glitch in their system. i dont know if they can or will do it, but its worth a try.
hope that gets you headed towards a solution.
logcat is a great idea - thanks! I was considering using something like wireshark to grab the packets being exchanged when the issue occurrs, but then realized that the data is likely encrypted anyway ... but your suggestion is much simpler. When I have a little more time to devote to it (perhaps Saturday morning) I will give that a try on my Nexus 7 or VM.
Regarding e-mailing google - is there a support address I can use to contact google? Everything I "google"'d about it seemed to indicate that was a non-option. I'm open to that, if it's possible.
calanthe said:
logcat is a great idea - thanks! I was considering using something like wireshark to grab the packets being exchanged when the issue occurrs, but then realized that the data is likely encrypted anyway ... but your suggestion is much simpler. When I have a little more time to devote to it (perhaps Saturday morning) I will give that a try on my Nexus 7 or VM.
Regarding e-mailing google - is there a support address I can use to contact google? Everything I "google"'d about it seemed to indicate that was a non-option. I'm open to that, if it's possible.
Click to expand...
Click to collapse
im really not sure thare is a support email for google. as big as they are i just assumed there would be some sort of support.
if not an email, maybe a page where you insert issues and they reply to you. i would look though one of your account settings thoroughly to see if anything is there.
Well, good news. After putting up with this for 2 months, and submitting probably hundreds of error reports to Google, it looks like my issue has been resolved!
The answer to my problems is Google Play Services 5.0.77. I saw the leak last night and installed it, and no more crashing!
If anyone else ever finds themselves in this situation, may this be the answer to their problems as well. I know that the past two months have been frustrating for me because of this...
Thanks to all who have tried to assist!

Saving an APK for a purchased app that no longer exists on Google Play

I'm not sure if this is against the rules, I took a look but couldn't find anything pertaining to this.
My roommate and I play Dungeons n Dragons and we found an awesome application on Google Play a while back called Fifth Edition Character Sheet. I never did end up paying for it, and by the time I tried to it had been removed from Google Play. I can't find the reason why, only that it's now gone. My roommate did pay for it. The method of purchase was via in-app payment. It opened up the Google Play thing, allowed him to pay, and that was it. Unlocked full features. However he's selling his tablet and wants to transfer the app to his Phone instead. I can't find a way to do this. Anytime I've used a Save APK option it just saves the base version without the tag saying he paid for it with all features unlocked. It's brutally annoying because, well, he paid for the app. He can't install it through Google PLay anymore on his phone and will unlock automatically, it's just non-existent. I've found the APK online a few times but there were no premium/paid ones.
So my question is this. Is there anyway to save the APK while retaining the fact that it was paid for so he can use it on his phone? Otherwise we'd have to go back to using other things which suck immeasurably compared to this awesome app.

de-Googled ROMs / App Stores | Aurora Store vs App Lounge

Hello,
(not sure if this should be posted here, or in Q&A forum)
I've been using alternative Android ROMs on my Linux phones for the last 10+ years (mostly CM/LOS). Recently, after watching some YT videos, I found that the concept of fully de-Googled is more than a concept these days. Since I don't really use Google's apps other than Play Store, and everything else should be taken care of by microG (which if I understand correctly is FOSS implementation of Play Services, that should also supposedly pass SafetyNet check), I decided to give it a go.
As far as I can tell, the most popular de-Googled / privacy-focused ROMs are GrapheneOS, CalyxOS, and /e/. In my case, /e/ is the only one I can officially use on my target Poco F1 device.
The issue is, that I still have to get apps from somewhere (and I'm not that much into FOSS, to use just F-Droid apps). Here the main choices are:
1, App Lounge (FOSS, built-into /e/ ROM, downloads apps from both Play Store and F-Droid) --> https://doc.e.foundation/app-lounge
2. Aurora Store (FOSS, downloads apps from Play Store only) --> https://auroraoss.com/
3. F-Droid (FOSS, dedicated for F-Droid apps only) --> https://f-droid.org/
The problem is, that it is really difficult to find any credible resource that would compare those; I'm especially interested with security aspects of those solutions (first 2 ones in particular). I mean don't get me wrong, I don't think that FOSS app can just inject malicious code without anybody noticing it (especially the one ones that are up in public for t hat amount of time with so many potential eyes on it), but I'm more afraid of external resources they may or may not be using (more on that later) or some incidental bugs. Just to be clear, I can live with certain app being updated a little later, but I find being completely locked out of updates for eg. my baking app (!) or downloading it from unknown/malicious source (!!!) to be completely unacceptable. In other words, I'd like to get apps from Play Store from as-official source as possible, with as minimal in-the-middle tampering as possible, any third-party user-based manual apk upload (like APKMirror) is out of the question. For FOSS apps, I can continue using F-Droid (having 2 stores for 2 separate app sources on one phone is not an issue for me).
That said, here's what I was able to determine so far; note, that I'm not a dev or security expert, just an enthusiast, so feel free to correct any misconceptions.
App Lounge
At first glance, this is a perfect choice for me, it supports both sources (Play Store and F-Droid). However it seems to be using something called `CleanApk` to obtain them, and here's when things become really confusing to me:
- The official doc claims that it is a source for closed-source apps. It even mentions the possibility to create store page for your app (!) as well as it asks users to report malicious apps (!!!). Call me paranoid, but to me it looks like anybody can just create scam banking/Facebook/whatever app and get it published (as there is 0 mention of any verification process, be that automatic or manual). Also, I don't see any info as to where those closed-source apps actually come from, and the entire info page really lacks any detailed info. Not to mention, that source / motivation / community / author / anything about this API is a mystery to me.
- When it comes to official App Lounge's doc, it seems like it does NOT in fact use `CleanApk` for Play Store apps (?), but if that is the case then I'm confused as to why they are using it for F-Droid ones:
- This part from official App Lounge doc also kind of confuses me, because it mentions that verifying app's signature is not easy when it comes to Play Store, but it is under the `CleanApk` question, which should not be used for Play Store apps (?); on the bright side, it seems like they working towards ditching `CleanApk` altogether, but AFAIK it hasn't happened yet.
- There is a lengthy 2-part article (actually the only external piece about App Lounge I could find), which doesn't exactly inspire me with confidence to App Lounge (actually /e/ rom in general...) --> https://nervuri.net/e/apps ; the upside is, it shows some progress over time in general, but the fact that anybody at any point thought that using shady API (that might supposedly be using `APKPure.com` as a source...) makes me really worried; note that even though it is written by "somebody from the internet" his concerns make sense to me (though again, I'm not any sort of expert). Also I don't want to have to read change-log or analysis after every system update to potentially find out that they flipped and started using something different again.
Aurora Store
The upside of Aurora Store is, that it is older, was posted on XDA and github couple years before App Lounge; it is based off some other project, that is even older. It is also independent from /e/, in fact it has been used in other ROMs (eg. CalyxOS), so I think it may be more stable and tested. However, here the issues are:
- As opposed to questionable resources/doc for App Lounge, there is basically almost no info about Aurora Store. The page itself has only download links, there is also a Github page, that links you to FAQ, that doesn't exist, and to XDA page that seems to be outdated. Generally, every official resource seems to be inconsistent in some way (like XDA page mentions work in progress when it comes to some features of V3, when 4.x.x was released years ago), so it's hard to determine how it actually works. I am about 99% sure, that it uses Google Play API as a source (which is mentioned on YalpStore page which Aurora is forked from) but I haven't found it explicitly stated anywhere in Aurora Store (the best we get is that it is "FOSS client to Google's Play Store"). That said, I hope this is just my nitpick, as it is FOSS and is used by some other ROMs, so I hope that somebody read this code.
- Last commit is from 2021, so it seems not to be in active development. It is fine with me, as long as it is safe and works, but I'm afraid it might be abandoned, and break in case of any changes to Play Store API (as opposed to App Lounge, which seems to be in active development alongside /e/ ROM itself).
- Since this app is completely independent from /e/, I wonder how would system apps in /e/ itself get updated without App Lounge active.
Practical tests
I have decided to use my secondary cheapo Pixel 3a as a playground for /e/ ROM, installed Aurora and F-Droid on the top of pre-existing App Lounge, and started comparing the behavior. Since both are supposedly using Google Play Store (though again, not 100% sure), you would think, that results for "closed" apps will be the same. Well, mostly yes, but there seem to be some edge-cases / exceptions.
Notes:
1. I'm not promoting any of those apps, those are just examples.
2. All tests done on the same physical device (Google Pixel 3a), around the same time, using the same network.
3. Device rebooted, and all apps force-closed right before the tests.
4. F-Droid: 1.16.3; App Lounge: 2.4.8; Aurora Store 4.1.1.
5. Checked version and sometimes update date, I wasn't interested in description, comments, etc.
6. Obviously I haven't checked every possible app, just some examples that I though might be problematic.
Results were:
1. First I tried a few "big" apps, no surprise here, the all seem to return the same version (checked FB, YT, Netflix, FB, Steam etc. not that I use all of them). For example, Steam returned 3.5 (2023-02-24) in both clients.
2. The only exception that I was able to find, was actually TikTok, 28.9.4 in App Lounge, and 29.0.3 in Aurora Store; maybe this has something to do with ban or source of this app, but again, I'm checking on exact same phone using the same network.
3. I decided to check some lesser-known but frequently-updated app, and the only one I could think of, that would fit that criteria was FairEmail. This example is also interesting, because it is hosted in both Play Store and F-Droid. It turned out, that both Aurora Store and F-Droid featured the same version (1.2060), but App Lounge had only 1.2052. I should also point out, that this app gets very frequent updates sometimes, so it is strange that App Lounge seems to have missed probably ~8 versions (albeit over short period of time).
4. I started checking some Poland-specific apps (though quite popular ones), and I was able to find at least one irregularity being Allegro app: 8.11.1 (2023-03-21) in App Lounge and 8.13.1 (2023-04-05) in Aurora Store.
5. I also checked some older and lesser-known apps, and for example Cyberlords game exists in both stores in the same 1.0.8 version (last updated in 2020).
6. On the other hand, quite ancient ADW Launcher (last updated in 2018) does not exist in App Lounge at all (it cannot be found), but can be installed from Aurora, I also confirmed that it actually still exists in Play Store.
7. I also checked some very niche Polish-specific app Semafor, it exists in both stores, can be found, the same version.
8. I was also able to find that one of the old games Move the Box by Exponenta (last updated in 2017) exists in Aurora Store, but is nowhere to be found in App Lounge.
9. The same goes for Rss Reader by Svyatoslav Vasilev, which is not even that old (and includes commercial/donate version) exists in Aurora Store, and is missing from App Lounge.
Link to screenshots -->
https://imgur.com/a/v6BquUG
Conclusion/questions
1. Which store would you recommend based on everything I provided? From my side, I'm leaning towards either Aurora Store, or coming back to Google Play Store.
2. Where do those apks come from in the end, am I understanding correctly that in the end they should come from Play Store API in both cases?
3. When it comes to my tests: am I missing something here? If the official descriptions (or rather my assumptions) are correct, and both of those clients are using official Play Store apks accessed using likely the very same API, them how would that disparity in versions or visibility would even be possible?
4. Any other Play Store alternatives, that I missed?
Small pushup topic
I am very suprised that no one has any comment about this topic. Specially when it is very wellwritten and documented.
I've been using App Lounge with e/OS but I am not able to answer to your question although as you well say, App Lounge unite very well both F-Droid and Play store App.
Great topic, thanks. For the last few years, I use a combination of Aurora Droid + Aurora Store for open source and normal apps. The big downside is that paid apps aren't supported with an anon login through Aurora.
Right now I'm on a stock ROM, but with no google account. Previously I did a more hard-core degoogling with a custom rom wirh no google play services and MicroG. I found it to be too flaky for me (for example, I need uber to work on my phone 100% reliably). So this level of just not having a google account but still leaving play services installed seems like the right middle ground.
Also, Aurora Store is under relatively active development, not sure where you see no updates since 2021. It's at https://gitlab.com/AuroraOSS/AuroraStore
Note that just in the last few days there's been a breaking issue where the pool of anon accounts needs to be rebuilt, so until that gets fixed you probably won't be able to get started with Aurora Store.

Categories

Resources