Android App Bundle - Is it possible to have a pricing policy by features - android-app-bundle

About the new app publishing format (App Bundle), it is said that:
With Dynamic Delivery, users can download and install dynamic features when they’re needed.
But is it possible to set a price to one of those dynamic features and so not allowing everyone to download it? I do not see anything about pricing policy in the official documentation.
Thanks.

Dynamic modules and in-app purchases are two distinct features that can be combined together, yes.
You can guard the code that downloads the feature (and also the one that executes it) behind the purchase of an in-app product.

Related

Manage free version and paid version in Flutter

What is the best way to manage free version and paid version using Flutter?
What I have checked
One dirty way is having two almost identical projects, and building one as a free version and the other as a paid version.
Another way is implementing differences between versions as features after in-app purchase. (I might go with this if there is no better way.)
I found info for Android and for iOS (which are the ones written above), but does Flutter provide a better way?
Environment
1.12.13+hotfix.9
Dart 2.7.2
Two ways to do this:
Implement in-app-purchases with a non-consumable (if you want to
unlock premium features 'forever')
Create a subscription that a user
purchases to unlock premium features (potentially combined with
a free trial period) for a period of time
Anything else is likely to get blocked by the App Store and Play Store review process.

iOS enterprise distribution MDM vs OTA

We have to deploy an enterprise ios app to employees. I came across multiple ways of doing it (http://www.apple.com/business/accelerator/deploy/app-distribution.html).
Either the MDM or the Over the Air(set up your own server for distribution) suits our need. We have to choose between these two.
I would like to know .....
What are the best MDM tools for distributing an ios enterprise app.
What are the advantages of using MDM tools over direct OTA
Thank you
A lot of this depends on the number of devices you plan on deploying to as well as whether or not you want some sort of "control" over your devices. If you could care less about harvesting the status of each device (offline, online, compliant, etc) in your fleet or controlling security settings, email settings, etc I would say skip MDM altogether. You could easily just setup a landing page (ala an App Store) via HTML, CSS, JS, etc and just have your users hit it to consume the app.
As eluded to above if you DO want to do things like see what devices are online/offline, push specific security rules to them, setup Exchange accounts, remote wipe devices, etc then definitely run with an MDM.
The answer really depends on your environment, what you wish to accomplish and how long you have before your deadline.
Regarding the "tools" everyone is playing by the same set of MDM rules set forth by Apple - the meat of the solution depends solely on how the MDM provider implemented the MDM capabilities. I'd recommend looking into AirWatch or MobileIron but understand that both typically take some spin-up time. If you need a quick solution try one of their SAAS models.
What are the best MDM tools for distributing an ios enterprise app?
Different persons have different thoughts and expectations about MDM. So, "best MDM tools" are different for different users.
I recommend you to refer any online articles (beware, there are paid ones among them) or feature comparison charts like:
Enterprise iOS (seems to be down these days) or
MDM Community
Find the one that best suits you and ask for a demo version. Most of them have a 30-day full feature demo, while some have a 14-day or 15-day demo.
What are the advantages of using MDM tools over direct OTA?
If there are more devices to which apps are to be installed, then I recommend using an MDM software because you can bulk push app to devices with MDM.
Take a look at this list.
OTA is easy to set up but difficult to 'manage'. If you need to do any kind of version control or asset management MDM is your best bet. The alternative is to add this via code in the app itself.

Uploading same application for different company

I am developing an application that is for common use like shopkeeper inventory entry system.
Now i want that i can use this application for different company with only logo and theme change.
Is it possible to upload this type of application (with same functionality) for different company with different apple enrollment membership.
Thanks
As far as companies don't have problem.. apple won't mind... they're not going to check whether it already exists or not...
You will need a different app id, and therefore bundle id, for each version of the app. This is no matter how it is distributed, apart from source code. You should also look into the business-to-business licensing options; I don't know if there are available yet.
TL;DR: yes.
The Business-To-Business licensing is only available in the US, AFAIK.
You could also only put one app on the App Store, and make the theme and logo importable via an URL or text import.

Download additioanal functionality into an app - is it possible?

I'm currently developing an iPhone version of existing Android application.
Customer wants to provide his web services via mobile apps. On Android this is made in a modular way: user installs main app, and then he can download additional modules to it if needed. That way he can install only modules that he needs.
Is there a way to achieve same functionality on iPhone? I read about In-App Purchasing, but I don't know if it will work because additional functionality will not be built-in and unlocked - it needs to be downloaded and added to my app as a new module - so user's space would not be wasted with unneeded modules.
Thank you!
2.7 Apps that download code in any way or form will be rejected
From App Store Review Guidelines
Judging by the question, this is not a world-facing app - it has a specific customer. With Terente's answer in mind, do consider side-loading, AKA in-house distribution. That is - bypass the app store. The prohibition on the downloadable code is an App Store policy, not a limitation of the platform.
The enterprise contract with Apple is $300/year instead of regular $100/year. But you get to install your app on as many devices as you wish, completely bypassing the App Store. Either over the air (by browsing from the phone) or via iTunes.
Under this model, your app can download, store and run custom code all you want. The specifics of the plug-in model are up for you and your customer.
EDIT: so app store is a must. How about this: have a WebView in the project, have it download HTML pages with JavaScript in them, have code hooks for JavaScript to call. To the best of my knowledge, AppStore does not reject apps that display Web pages from the Net, and if the Web page happens to have a script, there's no prohibition on executing that script.
This violates the spirit of the rule while relying on letter and precedent. Technically speaking, JavaScript IS code. And again, technically speaking, WebView is capable of downloading and running it. And App Store is choke full of apps with WebView in them.
How will this fly with your customers, who knows.

Private iPhone apps?

I am interested in writing apps that connect to the intranet or an extranet. In other words, I would like to make private apps for my clients, but I don't want everybody able to access it and be able to download it. Do you know if there is a way to distribute enterprise apps only to a certain people? Does Android do the same thing?
The iPhone Enterprise Developer Program is targeting exactly this scenario. It allows building and distributing apps outside of the AppStore. It does cost $299 instead of $99, however; and it's available for companies with 500+ employees and Dun&Bradstreet number only. If you are small shop working for big clients, you might want to talk with them enorolling in that program so you can develop the app for them.
Update: As #lifeIsGood commented, it looks like Apple has lifted the 500+ employees requirement. At least it's not mentioned anywhere on the Enterprise Developer Program or the Choose an iOS Developer Program comparison page.
They have also added a Custom B2B Apps distribution mechanism, which seems to target the exact scenario the OP asked about.
The answer is.... sort of. You can create ad hoc distribution, but you are limited to 100 total devices in your list. So, 100 customers. Or, you can sign up for an enterprise license, but to do so your company must have 500 employees (there may be other restrictions there too).
[edit]
One suggestion might be to create your application as SaaS - and charge for the connection/data store
[/edit]
I've been looking into this too. I don't think there's a good way to do this with objective-c, but I do believe this can be done well with HTML5.
I'm reading this book http://building-iphone-apps.labs.oreilly.com/
The iPhone supports the web databases, offline apps, and with the webkit part you get icons so your app can look like a real iphone app and be distributed from a web site.
I don't know much about Android...
For Android, all you do is download the apk file to the phone. Then you go into Settings > Development and allow Non-market installs.