How to install private apps using Android Management API? - google-colaboratory

I have made the application available to the organization in Google Play Store.
I am using Android Management API to install the application in the device. The public apps are getting installed but the private app is not getting installed.
I am getting the following nonComplianceDetails when calling https://androidmanagement.googleapis.com/v1/{parent=enterprises/*}/devices API
"nonComplianceDetails": [
{
"settingName": "applications",
"nonComplianceReason": "APP_NOT_INSTALLED",
"packageName": "com.xyz.abc",
"installationFailureReason": "IN_PROGRESS"
},
{
"settingName": "persistentPreferredActivities",
"nonComplianceReason": "APP_NOT_INSTALLED",
"packageName": "com.xyz.abc"
}
]
Am I missing something in the policy?
I am not able to view the app in the device play store. App is not getting installed also. And when I am giving installType as KIOSK a page is comming which shows 'Installing work apps'. And never gets installed. Also the app is approved in managed Play Store Enterprise.

Make sure that your private app is distributed properly to your enterprise. You can check this link on how to properly distribute your private app to an enterprise.
The non-compliance indicates that the installation is still in progress. This app could take a while to install depending on the size of the app and network connection speed.

Related

Upload pre-installed app to playstore shows error

While uploading app on Google playstore, we are getting below error.
You need to use a different package name because [pkg_name] is used by
a pre-installed application. To upload a pre-installed application,
please contact Google Play Developer Support.
I am sure that mentioned pkg name is unique, however we have pre-installed this app in some of devices. Now how to upload it to Play console ?
I got this solved by using contact support team of Google, They then contacted carrier/preload team to allow package.
Sometimes if you preload app first and then publish app on Playstore, Google play will block the package and confirm your identity from pre-load team before allowing you to publish.
So it is advised to put package in store first & then pre-load to avoid such long process. (You can limit discovery via multiple ways).
Source - https://medium.com/#shashank.mishra_62841/complete-guide-in-app-update-for-android-apps-google-playstore-1b8f2946fa7a

How does MDM restrict access to the public version of application?

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.

wso2 emm apk version management using the WSO2 store

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.

React native, do I need to send updates through app store?

Title pretty much explains it. Does it render JS from an external codebase so I can simply push new updates through git, or do I need to actually push the changes through App Store?
This is my previous answer, which is getting downvoted into oblivion because it didn't predict something cool like CodePush coming to React Native :)
React Native compiles to an iOS binary. Updates need to be sent to the
App Store, unless you're simply using React Native for its WebView
and rendering an existing webpage on the client.
Updated 6/2/16
It looks like Microsoft has a sweet plugin for CodePush found here that lets you push changes remotely to your React Native app without having to send the update through the App Store.
Here's a quote from the README docs:
NOTE: While Apple's developer agreement fully allows performing
over-the-air updates of JavaScript and assets (which is what enables
CodePush!), it is against their policy for an app to display an update
prompt. Because of this, we recommend that App Store-distributed apps
don't enable the updateDialog option when calling sync, whereas Google
Play and internally distributed apps (e.g. Enterprise, Fabric,
HockeyApp) can choose to enable/customize it.
I'm actually working on a project (with the React Native Playground team - https://rnplay.org/about) that will allow you do live update your apps JS on the fly without submitting an update to the App Store. It's called Reploy, http://reploy.io
We will be open-sourcing the first portion of it very soon (the updater module). There will also be a service that will help you to manage your updates and even deploy your app to TestFlight and the App Store when needed (App Store updates are still needed when adding a new native module or static assets).
Also, just so you know, Apple has allowed this type of auto-updating via item 3.3.2 in the "iOS Developer Program Requirements" document, it says:
3.3.2 An Application may not download or install executable code. Interpreted
code may only be used in an Application if all scripts, code and interpreters are
packaged in the Application and not downloaded. The only exception to the
foregoing is scripts and code downloaded and run by Apple's built-in WebKit
framework or JavascriptCore, provided that such scripts and code do not change
the primary purpose of the Application by providing features or functionality that are
inconsistent with the intended and advertised purpose of the Application as
submitted to the App Store.
https://developer.apple.com/programs/ios/information/iOS_Program_Information_4_3_15.pdf
You could push an update to a remote user if you had linked to an external bundle and had the IP / correct ports forwarded, however Apple do not allow this for released AppStore apps.
For beta testing remote apps you might want to try exponent http://exp.host/
Update---
For completeness, it should be noted that if you are part of the Apple Enterprise program you do not need to publish Apps to the AppStore at all, you can post them to end users via a download link.
I work on a project called AppHub that lets you update JavaScript and images without re-submitting to the App Store. The iOS SDK will be open source, but for now you can use the hosted service to manage new builds of your app.

Can I install my own Windows Phone App on a real device without uploading the app to Store?

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.