I’m not sure if this is what Play Books does (it probably is), but every Android app runs as its own Linux user and has a directory that only this user (and therefore the application) can access. What Play Books must be doing is recording the books in this directory. It is an internal directory of the mobile and not of the SD card, and therefore limited in space. In Android can be accessed by the method getFilesDir()
.
Read more about it here, in the internal storage part:
http://developer.android.com/intl/pt-br/training/basics/data-storage/files.html
iOS will probably go the same way, as far as I could see here.