In-app advertising provides a monetization solution for free apps, but also consumes lots of energy due to the long tail problem in cellular networks. To reduce the tail energy, we can predict the number of ads needed in the future and then prefetch those ads together instead of periodically. However, prefetching unnecessary ads may waste both energy and cellular bandwidth, and this problem becomes worse when the network quality is poor. In this paper, we propose network quality aware prefetching algorithms. First, we design a prediction algorithm which generates a set of prefetching options with various probabilities. Second, with these prefetching options, we propose two prefetching algorithms to reduce the energy consumption by considering the effect of network quality, where the energy-aware prefetching algorithm aims to minimize the energy consumption, and the energy-and-data aware prefetching algorithm considers the data usage to achieve a tradeoff between energy and data usage. Evaluation results show that, compared to traditional ways of fetching ads periodically, our energy-aware prefetching algorithm can save 80% of energy under various network quality, and our energy-and-data aware prefetching algorithm can achieve similar energy saving with less data usage.