简体   繁体   中英

Download iOS and Android APPs from my website?

Lets say I have built an APP using HTML5 and phonegap.

this app is an internal APP so no APP store required and apple and android won't even know this app exists!

so only the company's Staff will be able to download the app and use it.

My question is that, is it possible to allow the Staff to download the app from my website by simply giving them a URL ?

So far, everything I found mentions enterprise certificate but I don't want to use any certificates and I don't even want to use Apple or Android as this is an internal APP.

Any help would be appreciated.

Internal or not, IOS apps are distributed via Apple iTunes or a locally hosted enterprise digital rights management system. The reasons for this are to control the quality of apps that get installed, as well as to control the flow of money. Yes, I know...it's a free internal app, but controlling the flow of information is worth billions to Apple.

Here's the basic steps: 1. Your company signs up for a volume purchase account (to id the company as a single org) 2. You build and publish the app on iTunes and specify it is a B2B app, and list who can "buy" it. 3. Your company "purchases" the app, which then allows devices associated with the VPA to install it.

More information here: http://www.apple.com/business/vpp/

Google has a similar method called private channels for android apps. http://www.techrepublic.com/blog/google-in-the-enterprise/deploy-private-android-apps-on-google-play/

The alternative to these methods is posting the app on a file server somewhere with instructions on how to side-load the app like a developer would do for testing. I don't recommend this because updates would be a pain.

Lastly, if you don't need to run the app offline or need native only features like the camera, you can always look to publish the app on a internal web server instead...and have users "bookmark" the url (which makes it run full screen when launched).

To open a URL using an android device you need to pass the internet Intent .

Example:

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("YOUR URL"));
startActivity(browserIntent);

iOS

On iOS this is definetely not possible without getting involved as an Apple Developer and purchasing a developer license which is $99 per year.

Apple takes great care of security by requiring any app that is installed on a real iOS device, be it in DEBUG mode dircetly from Xcode or PRODUCTIVE mode through an Ad Hoc or App Store installation, to be signed with a Provisioning Profile that is associated with a valid developer license. So, there is no way around this procedure. You can then decide whether you want to distribute the App through Apple's App Store or as you said use Enterprise distribution. But even for that you are required to enroll in the developer program.

Android

For Android on the other hand, this is possible just by providing the APK that users will be able to download and install by themselves.

For iOS you have to use the iOS Developer Enterprise Program

https://developer.apple.com/programs/ios/enterprise/

When you use the Developer Enterprise Program, you can host your .ipa on your enterprise server and provide your employees a download link (the link is to a .plist that contains the info of the .ipa. not to the .ipa, something like <a href="itms-services://?action=download-manifest&url=http://www.yourserver.com/yourapp.plist">Download</a> )

For android, you can just upload the .apk and provide a download link, but the employees will need to go to Settings -> Security -> check Unknow origins

iOS

You do not need to submit the app. Or even validate it when using your own over the air distribution. Some of our worldwide clients have users in areas that aren't or weren't eligible for the VPP program(Mexico for instance not that long ago). Trust me Apple will know the app exists. You need to be in the Enterprise Developer program. You still need to sign and provision as an enterprise developer. You don't get the app store smart update service. You manage that. And most important, if you modify the provisioning profile or certificates associated with the bundle ID or they expire, the app stops working on all devices where it is installed. This is a big difference from submitted approved apps which are on iTunes Connect. And as of Xcode 6 you must also use an explicit App ID. No wildcards. see my answer here: 0 Entitlements when Exporting App for Enterprise Distribution

You can serve the .ipa file with a .plist file as mentioned in another answer.

<a href="itms-services://?action=download-manifest&url=https://www.yourserver.com/yourapp.plist">Download</a>

Notice the https , it has to be SSL though. You can use dropbox to handle this if you need, as described here: Enterprise app deployment doesn't work on iOS 7.1 Xcode 5 generates this .plist file but Xcode 6 will no longer create the .plist for you. You can use this template. https://gist.github.com/alexcristea/4d922de3d416910dc847 if I think of any other caveats from over the years Ill update(or if they change anything else without telling us)

Enterprise App distribution

Android

Very straight forward. Link right to the .apk file on a server. Users can click the link from the device in email or a website etc. And or use a QR code that uses that link they can just scan. Tell your users how to enable security something like amazon describes it to their users here: http://www.amazon.com/gp/help/customer/display.html?nodeId=201482620 I do nothing more than that.

Carpe Diem

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM