Kevin

The main advantage like I stated before (and a BIG advantage in my mind) is
if I do the .apk route
 1. Yes it complies with Google agreement.
but
2 and more importantly the user does not have to enter their finical info
again and if I state where they are "browsing" my characters that all
payments go though Android Market place they are immediately more at ease
because they are already using it and trust it.

If they have to
A. Go to a site they know nothing about
B. Have to renter their credit card info

I am not a statistic but I am willing to bet that cuts a HUGE portion out
which might have bought a character for just .99 for of the ease of clicking
"OK"  from a site they trust.

To me that IS worth the 30% cut though the market.

Do you not agree?

Others could use the same model. But I would say to not do an apk installer
for EVERY item if you have a lot for a game. I would say you could purchase
"packages" of weapons or coins or whatever that your game uses for different
rates? And package them up in "installer" .apk's.

As far as flooding the market. Well Google needs to kick it in gear and
improve the market and this would be an addition they need to do. Add a
separate section for "Virtual Install" app's or something.

I would be happy to tell you how I did my server side. I basically have an
activity in my app that uses webview. Which when that starts it opens to my
site where my characters are. You can format the website to "fit" better on
the phone screen. I use zencart. They browsers and place items in a basket
just like usual. They checkout and zencart has a feature to say that the
times are "virtual" so when checkout is complete the item can then be
download. Which is download to your phone. I packages my character info up
in a zip file. Then the zip file is download the app takes it opens it up
and installs the character.

I have the address of my zencart site. If you give me another email you can
take a look. I don't really want to post it out in the open because its my
own trial for my app.

-Chris

On Thu, Mar 25, 2010 at 10:07 PM, Kevin Duffey <[email protected]> wrote:

> I should add Chris, that if the .apk thing works now.. I would totally
> shelf it for now.. knowing that it works, and do what I said above. If/when
> google ever says anything, clarify with them your .apk route, and then reply
> to this forum (and me via email if you wouldn't mind) and let us know the
> status. I still can't imagine there is anything wrong with the in-game
> purchase issue, like you have it or otherwise.
>
> If you need a tester for your app, please let me know.. I'd be happy to try
> it out, and interested in how you did the server side.. and embeded it in
> your app.
>
>
>
>
> On Thu, Mar 25, 2010 at 9:05 PM, Kevin Duffey <[email protected]> wrote:
>
>> For your particular app.. that sounds pretty good. I don't know that I
>> would take this approach for say a game that had hundreds of different items
>> you could purchase.. that would flood the market with 100's of .apks.
>>
>> Honestly, I would say your BIGGEST worry is flooding the market with tons
>> of .apks. Let me ask you something... is there a reason you don't host them
>> yourself? Keep in mind, if your game can download the .apks from your own
>> site, you can install them. At least, I was lead to believe from another
>> post a while back that there is a way to install .apks outside of the
>> market. I am not sure exactly how, but you may want to look into it. To your
>> end user, rather than search the market for extra toons, you can provide an
>> in-game option that calls out to your server to get a list of any toons..
>> you can look at your server side DB for the user making the request, and
>> return enough info so you can highlight the toons they already own in the
>> list of all toons. Now, you host the .apks, your in-app website page where
>> they buy them is from your site. When they buy it, rather than give 30% to
>> google market, and inundate the market with tons of .apks that mean nothing
>> to anyone except those buying your app, host them on your own server, have
>> your app download them and install them directly, and keep the extra .30 for
>> yourself.
>>
>> My guess is that you may not have known (or I could be wrong) that you can
>> download/install .apks from your own hosted site. But I believe hit is how
>> other market sites works.. you can buy the app and download it to your
>> computer, then drag/drop it and run it using a file browser on the android
>> device and it being a .apk will install. If there is no way to do that
>> within code tho, then it may not work, but that would seem odd to me that
>> you can't "reach in" to a downloaded .apk and launch it.
>>
>> Then again, why even use .apk at this point. If you host the toons, you
>> can just download the toon directly with no .apk at all, and handle it that
>> way. The only purpose in my mind to do what you are doing is to avoid a
>> potential back-lash from google at some point that you can't provide in-game
>> purchases. But shoot, as we've been saying, nobody is saying anything, their
>> info isn't nearly clear on the subject, I say rather than worry about .apks,
>> installs, etc.. just host the toon packs yourself, and download it directly
>> and allow your app to directly add them rather than deal with .apk mess.
>> Personally, this is what I would do in your shoes, and will do for my own
>> stuff one day.
>>
>>
>>
>>
>> On Thu, Mar 25, 2010 at 8:47 PM, chris harper <[email protected]> wrote:
>>
>>> westmeadboy
>>>
>>> Thank you!
>>> I think you sent me down the right track.
>>>
>>> After much discussion on this I believe I found the best way to do this
>>> and I think it will actually work and be transparent to the user. Meaning it
>>> will be seen as one app and not a "main" and and a bunch of "installer"
>>> app's.
>>>
>>> Here is what I came up with.
>>>
>>> I been playing around tonight and westmeadboy is correct in your manifest
>>> file if you take out:
>>>
>>>  <category android:name="android.intent.category.LAUNCHER" />
>>>
>>> The app does NOT show up in your drawer.  So this is done for the
>>> installer apk's (not the main program). That is great because then the
>>> "installer" .apk's won't clutter up the apps for the user. They won't see
>>> them.
>>>
>>> When  each install .apk for each character is downloaded the installer
>>> then updates the database (which is shared with the main app) with the
>>> installer package and installer app name. So the main app KNOWS what .apk
>>> "installers" are on the phone for each character which it gets from the
>>> database each time it starts up.
>>>
>>> If it knows that and keeps track of them, then dynamically the main app
>>> can call them via:
>>> final Intent intent = new Intent();
>>> String PACKAGENAME = value from database for installer PACKAGE NAME;
>>> String APP_NAME = value from database for installer APP NAME;
>>>  intent.setClassName(PACKAGENAME, APP_NAME);
>>>  startActivity(intent);
>>>
>>> I already did it. The installer .apk is hidden and the main app calls
>>> them and to the user it will APPEAR to be the SAME app.
>>>
>>> The main app is just calling each installer .apk behind the scenes which
>>> the user can then control the install or removal of each character though
>>> it's individual installer.
>>>
>>> When a character is removed then the installer for that character is also
>>> removed.
>>> If they don't like a character and want to remove it for a "refund"
>>> within the 48 or whatever period then they are refunded for that character
>>> and the installer for that character is gone (it updates the database upon
>>> its removal).
>>>
>>> If I need to update a character then I just update the installer app for
>>> that character. The user can then re-download the installer app for that
>>> character whenever they want or get an alert for an update for a character
>>> just like any other program.
>>>
>>> I actually think this will work. Anyone see anything I am missing?
>>>
>>> -Chris
>>>
>>>
>>>
>>>
>>> On Thu, Mar 25, 2010 at 5:47 PM, westmeadboy <[email protected]>wrote:
>>>
>>>> To exclude from the app drawer, I think this explains it:
>>>> http://groups.google.com/group/android-developers/msg/c4ca26a240d7120b
>>>>
>>>> BTW, looking at the payments (received) in Google Checkout the actual
>>>> payment goes through always between 24 and 36 hours after
>>>> authorisation. Most of the time its between 26 and 27 hours.
>>>>
>>>> Authorisation normally happens within a minute of receipt of the
>>>> order, but sometimes takes several hours.
>>>>
>>>> (Of course, its possible that some payment systems within Google
>>>> Checkout behave differently.)
>>>>
>>>> Because of the potential authorisation delay, its very difficult to be
>>>> sure when the actual payment has cleared. I suppose 48 hours is safe
>>>> enough...
>>>>
>>>> On Mar 26, 12:32 am, Rob Mazur <[email protected]> wrote:
>>>> > I didn't know you could hide it from the app drawer. If that's the
>>>> > case then loading additional apks from a master apk may be a nice
>>>> > solution. Then you don't really need anything server-side either.
>>>> >
>>>> > Do you happen to know which filter does it?
>>>> >
>>>> > On Mar 25, 6:51 pm, westmeadboy <[email protected]> wrote:
>>>> >
>>>> >
>>>> >
>>>> > > What is your specific reason for wanting to uninstall the character
>>>> > > apps?
>>>> >
>>>> > > You can make sure that they do not appear in the app drawer by using
>>>> > > the relevant intent filter. That would only leave them visible to
>>>> the
>>>> > > user when they do something like Settings -> Applications or look in
>>>> > > the Downloads of the Market app.
>>>> >
>>>> > > On Mar 25, 11:09 pm, chris harper <[email protected]> wrote:
>>>> >
>>>> > > > Thanks guys
>>>> >
>>>> > > > Rob/Kevin
>>>> >
>>>> > > > You guys are really give me some ideas here.
>>>> >
>>>> > > > Thank you for the advice on score loop but I don’t think I can
>>>> user it
>>>> > > > because my app doesn’t keep scores or interact with my app on
>>>> other phones.
>>>> > > > It’s not really a game.
>>>> >
>>>> > > > So I am not sure if that will benefit me? I looked though
>>>> scoreloop but it
>>>> > > > looks like it is for comparing scores with other users within a
>>>> social
>>>> > > > network. Am I right?
>>>> >
>>>> > > > Rob – I was actually thinking right along that same track. Each
>>>> install app
>>>> > > > keeps a timer of itself when it was installed and asks to be
>>>> uninstalled
>>>> > > > after 48 hours, BUT makes it clear to the user that uninstalling
>>>> the install
>>>> > > > app does NOT remove the character from the main app.
>>>> >
>>>> > > > Kevin -  you gave me a great idea very close to what you
>>>> suggested. I do
>>>> > > > have a server side set up. Like I said I have a website set up
>>>> with a
>>>> > > > shopping cart and everything where I WAS going to make people
>>>> buy/download
>>>> > > > my characters from there.
>>>> >
>>>> > > > What if the install .apk not only installs the character like I
>>>> stated but
>>>> > > > also takes the user ID from the database on the phone (which both
>>>> the
>>>> > > > install .apk and the main program share the same sqlite DB) and it
>>>> sends the
>>>> > > > information to the sever like you suggested that this user ID OWNS
>>>> this
>>>> > > > character. So any updates to this character get sent to this user.
>>>>  If they
>>>> > > > uninstall the install app before the 48 hours (for the refund)
>>>> then before
>>>> > > > it uninstalls it updates the server they do not own this character
>>>> anymore
>>>> > > > and this character was removed.
>>>> >
>>>> > > > If they remove the .apk install app after the 48 hours (via the
>>>> prompt like
>>>> > > > Rob suggested) they still own the character and get any updates.
>>>> The
>>>> > > > character is not tied with the .apk after the initial install.
>>>> >
>>>> > > > They can still remove the character from the main app at any time
>>>> and that
>>>> > > > will also tell the server that they do not own the character
>>>> anymore.
>>>> >
>>>> > > > What do you guys think?
>>>> >
>>>> > > > On Thu, Mar 25, 2010 at 3:38 PM, Kevin Duffey <
>>>> [email protected]> wrote:
>>>> > > > > I wonder if removing the .apks will bring up other issues, like
>>>> updates?
>>>> > > > > For example, maybe not for your specific app, but what if a
>>>> character .apk
>>>> > > > > has a bug in it.. you fix it.. but end users have uninstalled.
>>>> Now they will
>>>> > > > > have to pay/reinstall again to get the updated toon even if they
>>>> already
>>>> > > > > paid/installed before.
>>>> >
>>>> > > > > Honestly Chris I don't think this is a viable solution. It's
>>>> "close", but
>>>> > > > > not quite there due to the variations of issue that may arise
>>>> from removing
>>>> > > > > the .apk.
>>>> >
>>>> > > > > Here's a thought.. do you have a server side at all? If not, do
>>>> you know
>>>> > > > > enough server side to do a quick appengine or, I found a host
>>>> that charges I
>>>> > > > > think $15 a month to host a web app on a tomcat 6 server (I'll
>>>> have to dig
>>>> > > > > it up again)... the idea is.. make a simple server side app that
>>>> stores a
>>>> > > > > user's paid-for characters in a DB. That is.. the user goes to
>>>> your site,
>>>> > > > > pays for a toon. You then update (in some secure/encrypted
>>>> manner) the DB
>>>> > > > > for that user that they "own" that character. The next time they
>>>> launch the
>>>> > > > > game, some how it pulls the server and down comes any new toons
>>>> they paid
>>>> > > > > for. You can even allow for an SMS push notification that if
>>>> they don't have
>>>> > > > > a wifi/3G connection, but do have cell.. your game could listen
>>>> for SMS
>>>> > > > > messages (or a separate service piece to your game) and your
>>>> server piece
>>>> > > > > can send an SMS message (not sure what API/service allows for
>>>> this to work
>>>> > > > > tho) that when received updates the game for that user. Worse
>>>> case, they
>>>> > > > > don't have SMS enabled services.. and no internet.. then they
>>>> have to wait
>>>> > > > > till they do to get the character toons. Heck, they cant use the
>>>> market to
>>>> > > > > buy them either without network.. so no loss there.
>>>> >
>>>> > > > > On Thu, Mar 25, 2010 at 2:31 PM, Rob Mazur <[email protected]>
>>>> wrote:
>>>> >
>>>> > > > >> Maybe you could store the date you detected the new apk in the
>>>> prefs
>>>> > > > >> and say after refund period has expired you throw a dialog that
>>>> tells
>>>> > > > >> the user they can now uninstall the "addon pack".
>>>> >
>>>> > > > >> So for a few days (2 or 3 to be safe) your code checks that the
>>>> apk is
>>>> > > > >> still there, if not then remove the character. Once the refund
>>>> period
>>>> > > > >> has expired you throw up the dialog and can even kickoff the
>>>> uninstall
>>>> > > > >> nicely with an intent. In your app description just make sure
>>>> to
>>>> > > > >> inform them that they should not uninstall until directed,
>>>> otherwise
>>>> > > > >> they will lose the character. But that the app will notify them
>>>> when
>>>> > > > >> they can safely uninstall.
>>>> >
>>>> > > > >> On Mar 25, 5:11 pm, chris harper <[email protected]> wrote:
>>>> > > > >> > Warren
>>>> >
>>>> > > > >> > I think you are right. I think if I do an uninstall on the
>>>> app before
>>>> > > > >> the 24
>>>> > > > >> > hour period then it refunds. Thanks for catching that.
>>>> >
>>>> > > > >> > Which leaves only one option.
>>>> >
>>>> > > > >> > The install app can have two buttons on it.
>>>> > > > >> > One to: Remove just the Install app
>>>> > > > >> > and another to: Remove the install app AND the Character
>>>> >
>>>> > > > >> > So the USER has the option of removing either just the
>>>> install app (so
>>>> > > > >> the
>>>> > > > >> > phone doesn't get cluttered with apk install files) OR
>>>> removing the
>>>> > > > >> install
>>>> > > > >> > app AND the character.
>>>> >
>>>> > > > >> > If they select EITHER button before the the 24 hour period
>>>> for a refund
>>>> > > > >> then
>>>> > > > >> > both the install app and the character are removed.
>>>> >
>>>> > > > >> > Which this can all be explained to the user within the
>>>> install app.
>>>> >
>>>> > > > >> > That should work. I would think?
>>>> >
>>>> > > > >> > Rob
>>>> > > > >> > I just took a look at them. The MAIN thing I am trying to
>>>> accomplish is
>>>> > > > >> to
>>>> > > > >> > make my characters available without requiring the user to
>>>> enter finical
>>>> > > > >> > information again.
>>>> >
>>>> > > > >> >  I really believe if they don't have to do that and instead
>>>> they just
>>>> > > > >> click
>>>> > > > >> > on "submit" to buy another character that will make a HUGE
>>>> difference in
>>>> > > > >> the
>>>> > > > >> > amount of people that will buy my characters because its a
>>>> two second
>>>> > > > >> thing
>>>> > > > >> > for them.
>>>> >
>>>> > > > >> > They are at the DMV for example and board and like the
>>>> characters in my
>>>> > > > >> app
>>>> > > > >> > (which they downloaded because it was free), so why not try
>>>> another
>>>> > > > >> > character for .99 if they just have to click "ok"??
>>>> >
>>>> > > > >> > If I can just make it as seem-less as possible for an
>>>> "install" apk to
>>>> > > > >> work
>>>> > > > >> > with my main app this would be a great thing (as well as
>>>> other
>>>> > > > >> developers
>>>> > > > >> > like Warren).
>>>> >
>>>> > > > >> > -Chris
>>>> >
>>>> > > > >> > On Thu, Mar 25, 2010 at 2:58 PM, Rob Mazur <
>>>> [email protected]> wrote:
>>>> > > > >> > > Chris, have you tried creating an account on ScoreLoop?
>>>> Once logged in
>>>> > > > >> > > they have a note at the bottom about their Android SDK.
>>>> They are
>>>> > > > >> > > making it available to a few developers and you can email
>>>> them if you
>>>> > > > >> > > are interested.
>>>> >
>>>> > > > >> > > IMO, until Google builds an in-app payment system, the best
>>>> bet is to
>>>> > > > >> > > go with a company like ScoreLoop. I did read somewhere that
>>>> they take
>>>> > > > >> > > a pretty hefty cut, but I don't know of any other options
>>>> out there. I
>>>> > > > >> > > checked out OpenFeint but didn't see anything about
>>>> Android. Plus this
>>>> > > > >> > > should only be temporary cuz it just wouldn't make sense
>>>> for Google to
>>>> > > > >> > > miss out on the potential revenue available.
>>>> >
>>>> > > > >> > > On Mar 25, 4:36 pm, chris harper <[email protected]>
>>>> wrote:
>>>> > > > >> > > > Will an uninstall trigger a refund? If so maybe I just
>>>> don't do a
>>>> > > > >> refund?
>>>> > > > >> > > I
>>>> > > > >> > > > don't deal with it?
>>>> >
>>>> > > > >> > > > Is that an option? Can we do that?
>>>> >
>>>> > > > >> > > > I plan on only charging .99 for a character.
>>>> >
>>>> > > > >> > > > My main free app will contain two default characters (to
>>>> get the
>>>> > > > >> user
>>>> > > > >> > > > hooked).
>>>> >
>>>> > > > >> > > > So if they really likes the app and they think the
>>>> characters are
>>>> > > > >> funny
>>>> > > > >> > > (I
>>>> > > > >> > > > have spent a lot of time on them) then they are more
>>>> likely to still
>>>> > > > >> buy
>>>> > > > >> > > > another one if there is no refund...because it's ONLY
>>>>  .99 after
>>>> > > > >> all??
>>>> >
>>>> > > > >> > > > What do you think? Great point though. Thank you.
>>>> >
>>>> > > > >> > > > On Thu, Mar 25, 2010 at 2:22 PM, Warren <
>>>> [email protected]>
>>>> > > > >> wrote:
>>>> > > > >> > > > > *So I think I am in the ballpark, unless anyone sees
>>>> anything I
>>>> > > > >> have
>>>> > > > >> > > > > overlooked?*
>>>> >
>>>> > > > >> > > > > I think you overlooked something big. You plan to leave
>>>> the data
>>>> > > > >> on
>>>> > > > >> > > > > the phone and uninstall the app. That works. But
>>>> suppose I
>>>> > > > >> download
>>>> > > > >> > > > > the a character app, install the character, then
>>>> immediately
>>>> > > > >> refund?
>>>> > > > >> > > > > Wouldn't I keep the character data?
>>>> >
>>>> > > > >> > > > > Also, if you auto-uninstall within the refund period,
>>>> will that
>>>> > > > >> > > > > trigger a refund?
>>>> >
>>>> > > > >> > > > > If so, you guarantee 0 revenue.
>>>> >
>>>> > > > >> > > > > On Mar 25, 3:14 pm, chris harper <[email protected]>
>>>> wrote:
>>>> > > > >> > > > > > Thank you for all the interest guys. Really it helps
>>>> and it can
>>>> > > > >> help
>>>> > > > >> > > > > feature
>>>> > > > >> > > > > > developers down the road.
>>>> >
>>>> > > > >> > > > > > Shane it is tricky and I don't want to do against
>>>> Googles
>>>> > > > >> blessing
>>>> > > > >> > > but
>>>> > > > >> > > > > their...
>>>> >
>>>> > read more »
>>>>
>>>> --
>>>> 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]<android-developers%[email protected]>
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/android-developers?hl=en
>>>>
>>>> To unsubscribe from this group, send email to android-developers+
>>>> unsubscribegooglegroups.com or reply to this email with the words
>>>> "REMOVE ME" as the subject.
>>>>
>>>
>>>  --
>>> 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]<android-developers%[email protected]>
>>> For more options, visit this group at
>>> http://groups.google.com/group/android-developers?hl=en
>>>
>>> To unsubscribe from this group, send email to android-developers+
>>> unsubscribegooglegroups.com or reply to this email with the words
>>> "REMOVE ME" as the subject.
>>>
>>
>>
>  --
> 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]<android-developers%[email protected]>
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>
> To unsubscribe from this group, send email to android-developers+
> unsubscribegooglegroups.com or reply to this email with the words "REMOVE
> ME" as the subject.
>

-- 
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

To unsubscribe from this group, send email to 
android-developers+unsubscribegooglegroups.com or reply to this email with the 
words "REMOVE ME" as the subject.

Reply via email to