I know that for jailbreak iOS device there is a way to get in-app purchase for free. There is in-app hack too for android. Is there anyway to prevent this when writing app that use in-app purchase ?
thanks
Yes, in addition to following all the latest Google Play/Apple licensing and security best practices you can, you need to make multiplayer interaction through your servers an intricate part of the game play and the fun.
For great examples of this, take a look at "Fun Run" or "Clash of Titans".
That being said, don't make the mistake of doing this after you've designed most of your game already. Most users (even and especially legitimate paid users) hate it when their game requires them to be online even when they're only playing it in a single player mode, and they will badmouth and down-rate your app if they suspect that you've purposefully crippled your game, or removed single player mode functionality after the fact.
Related
I am looking for a way that I can develop an app cheaply for a very specific use.
Specifically, I would like to create an game that can be played online between different phones.
I have some coding and development experience, and I would like to make the app iOS compatible (initially... open to Android integration later on).
Is anyone aware of a way to make an app without paying $99+ a year to be deployed on the app store? I simply need to make it available to approximately 15 people, and am uninterested in making any money or widely distributing the app.
Many of the target audience are in low-income areas of the world and have very limited access to computers, so a mobile application is likely my only option.
Thanks in advance for any help!
I have done research into Apple developer accounts, but it doesn't seem to fit my needs. I have also looked into making an Ad-Hoc account app, but can't find a lot of info on the feasibility of this.
One thing to consider is what are the game performance requirements?
If it is a simple game, using a Javascript game engine may be a better option as it can be hosted on a server (and viewed in a browser) to start with, and later bundled in a progressive web app with PWA Builder.
I'm not an expert but I think this question should be moved to a different Stack Exchange website.
Anyway, if you want to distribute your app to iOS real devices through the App Store, you will have to pay the $99 yearly membership.
There is also a free Apple Developer Program. I never tried it and I think you need physical access to the devices on which you want to load the app. But I could be wrong and maybe you'll have access to TestFlight. If you do have access to TestFlight the only disadvantage is that you'll have to re-publish your app from time to time when the testing period for one version is over. Try it!
iOS device and low-income don't really fit together ;-).
On Android, it is much more affordable even with the use of the Play store. If it hasn't change much it is a one time $25 fee and that's it. You can do Alpha/Beta and Production releases.
Regarding your requirements it is the best platform because the devices are generally cheaper.
To developp on Android, it's free, you just pay if you want to publish the app on store.
For ios, you can't do anything without creating a developper account, so pay $99.
You're always able to use a cross-platform langage (react native, flutter for ex.) but as soon as you want to deploy on real apple device, you'll need to pay.
I was wandering if I can sell digital objects(like lives in Candy Crush) from an other app.
I'll explain it a little better: I have an android game built with AppInventor from which I can't implement in-app billing. I was thinking to build an app in java and allowing in-app purchase from it an sharing purchases info on the server on which the game is based.
The question is: does Google allow me to do this or there is some restriction I've not been able to find?
I hope you can understand what I wrote as english is not my mothertongue.
Isn't there a way you can just reimplement your game with in app billing? Having to open another app to buy things on this one seems not really intuitive. Plus, you may need to advertise the "buying app" in the "game app" somehow, so you'll still need to write some code.
As far as I remember, AppInventor apps were fairly straightforward to redo if you know how to code Android, plus it's not available anymore, which means you lost support in case you want to do something else.
I realise this is a loaded question but I'm hoping someone with a deeper understanding of obfuscation and public key security etc. will be able to help - and the issues are wider than just Apps with In App Purchases too, of course, but that's my personal interest at this point.
I once made the mistake of using ProGuard on one of my (free) Android Apps - I say mistake because tracing problems reported by users became and utter and total NIGHTMARE and I soon realised I was gaining nothing and so I dropped it.
I now have paid Apps and apps with In-App Purchases (using both Amazon and Google Billing Systems) ready for launch and it seems that using Proguard (or a similar alternative) is strongly recommended - but before I step back into that nightmare, is it REALLY essential?
If people want to reverse-engineer my code to remove ads or get Apps 'for free' then they'll do it somehow I'm sure - but I obviously don't want to make things like Billing Systems and people's personal credentials less secure!
The Google Play In-App Billing talks about obfuscating things like the In-App product Public Keys (by storing them in separate bits to make changing them harder) - I guess not Proguarding weakens that further - but is this just my Apps or does it have a wider effect on other people's Apps/customers own personal security?
Basically - I care not 1 jot about pirates because they will do what they do regardless, I certainly don't want to give myself work for just that purpose, but neither do I want to weaken security for other users either!
Anyone clued-up enough on this to comment??
ProGuard only helps prevent piracy; it does not affect the safety of personal information.
Well-designed payment processing systems (for the public) remain secure even if someone hacks their client (a.k.a. your app). The most someone could do is access paid content without paying, but there's no way for a hacker to compromise other people's apps through the Google or Amazon payment systems.
So, adding Google or Amazon payment processing to an app does not affect the security of the app.
However, if a hacker manages to hack someone else's phone through regular means, they might be able to access the payment information stored in your app. But ProGuard only protects code, not personal information, so it would not prevent this sort of hack either.
I would just like to ask if there are any best practices for a shared subscription billing for iOS and Android.
Right now, we are developing a mobile app both on Android and iOS (both native sdk, not cross-platform). And we have this certain feature in the app which you need to subscribe in order to access. But this will be a shared subscription. A one time payment regardless of what device a user is using to subscribe.
Sorry, but I am not really good in explaining things so maybe I will give you a scenario. I hope it helps you to understand what I am talking about.
For example, a user has two phones, an Android phone and an iPhone. He then installed our app in both his iPhone and Android phone. Now, he opens our app in his iPhone and he wants to access that certain feature so he subscribed. With this, what we want as a developer is to make it so that when he opens the app in his android phone, he will already be able to access that certain feature since he has already subscribed when he used the iPhone app.
We are still hesitant to continue since Google and Apple have different billing schemes. But maybe there are solutions for this, or are there?
I am hoping that someone could give us light on how to do this in the best practical way possible.
Thanks in advance...
I am currently facing the same issues. That's what I have so far.
There seem to be cross-platform solutions but none of them seem to work through Google Play or Apple payment methods..
You can use your API/backend service to flag the current user subscription state and sync it across all your platforms (that might violate Apple in-app system conditions).
I'm currently looking for a way to communicate to both Google Play and Apple in-app payment system that the item has been already bought in a different platform. There should be a way but as said, still looking for it.
We'll keep that up to date.
I have to create an application where a user makes a deal and then gives me (the owner of the application) a certain amount of money for the deel to be made available to the rest of the world. I was thinking of achieving this through Google Checkout, but I stumbled upon Android in app billing sdk. My question is, is it possible to use in app billing in my scenario?
The google in app billing works only officially with receivables (AFAIK) i.e. The most effective way i could see you doing this is to make the deal, then charge for an item called for example ("Transaction fee" / "Deal fee") and then the app runs as normal.
It's not reccomended that you start using your own payment system, purely if not anything else, support could drop at any minute and your app starts breaking the ToS
I got the answer :) We can use in app billing with Unmanaged products :)