I've gathered here few different ways I've encountered. I start from the ones that I think are good ways to do it and then point out few that I would advice not to use.
Advertisement + about screen
I find this to be the clearest and most non-intrusive option. This app's lite version is ad supported and they have added in occasionally displayed ad of their own full app. They also clearly list what the benefits of purchasing the full app are in their about page. The about page also contains a direct link to the Android market to the full version.
[Update: advertising your own app(s) can be easily done by using AdMob House Ads. Thanks aubykhan!]
Link in context menu
This app's lite version's context menu contains an item which links to the paid versions. This is very clear implementation but doesn't give out information what the benefits of paying for the app are. If using this approach it is good to add clear list of the benefits in the paid version's market place details.
Home screen advertisementIt seems to be a very common approach to add a menu item or a link to the app's home screen. This definitely get's users' attention but could be a bit too intrusive or considered nagging by some users.
Wait until user hits a function that is available only in paid version
I would strongly advice against doing this. Users are likely to feel annoyed instead of intrigued. If this approach is anyways chosen the functions that are locked in the free version should clearly be marked with a suitable icon (a lock?) so the user has good indication that pressing a button will probably trigger a purchase request instead of the action that the label indicates.
Some apps open up a nag screen whenever the app is launched. This is unlikely to result into a positive image of the app as the user have not had chance to test out the app at all before he or she see the screen for the first time. If this approach is nevertheless chosen it could be improved by creating a counter for app launches and starting to show this screen to the users only after they have had chance to use the app for few times.
The purpose of a free app can either be to generate revenue through advertisement or demonstrate the app's features to make users to buy the paid version or even both. Important factors to be considered when designing the link between free and paid app are:
- How not to annoy user too much
- Clearly state what the benefits are for buying the paid version
- Provide easy way for the user to the paid app (users are not going to search for the full version, instead provide a clickable link to the market place).
There's no simple and definite answers for this one. If you know better ways to do this please leave a comment. I think this is important topic as we all want that well made apps receive also the monetary compensation they deserve. Getting people to buy a paid version as easily as possible but without ruining the user experience is an important step towards that. So please leave suggestions and comments! Thank you.