My scenario of In App Billing implementation: 1. The Home screen shows the list of products which I am planning to sell. 2. The detail screen (Screen shown on selecting a li
Restore transactions should not be done frequently, possibly only on the app's first run (so you can restore purchases if the user reinstalled the app, etc.) You don't need it for purchasing a product.
The BillingService offers separate methods for requesting a purchase and restoring transactions. Just call the appropriate one from the relevant activity. You only need one purchase observer, it doesn't matter how UI/activities are structured.