I am currently using MDM on a mobile application (React Native/Expo Build) I have a scenario that I would like discussed:
Preface:
Some of the Firms that use our application have an MDM platform (Intune, Mobile Iron, Airwatch) and others do not.
Therefore we will have two application package:
Public users that do not MDM software can simply download application from IOS or Android App store
A wrapped application version for those firms that use MDM Software
FirmA has Intune applied and the wrapped version of our app
User at FirmA decided to go on to the public IOS/GooglePlay store and download application
I need a way to stop this user at FirmA from using the public version of the app and restrict them to ONLY USE the MDM build of application.
Is this possible?
Does this need to be applied on the MDM side or application side?
You can use different application IDs for different builds. Then, you can restrict the public build on the MDM side and allow only MDM build.
So any application downloaded from the google play store is signed by google and can only allowed to install on the device if the previous version has been also installed from the play store application as the signature of both needs to matched.
If you can supply your APP to the FirmA by just signing with your keys, then user cannot upgrade their App from the play store unless you provide them updated version locally signed by you.
Alternatively you can also think of have two different versions. The one you supply to FirmA is way higher version than the updated one on the play store. So your application running on their devices with higher number will never allowed to any application installed from the play store.
Related
Today we have an app in applestore with a version labeled as 7.6.2 and internal build number as 1.0.0. We are using mobilefirst 7.1 to develop. Problem is that now we have a new app, that is 7.6.2.1, but we would like to know if is possible continue to use 7.6.2 app from applestore onto 7.6.2.1 mobilefirst app (asking it because we would like to keep our customers using just a single app from applestore). We also have an app on google play and would like to apply same idea.
Maybe this is an edge case, so do we have a way to control this directupdate by ourselves?
Customization of direct update is limited to the UI and options when you receive a direct update push.
As for version management, if both versions 7.6.2 and 7.6.2.1 are deployed in the MFP server, end users can have these versions deployed on their devices. Direct update or other configurations can be separately configured for these different versions.
However, if an end user is on v 7.6.2 and they take an update from AppStore or Playstore, and the version on the device becomes v7.6.2.1, this updated application on the device will start connecting to only v7.6.2.1 in the server. And only direct updates this version on the device ( 7.6.2.1) will receive are the ones uploaded to 7.6.2.1 in the server.
Direct update feature is meant only to push small web resources changes into your application. If the MFP Application Version numbers for both app versions(i.e 7.6.2 and 7.6.2.1) are different, you can continue to use both the versions and push direct update indvidually based on version number.
I'm developing a windows phone application. I have a version of my app in windows store. I know how to find the version of package I'm developing, but i want to find programmatically the version of my app in windows store,so i can compare and if the version store is bigger than the version of app user has, i want to make a notification and tell him that a newer version is available.
Thanks in advance!
Beginning with WP8 you can query the Store using windows.applicationmodel.store.listinginformation but sadly this does not include the version.
There is no public Windows Store API that provides this info. So you'd have to either scrape the info yourself or connect to a 3rd party API that provides alreasy scraped data. Solutions outlined here: windows store api to access metro and phone apps information
Wait but why?
If you only need to provide your app the latest version code, just store it in a JSON file hosted on your backend, or alternatively, if you're feeling fancy, create a dedicated webapp that checks for updates.
I am testing WSO2-Emm system for managing our android mobile app. We have an app for taxi drivers. We deploy it using our tablets and a single gmail account. Our problem is that google allows up to 10 signed in devices for a single google account.
I have tried to load the apk to the WSO2 store. The problem is that when I want to upload a new version of the same app I get a warning message saying that this APK already exists in the store. When I try to rename it and add it as a new apk it works. The problem is that when I go to App-Management, the application appears under 'installed'. The Emm system doesn't detect there is a new version.
To be more specific, my question is is there a way to manage mobile application versions using the WSO2 store and not the google play store.
If there is a way we can go on with this system. If not, we will stop testing it.
The only way I've figured out how update an already installed app is by going to the App Management tab, selecting your latest version of the app in question, and hitting the install button under the Roles tab (NOT the Users tab). It will send the install command to any devices listed under roles you have checked, even if they already have the app installed. Keep in mind this will install the app on all the devices, even devices that already have the version you're trying to put out.
It looks like you already know about the patch on EMM-686 that must be implemented in order to upload multiple versions of the same app to the Publisher. Just in case you want to confirm it's implemented correctly, see my answer here for instructions on how to implement it.
I'm new to windows phone, and I don't have a real device to test on.
I know that one can install .XAP files from SD card.. but does this process reqires internet access to check that the app is on the store or I just installs it as in Android?
Thanks in advance
You can debug your app on your physical device in Visual Studio. Your device has to be connected via usb cabel to your computer and has to be developer unlocked. You can developer unlock your phone with the Windows Phone Developer Registration Tool, which is a part of the Windows Phone SDK. You can find more information about the process here.
No, you cannot install the xap package on other people devices until unless their phones are not developer unlocked. When you build a .xap package in Release mode, you need to first upload it to Store where the Microsoft team checks package for security concerns. Once that has been checked, package verified, then the packages can be installed, basically uploading the app.
To debug the app, its better to unlock your friend's phone and then test it on it. After that if you wish you can also un-register the phone to revert back to original developer locked mode.
There is one more method which I use when my app is completed but do not wish to release the app on store, but instead, I wish that first these apps be used by my friends first, they give feedback and after that I finally submit the app on Store.
To do this, I submit the app in private visibility on Store. There is an option while submitting the app which indicates whether you want that other users can see your app on phone. I mark it Hidden. Once my app is verified and is on store, I download the app from store by going to the appropriate link of app on store which is given in app profile at dev-center. I choose 'Download and Install Manually' option to download the xap. This xap can be installed on other devices without unlocking their device.
With Direct Update, the mobile application can be automatically update with a new version of the web resources. In order to update the native resource, a new version of application must be uploaded to application store.
Consider the case that I have an update for my Worklight app with both native and web resources code update which has already been in application store.
Questions:
Is the following a correct way to update the app?
Step 1. Package the app in .ipa / .apk (with native + web code) and submit to application store
Step 2. Deploy an updated .wlapp file (with web code) to Worklight Server.
In application store, I can specify the application version when uploading the application. Will the application version be incremented automatically once I deploy the .wlapp to Worklight Server?
If the user does not update his application in application store and open the application, since there is a new web resource update in Worklight Server, it means that there will be a direct update alert box to prompt the user to download the latest application and in this case only web resource will be downloaded. There are some problems when the native code and web code are correlated?
Thanks a lot.
This would essentially be the correct order of steps, yes.
However, since you say you're updating both the native and web resources, I would make sure that the existing app can work with just the web resources update (without updating the native), because once deploying the .wlapp to the Worklight Server, existing users will receive a Direct Update.
If this scenario is not one you want to support, then in application-descriptor.xml you should also up the value of the version=" " attribute in the environment's element. When building the app after doing so, this will create a new .wlapp (for example: myProjectNameMyAppName-1.1.wlapp instead of ...-1.0.wlapp).
This means that the existing 1.0 users will not receive any Direct Updates, unless you deploy an updated ...-1.0.wlapp to the Worklight Server.
In relation to the above, no, the application version is not incremented automatically, it is something you need to control manually.
Also, I don't think the version value is something you control in the application store interface...
IFAIK the application version is changeable in Xcode prior to creating the .ipa for iOS and in AndroidManifest.xml prior to generating the .apk for Android (and in similar fashion for other environments).
EDIT: Actually... I think that changing the version value in application-descriptor.xml will also up the application's version number. Need to look at the end result (in AndroidManifest.xml or the Xcode project, in Xcode).
This would really depend on the behavior of your application and how resilient you've written it to be in the face of updates. I have slightly covered this in #1 above.
Other than talking about it theoretically I would suggest taking the jump actually upload an app to an application store, and test it privately, of course. This would be the most convenient to do using Google Play where publishing an app is near-instant.