Forum Discussion

VKuts's avatar
VKuts
Level 1.6: Donut
2 months ago
Solved

MDM configuration became lost

A few years ago we added an MDM configuration to our app, according to the straightforward guide Setup managed configuration
Previous month we released a new 15.0.0 version of our app, IQ SmartApp Enterprise

Besides other changes, in this release we removed one option from the MDM configuration XML, a deprecated boolean parameter. Indeed the XML validity wasn't broken, no related changes in the app Manifest or so on.

However our customers started to complain, that app lost the ability to configure MDM parameters. Also, when adding the app to Approved list on MDM Solutions (we checked on HMD and TinyMDM), in the app details was lost a badge "Tis app offers managed configuration".

 

If download AAB and/or APK from Google Play Console and unpack them, or open them in Android Studio, the required Android Manifest parameter "android.content.APP_RESTRICTIONS" is present and pints to MDM XML config file which is also present in the AAB or APK. 

If check the APK, taken from Google Play Console, locally with TestDPC app, the managed configuration is also present.

Can you please help to understand, what's going on? As for me, removing one of the MDM parameter from the managed configuration config shouldn't be a reason of disappearing the whole managed configuration. Which is actually present in the AAB or APK builds.

  • Michael's avatar
    Michael
    2 months ago

    Hi VKuts​,

     

    Thank you for your patience while we have been investigating this issue.

     

    Our engineers believe this may be caused by a Wear OS variant of your app having a higher version number than your mobile variant in Google Play.

     

    By default Google Play removes MCM from non-mobile applications (Wear/TV). We are working on a way to prevent MCM from being removed from this specific app in the future and I will confirm back here when that has been completed.

     

    In the meantime if you publish your mobile app with a higher version than the Wear variant it will likely resolve this issue.

     

    Let me know if this helps.

10 Replies

  • jeremy's avatar
    jeremy
    Level 3.0: Honeycomb
    2 months ago

    This would be something to investigate on the Google Play side, but there is probably an issue with your managed configuration declaration, I would double check it to make sure it matches Google requirements

  • jeremy's avatar
    jeremy
    Level 3.0: Honeycomb
    2 months ago

    This would be something to investigate on the Google Play side, but there is probably an issue with your managed configuration declaration, I would double check it to make sure it matches Google requirements

    • VKuts's avatar
      VKuts
      Level 1.6: Donut
      2 months ago

      Hi Jeremy,
      Thanks to your attention to the issue.

      Sure, please do that check, I'm appreciate you.
      As I can get, there is a predefined tag in the app's Manifest, named  android.content.APP_RESTRICTIONS. Which must refer to the MDM config XML file, which format is clearly described in the Google guide. IMO it's enough to make a decision, whether an app has or hasn't the managed configuration.

      Our team already checked this probably ten times, but indeed another check would be great.

      I contacted the Google Play support. Unfortunately I got a bureaucratic answer. In short, asking their support was completely useless. 

  • Alex_Muc's avatar
    Alex_Muc
    Level 3.0: Honeycomb
    2 months ago

    I have looked at the manifest.xml and managed_configuration.xml of the app.

    In the manifest, android.content.APP_RESTRICTIONS is in the right place, references the XML and has no spelling or syntax errors.
    The syntax of the three configurations in the managed_configuration.xml also seems correct to me. Mandatory attributes such as key, title and restrictionType are defined for each restriction. I am not a developer, but based on the xml data I would say that it should work like this.

     

    The MGP link can be used to verify that the managed configuration is not recognized: https://play.google.com/work/apps/details?id=com.iqm.enterprise.smartapp

     

     

    Lizzie​  Can you take a look at this? It looks similar to the Gboard problem to me.

  • VKuts's avatar
    VKuts
    Level 1.6: Donut
    2 months ago

    Lizzie​ I will be very grateful to you, if you can take a look.
    I compared the app's manifest and managed config XML ten times.
    In the project sources and in the APK binaries, downloaded from the Google Play console.
    Nothing bad was found.

    The only difference between previous 14.2.1 and actual 15.0.0 releases, regarding to managed config, was removed one bool parameter. I can't believe that it was an origin of trouble. 


    Thank you in advance!

    • Emilie_B's avatar
      Emilie_B
      Google Community Manager
      2 months ago

      Hi VKuts​ 

       

      Lizzie​ is away this week but I'll see if I can find you some help in the meantime...

    • Michael's avatar
      Michael
      Google Community Manager
      2 months ago

      Hi VKuts​,

       

      Thank you for your patience while we have been investigating this issue.

       

      Our engineers believe this may be caused by a Wear OS variant of your app having a higher version number than your mobile variant in Google Play.

       

      By default Google Play removes MCM from non-mobile applications (Wear/TV). We are working on a way to prevent MCM from being removed from this specific app in the future and I will confirm back here when that has been completed.

       

      In the meantime if you publish your mobile app with a higher version than the Wear variant it will likely resolve this issue.

       

      Let me know if this helps.

      • VKuts's avatar
        VKuts
        Level 1.6: Donut
        2 months ago

        Hi Michael​ 

        Woooow, this could be true.

        Indeed, in the recent release the Wear companion app was included. Because it's a companion (non-standalone) wearable app, according to Google standalone-apps guide, it was made as variant.

        I followed the Google multiple-apks#VersionCodes guide, when modified the version numbers scheme. Of course, because the Android app is far more important, it got the version number 01, and the wear app got the number 02. Everything exactly as you pointed.

        In all these and related guides I haven't seen any notice or warning about MDM configurations. 

         

        I'll update the versions scheme in our upcoming hotfix, to be sure that Android app has the higher version number than it's wearable companion. Many thanks you for the possible solution. And sure, I will let you know.