Raccoon: Error when downloading (continued)

Looks like I spoke to soon in yesterday’s post, announcing that Raccoon v4.1.3 would solve the “Error on download issue”. It does, kinda, but it’s not a final solution, as it requires an annoying workaround (see below).

So, what happened? One of the technicalities of Google Play is that there are (were?) two different download endpoints for apps, named “Purchase” and “Delivery“. Purchase is the endpoint you use for free apps (don’t ask, it’s a legacy thing, the Android eco system is riddled with redefinitions and compatibility hacks). Delivery is used for paid apps. When you want to download an app, you basically ask the corresponding endpoint to give you the download URL(s – yes, there may be several – another idiocy of the Play store) and an auth cookie (the cookie guards against deep linking to the files).

Since Tuesday, the Purchase endpoint no longer provides the necessary data. The Delivery endpoint, however, does and seeing that I could now download my own (free) apps through Delivery, I thought that Google was simply consolidating (cutting off Purchase and moving functionality over to Delivery). So fixing Raccoon was seemingly simple: ignore Purchase, always use Delivery.

Alas, as it turns out, that only worked because I use the same set of apps (usually List My Apps and TextFiction) for testing and the Delivery endpoint is not actually for paid apps (any longer?), but for downloading apps that are already in your library (that is: have been downloaded before).

So, workaround: if you want to download an app, you haven’t downloaded before, you first need to log into the Google Play website, go to that app’s page and click the INSTALL button. This will add the app to your library and afterwards Raccoon should be able to download it.

Coming up with a proper solution will take more time. How much? That depends on how many people will fund development/research by buying a premium key.

Posted in Coding