Ahh,, now that is a different kettle of fish!

I'm in the situation where I want to be able to identify my legacy users so 
they don't get in-app purchase offers.
What I'm about to try (I think) is using the google account they are using 
with Play.

What you'd use is the AccountManager class to get their Goggle account 
email address (i'm surprised that IAP doesn't already identify this for you 
in the transaction) then attach the flag to that ID, which would be good 
for as long as the users uses the app for all Android users. Its also 
moveable between phones or phone resets and is tied to *the user* not the 
phone instance.

To get accounts, you would use something like:

AccountManager accountManager = AccountManager.get(this);

Account[] accounts = accountManager.getAccountsByType("com.google");


You could change or remove the filter to get all accounts but you can look 
up the correct API if you use this method.


- Brill


On Monday, December 3, 2012 4:03:11 PM UTC-5, Keith Wiley wrote:
>
> On Monday, December 3, 2012 12:45:33 PM UTC-8, Brill Pappin wrote:
>>
>> Tough one and something I'm about to get into myself.
>> As a rule we simply give anyone a refund who asks, but in app, unmanaged 
>> purchased would be much tougher to handle.
>>
>
> Sure, I always refund actual baseline app purchases (good old fashioned 
> direct app purchases)...but I've never used IAP before so these new issues 
> are...new.
>  
>
>> What I would do in your case is simply reuse whatever system you have for 
>> delivering the unmanaged purchase goods to flag as soon as the user did 
>> anything with what they bought, and make the policy: refund on "unopened" 
>> merchandise only. You may need to modify your app a little to make this 
>> clear to the users, but should be a small price to pay for smoother 
>> integration :)
>>
>
> I agree, but that's the problem.  I admit I didn't explain it very well.  
> The server-side database for managing purchased items identifies 
> installations by a UUID which is created when the app is run for the first 
> time.  This is conceptually similar to using a unique *device* id except 
> that if you research "unique Android device identifiers" you quickly learn 
> there is no across-the-board 100% operational way to get such ids...so I 
> use UUIDs generated in-app at first launch.  Fine...........but google 
> purchases don't identify their device (much less my own personal UUID 
> scheme obviously).  So when a google account (a person or gmail address in 
> effect) requests a refund...how on Earth do I "look them up" in my database 
> of in-app unmanaged purchases (tied to installation UUIDs) to see if the 
> purchased item has ever been used within the app?  How do I do that?  
> That's what I cannot, for the life of me, figure out.  
>

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

Reply via email to