Honestly, you'll probably do better to have a single .apk and use an
in-app purchase to do the free to paid conversion.  There was another
thread on here that discussed this extensively.

On Jul 24, 2:34 am, Davy <[email protected]> wrote:
> Hi,
>
> I'm thinking about offering a free / paid version of my app on the Market. I
> currently only have a paid application on the market (let's assume the
> current version on the market is called com.myapp).
> The idea would be to strip off some of the functionality in the free
> version. I'm thinking about the following approach :
>
> Starting from my current (and only) Eclipse project called com.myapp (using
> package com.myapp), I would :
>
> Move most of functionality into a new library project, using a new package
> com.myapp.common. This project would include most the current classes from
> my project.
> A lot of activities / broadcastreceivers / services would become abstract in
> the com.myapp.common project.
> Some redesign/refactoring would be in order so that the free/paid version
> can extend from these abstract classes to drive the logic correctly (free vs
> paid).
> Introduce a MyAppPro (using package com.myapp - to keep it aligned with the
> current version in the market)
> Introduce a MyAppLite (using package com.myapp.lite)
>
> I did a small POC and this approach seems to work to a certain degree. I can
> subclass where needed to provide additional functionality, and can also
> override certain layouts where needed.
>
> However, I was wondering if there were some good scenarios to cover the
> following :
>
> I use intents a lot to do both internal communication in my app, and
> exposing functionality to the outside world. If I have both a free and paid
> version of the app, how do I avoid that these 2 start to interfere.
> I have widgets in both the free and paid version. Free version widgets are a
> subset of the paid version. If a user has both the free and paid version
> installed, how do I avoid that the users sees duplicate widgets?
> I register a lot of broadcast-receivers. Again duplicates will come into the
> picture here. Do I need to ensure that in my free / paid version, the intent
> filters are properly "name-spaced" that they don't interfere with each
> other, to avoid that both the free and paid version starts picking up
> certain intents ?
> I register a lot of activities with an intent-filter (used for "share/send"
> functionality). How do I avoid mixing both the free / paid version.
>
> Is there a way to detect that a users has both the free app / paid app
> installed, and in that case, somehow deactivate the free version ? Are there
> any design patterns / out-of-the-box solutions for that ? Also, any pointers
> to existing resources would be great.
>
> Another approach that was thinking off was to just make the current version
> free, and use in-app-billing to turn it into a fully functional paid
> version.
> However, that would be difficult as I think there is no way to automatically
> convert my existing paid user-base. These would then all of a sudden get a
> free version with limited functionality when they update the app, and would
> have to go through the in-app-billing process (paying twice) to get the full
> functionality.
>
> Regards,
> Davy

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to