Just to give you a little background, we have a software application which anyone can access through web. It is a very specific application for banking and retail industry. Currently this application is accessible on web as well as on "Windows tablet kiosk" and we have license based pricing. Windows tablets access the data through web services.
So for example, XYZ Bank can order 100 windows tablet licenses and we can charge them for the application based on our pricing model for 100 license.
We are getting lot of requests from our clients to develop the same app on iPad and we are currently researching on deployment options for the same. As per my understanding, Apple has very stringent rules when it comes to App download.
In above scenario, where organization needs a licence from us to run the application what kind of deployment strategy we should go with? I can think of 2 options:
1) To deploy the app on iTunes stores and ask the organization to download it from the iTunes store. They will have to contact us to get the license in order to run the App. Is it legal? Since we have license based pricing model, we'll keep our App for free and will charge organization for license.
2) Should we just get enterprise license for our clients/organization and deploy the system on their iPad under that enterprise license.
According to me option # 1 is the way to go. But I just want to know if this is OK to distribute the App for free and than charge for licenses? In any case this is more of a web app and iPhone is just an extension.
Option #1 is only ok in a special case, when you have a general subscription model for your service outside the App Store/IAP process, like Spotify does, for example. There's a special paragraph in the App Store guidelines for that, 11.14. But if your customers pay a one-time fee just to use the iPad app, I think Apple would consider this as circumventing the App Store payment model and would reject your app because of rule 11.1 of the guidelines.
But Apple just set up a new distribution model for cases like yours, the "Custom B2B apps". It's a way to distribute custom apps for specific customers through the App Store, without the need for Enterprise Licenses for each customer. See
http://www.apple.com/business/vpp/
Only customers that you have approved before will be able to see their custom app in the App Store. Payment goes through Apple and they keep 30% as usual. This program is US-only now but will be rolled out to Australia, Canada, France, Germany, Italy, Japan, New Zealand, Spain, and UK soon.
If you don't want to give the 30% away, your only option is indeed #2, building the app with an Enterprise License of your client. The only real downside I see is that you have to get each client to enroll in the developer program and renew it every year. If you have many clients, that could become a problem.
But once they've set you up as an agent or admin, the process is smooth. E.g. you can use a MDM service for OTA updates to your client's devices and they can set up an inhouse app store, so their user experience is almost the same as when using Apple's app store.
I've just decided to go with option #2 for an enterprise project for 3-5 clients. I would say that if you have more than about 10 clients, the extra work with all the different certificates, distribution methods etc. wouldn't be worth it and I'd rather pay Apple 30% to handle that and go with the Custom B2B program (if it's available in your country).
Option 1 is more preferable.
You can have a free app on the app store.
After that you can have a option for licensing. and from coding you can maintain that in order to use the app they needs to purchase the license.
Lots of app does that as they have their signup based on the Device ID.
I have worked with some of the apps who uses to give their services like SIP Calling with licensing like that.
so with option 1 you can achieve it.
thanks
Related
We're a marketplace that connects our contractors with customers. We want to release an iOS app (React Native) for our contractors but we don't want the app to be on the public App Store. For Android we use the Alpha Channel feature, which gives us a link that we can send people to download the app.
The Enterprise program isn't suitable for us I think because we can't ask our contractors to enrol in a program?
The Custom B2B program doesn't seem to be a good fit since we are not selling or white labelling any apps?
Is there another option or am I wrong with the above mentioned assumptions?
Options for Distributing Your iOS App to a Limited Audience
Imagine you’ve built an iOS app for a limited set of users. Since it requires authentication, the app is useless to the general public. Is the public App Store the only option to deploy this app without express shipping devices through the mail?
I’ve identified 5 options that you should know about.
1) The Public App Store
Distribute the app on the public App Store. Only people authorized to use the app can authenticate and use its features. Requiring a small price (such as 99 cents) will discourage casual installations.
Submitting to the public App Store requires an iOS Developer license for $99 per year.
Pros
Apple provides the distribution service – The App Store. It is highly available and well understood by users.
The App Store promotes your company on a highly visible marketplace.
Cons
The App Store approval process is required for initial app deployment and app updates. You may be required to make changes to the app. The approval process used to take weeks, but currently only takes a day or two.
The App Store provides information about your app to competitors including a description of the app’s features, screenshots and an indication when the app is updated.
If you charge a price for the app, 30% of the revenue goes to Apple.
2) iOS Developer Enterprise Program
The iOS Enterprise Distribution program allows a company to distribute their own “in-house” apps directly. It is intended for employees of the licensee company only and that licensee must be a company or organization with a DUNS number. The cost is $299 per year for this license compared to $99 per year for the iOS Developer License. A given device can have apps installed from only one iOS Enterprise License at a time.
*Note: The following is an excerpt from the iOS Enterprise Distribution License Agreement
“Internal Use Applications developed under this Agreement may be deployed on Deployment Devices in two ways: (1) deployment for internal use by Employees, and (2) deployment for use by Customers either on Your physical premises or under the direct supervision and physical control of Your Employees in other locations, subject to Apple’s right to review and approve such deployment as set forth herein.”
Pros
The App Store approval process is not required.
The general public cannot see a listing for your app, purchase or install it. It is not on the App Store.
Cons
The Enterprise program is intended for employees and contractors of the licensee only.
The licensee is responsible for distributing and updating the app. This can be done manually by email, making the app available on an Intranet site, through a Mobile Device Management System (MDM), etc.
The cost is $299 per year for the Enterprise Developer Account compared to $99 per year for the iOS Developer Account.
*Note: The Enterprise program does not enable you to deploy apps to the Public App Store. For that you need to be enrolled in the standard iOS Developer Program.
3) Custom B2B Apps Program
Apple has programs for volume purchasing and custom B2B apps. These programs operate from the online Business Store. The Volume Purchasing Program allows businesses to buy apps from the public App Store in bulk. Custom B2B Apps extend the Volume Purchase Program for custom B2B apps built by third-party developers. The third-party developer determines which Volume Purchase customer(s) can purchase a given app. Such apps are not available on the public App Store but only through the Business Store.
Pros
More convenient for larger distributions. Each individual installation does not require a user to make a purchase through the public app store and expense the cost. Instead, users are given a coupon that they can use to install the app.
Apple provides the distribution service – the Business Store. This provides some features of an MDM.
The general public cannot see the listing, purchase or install the app.
Cons
Requires App Store approval process for initial app and updates.
If you charge a price for the app, 30% of the revenue goes to Apple.
B2B apps are only available to businesses enrolled in the Volume Purchase Program. The Volume Purchase Program is limited to the following countries as of September, 2017: Australia, Austria, Belgium, Brazil, Canada, Czech Republic, Denmark, Finland, France, Germany, Greece, Hungary, Hong Kong, India, Ireland, Italy, Japan, Luxembourg, Mexico, Netherlands, New Zealand, Norway, Poland, Portugal, Singapore, South Africa, Spain, Sweden, Switzerland, Taiwan, Turkey, United Arab Emirates, the United Kingdom, and the United States.
*Note: An iOS Developer License is required to use the Custom B2B Apps Program. Limiting an app to the B2B App Store is an option when submitting to the Public App Store.
4) Ad Hoc Distribution (intended for Testing)
Ad Hoc Distribution allows you to distribute apps to up to 100 iOS devices for testing. You must register these devices manually by their ID. Devices can be removed/replaced once each membership year). Ad Hoc Distribution is a feature of both the iOS Developer Program and the iOS Developer Enterprise Program. This may be all that is needed for a prototype or trade show.
Pros
The App Store approval process is not required.
The general public cannot see the listing, purchase or install the app.
Over-the-air installation from a hyperlink (hosted on your web server or on an iOS Beta Testing Service *mentioned next) or by emailing to a computer with iTunes installed (and then installing to the device).
Cons
Limited to 100 devices (devices can be removed/replaced once each membership year).
The UDID (Unique Device IDentifier ) of each device must be associated with your provisioning profile. This is a manual process.
Your team must manage deployments and updates.
The related developer provisioning profile expires in one year. This means that the app will run on a given device for a maximum of one year. When the Developer Provisioning profile expires the app will need to be rebuilt with a new provisioning profile.
5) iOS Beta Testing Service: TestFlight
TestFlight is a free over-the-air platform used to distribute beta and internal iOS applications to team members. Developers can manage testing and receive feedback from their team with TestFlight’s Dashboard.
TestFlight makes use of your iOS Enterprise License or Developer License to create Enterprise and Ad Hoc provisioned apps.
Pros
The same Pros as #2 iOS Developer Enterprise Program or #4 Ad Hoc Distribution depending on which iOS license you use.
Distribution and feedback is managed with a free, cloud based service.
Cons
The same Cons as #2 iOS Developer Enterprise Program or #4 Ad Hoc Distribution depending on which license you use minus the Con about managing deployments and updates. According to Apple, TestFlight builds are only valid for 90 days. Apps cannot be opened after that period.
Other Testing Tools and Services
AppCenter: iOS, Android, Windows, MacOS and more.
Firebase App Distribution: iOS and Android distribution.
If you are not selling the app through the Apple App Store and have a target customer base, I would try the Microsoft App Center to distribute the app. It kind of works like TestFlight, but you don't have to worry about their review process.
Now we have one more option to distribute apps supported by Apple as the official way to do exactly what you are asking for: Custom Apps
Engage with businesses and educational institutions to design and build customized apps that meet the unique needs of their organization. With Apple Business Manager and Apple School Manager, you can privately and securely distribute to specific partners, clients, and franchisees. You can also distribute proprietary apps to your internal employees.
There is now (since a while back) another alternative to this problem: Unlisted app distribution
https://developer.apple.com/support/unlisted-app-distribution/
It makes it possible to publish your app on the App Store, but the only way to find the app is by a direct link.
And an important difference of this to Apple Business Manager is that you can distribute the app to both managed and unmanaged devices which makes it possible to let users buy there own devices.
I think that Unlisted app distribution is pretty new but will become more and more common when Apple now (2022) do not let companies with less than 100 employees renew their Apple Enterprise Developer Programs and force those companies to other distribution models.
Applivery allows you upload an app (Android & iOS) and distribute to employees or beta testing, without MDM or Google/Apple Store. They have a free trial...
I have been researching a lot about this issue, but I only get more and more confused...
Basically, what I need to do is to distribute a free ios app, but I don't want it to be available to everyone, but just to some of my customers (5 or 6 companies). I have been looking into the B2B option, but I have some questions:
The purchasing company must enroll in the Volume Purchase Program... will this be free for them?
Can I distribute the same app to more than one company?
How exactly can I perfom the distribution? Can I just publish my .ipa through one of my servers? Or do I need to go with a MDM? I have read that it is actually the purchasing company who has to get and manage the MDM?
According to Apple : "Even though custom B2B apps can be free, you must have a Paid Applications contract for your app to be visible on the Custom B2B App Store."... what does that mean?
Maybe there is another better option for me than the B2B program?
Sorry for asking so many questions, and many thanks in advance!!
María.
When distributing an iOS app b2b:
any buyer must be enrolled in the Volume Purchase Program (this is free).
you must specifically allow all buyers (there can be more than one) to purchase by specifying their Apple ID in iTunes connect.
the buyer pays whatever price you specify for the app on a per install basis and Apple takes their 30% cut. This can specify a price of zero.
distribution is entirely Apple-hosted but the app is not visible in the public app store.
The Paid Applications Contract is an agreement between you and Apple that you must enter into before using B2B distribution. Steps to make the agreement are here - http://www.pressmatrix.de/product-blog/apple-developer-itunes-connect-guide/
Note that b2b apps MUST go through Apple review process.
The only other option I see is to require your clients to enroll in the iOS Developer Enterprise program (cost of $300 per year) and then allow you to sign the app with their certificates for distribution to their employees using "over the air" installation, config utils, or an MDM.
It sounds as though you might want the iOS Developer Enterprise program.
This enables you to distribute apps ad hoc, however you might want to check whether that means to one organisation or to multiple as I'm unsure.
Comparison of the iOS developer programs
The app that I am trying to submit is for a field sales system that is already running on Android devices, and which we are now trying to make available to Apple users. It is a cloud based application, and users synchronize data stored on their devices with data stored on a web server. The application is sold to companies rather than individuals. Each company has many users, all of whom synchronize with the same database on the server.
We maintain our own web server and provide a hosting service, and companies can also host their own servers:
For the hosting service, companies pay a monthly or annual fee, which depends on the number of users they have.
For companies that prefer to host their own servers, the app is licensed by device. Companies pay registration and upgrade fees for each device, and each user has to enter a registration key.
I understand that we are not allowed to mention the Android platform anywhere in our app. I also understand that we have to allow all subscriptions, registrations and upgrades to be paid through in-app purchases. But I have a number of questions:
I am happy for us to offer only a limited service to Apple customers, if it makes it easier for the app to be accepted. Would Apple be happy with this arrangement?
Most companies prefer to have just one administrator for their whole system, and to have him make all the purchasing arrangements. Is Apple OK with this?
Is it possible to make multiple in-app purchases of a single product (e.g. purchase 50 licenses)?
Is the use of registration keys an issue?
1) I think that as long as your clients are aware that the iOS flavour of your app/service was limited in some manner (tell them the rest is work in progress) then I cannot foresee any issue with this. You may still consider ringing Apple Developer Support and run it past them, but your chances of getting a non-vague answer from them directly are still high - they'll probably say it depends on the reviewer when you go to submit the app.
2) Sounds fine, and not uncommon in the enterprise app world. See 3) for more details.
3) You can utilise the VPP (Volume Purchase Program) to achieve this, but it's only available in the US at time of writing. See the link below for further information:
http://www.apple.com/business/vpp/
I think that another way you could consider app distribution and which would let you bypass Apple (to a degree) is to sign up for an enterprise developers' account. This will let you build the usual development & distribution builds of your app, but a distribution build can take two forms: limited to devices by their UDID (100 limit still in effect) or not at all. If the latter, you could self-host the generated .ipa app file, which is perfectly viable.
4) Registration keys for the app? (to unlock "premium" content or as the method of app activation?)
Hope this was of some help, best of luck!
We are developing an enterprise application and I looked at the following options:
1. Putting on itunes.
Cannot do this since our application is to be used only by our clients with a login and passwrod.
You cannot have login based app in itunes:
http://appreview.tumblr.com/post/952395621/cannot-be-intended-for-a-limited-audience
2. Using iOS Developer Enterprise
Cannot do this as :
The iOS Developer Enterprise Program should be used to develop and distribute proprietary in-house applications to your own employees within your own company. As such, your company would not qualify for direct Program enrollment in this situation. We would suggest that your client apply for enrollment in the Program, and, once enrolled in the Program, your client may add the appropriate developers from your company to their iOS Development Team.
Our client cannot add us.
3. Adhoc distribution.
This is only for 100 beta testers.
So are there any other options if I want our client to donwload our app.
Provide some minimal functionality to all users that does not require any proprietary data, but have the app download all proprietary data and enable proprietary features only after your enterprise customer logs in. Then submit it to the App store.
There are plenty of examples in the app store. Banking apps: they might advertise the bank, have maps to the nearest branch, perhaps include a calculator of some sort, but of course don't allow any actual banking features or download any account information until after a customer logs in. Security apps: provide a public weather web cam view to everybody, but a security cam view only to people who buy their expensive $100K security camera system.
The example private golf course app could have included public information on the club, the current weather, map info on local restaurants, and maybe who to contact to apply for the $10M membership, but then added private club info (calendar, roster) only to paid members after log in.
Make sure to create a test account with dummy (non-proprietary) data and give it to Apple.
You can absolutely have a login based app. I have helped someone submit one that got approved that sounds very similar to the one you are describing. Also, think about the Netflix app for example, login based, limited to Netflix users (although this is probably not as limited as you are talking about).
Your solution is clearly "Using iOS Developer Enterprise"...
Can you be more explicit about the "Our client cannot add us." ?
You can get your client to sign up to the iOS enterprise agreement so that they can install it on their phones, and you are simply a team member for them. That also shifts the liability for the app onto them, should anything go wrong.
An already running Website which has a medium number of paying users (the customers pay 10$ per month for the account) asked me if I am willing to program an iphone app which helps extending the functionality of the website.
They most probably want to give the application away for free - they think, that the iphone app will be a strong argument to get more customers willing to pay the monthly fee for the web-account.
In the Android-Marketplace it is quite clear pointed out, that you are not allowed to earn money other then the price for the app.
android developer distribution agreement:
"4.5 Non-Compete. You may not use the Market to distribute or make available any Product whose primary purpose is to facilitate the distribution of Products outside of the Market."
In the Microsoft App Store there are quite similar terms. But you cannot find a license agreement for the iphone app store where it is not allowed to give away free apps which are able to connect to paid websites.
There are some blogs out there where you can find rejection criterias for the iphone:
http://10base-t.com/unofficial-appstore-rejection-criteria/
I also read the 'iphone developer program license agreement', but still it is not clear to me.
The kindle for iphone is a quite similar example to the above mentioned situation, this app is approved, but I think that amazon is paying a not disclosed amount of money to apple. I'm not convinced that our application will get approved.
Are there any terms and conditions which I didn't read.
Thanks in advance,
Tom
The "non-compete" clause means that you cannot post an "android market" to the market, thus distributing apps and competing with Google directly.
On top of the agreement it says that "Products" (capital P) refers to "Software, content and digital materials created for Devices in accordance with the Android SDK and distributed via the Market.".
In other words, Android apps.
Translation: "4.5 Non-Compete. You may not use the Market to distribute or make available any Android Application whose primary purpose is to facilitate the distribution of Android Applications outside of the Market."
This means that "yes", you are able to use a paid service outside of the Android Market with your Android app distributed through the Android Market. Otherwise, I couldn't use my paid Skype account with my copy of the free Skype app on the iPhone - nor on Android (does it even exist?)
The Wall Street Journal app is free, but you have to pay them for most content. As far as I know, it's not an in-App purchase, either.
There are lots of examples of free apps that only work with external paid-for services. The prime example on my iPhone is the Spotify player.
My impression is that you will be OK if the app is a free download. What they are likely to object to is a paid-for app that requires additional payment through a non-appstore mechanism to be used. Apple are concerned about the ripped-off feeling people get if they pay for something that they then can't use without additional payment. If the app is free then the user can just delete it (although they'll probably leave you a shitty review if the Spotify app is any measure).
Bear in mind that you will have to provide Apple with an account on your external system set up for testing during the approval process.