Search code examples
iosapple-push-notificationsmdm

MDM client - server communication


After reading and searching, apple MDM client - MDM server interaction seems to be:

  • When Server wants do sth on devices, it sends a notify to APNS (with device token & AppID for APNS to know which devices and application need to receive notification).
  • APNS send notify to provided app on provided device
  • when receive notify from APNS, Apple-MDM-client will connect to server, get command and do the command task on devices.

My questions are:

  • The application that registered for APNS is my application (MY_APP, not Apple-MDM-client). That means the one which receive notification is my MY_APP. Then how Apple-MDM-client know about the notification in order to connect to MDM server?
  • The solution can be: MY_APP receive notification, then connect to server, get command and push received commands to Apple-MDM-client, tell Apple-MDM-client do the task. If this approach is correct, how MY_APP can communicate to Apple-MDM-client?

There must be API for that purpose but I can not find it via google...


Solution

  • Please take a look at my answer for your original question: How does MDM in IOS really work?

    MDM is clientless protocol. Your MY_APP is not involved in MDM protocol.

    What happens is:

    • Your server send push notification using device token, topic and PushMagic.
    • This is a little bit unusual push notification, because you don't specify AppID (Check "Structure of MDM Messages" section in the MDM documentation
    • This push message goes directly built-in MDM client
    • MDM client will go and talk to server (to get new commands)

    As you can see your app isn't involved in MDM at all.