We propose a privacy preserving mobile advertising system for in-app ad placement, that enables user profiling and targeted ads without revealing user interests to the mobile advertising companies. Our proposal relies on device-based user profiles, derived from app activity, on the use of Private Information Retrieval (PIR) to query ads database(s) for matching (to profile) ads, without the database(s) learning the content or the result of queries. We implement a Proof of Concept (POC) solution comprising critical system components for Android devices, including the profile builder and the PIR mechanism based on Percy++ library (ported to Android). We evaluate the practicality of selected PIR techniques in a mobile ads system using measured real world parameters. Overall, we show that a mobile PIR client can be effectively used for private advertising: for a single client connecting to a desktop PIR server, the Information theoretic (IT) and Hybrid PIR mechanisms allow close to real time ad retrieval. E.g., when querying a 1GB ad database for a block of 4 ads (total of 64KB), the ads are retrieved with a delay of around 2.5sec and utilising (for IT PIR) 1.25MB of data. The selected Computational PIR mechanism, however, introduces unacceptable overheads (the delay is of the order of 1300sec and 9.4GB of data is exchanged between the Android client and server for the same ad block). Further multi-client scalability tests indicate that, for all schemes, the server side is a performance bottleneck and, in addition to using commercial grade equipment, implementation enhancements including parallel processing would be necessary to have close to real time system responsiveness.