1<html><body> 2<style> 3 4body, h1, h2, h3, div, span, p, pre, a { 5 margin: 0; 6 padding: 0; 7 border: 0; 8 font-weight: inherit; 9 font-style: inherit; 10 font-size: 100%; 11 font-family: inherit; 12 vertical-align: baseline; 13} 14 15body { 16 font-size: 13px; 17 padding: 1em; 18} 19 20h1 { 21 font-size: 26px; 22 margin-bottom: 1em; 23} 24 25h2 { 26 font-size: 24px; 27 margin-bottom: 1em; 28} 29 30h3 { 31 font-size: 20px; 32 margin-bottom: 1em; 33 margin-top: 1em; 34} 35 36pre, code { 37 line-height: 1.5; 38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; 39} 40 41pre { 42 margin-top: 0.5em; 43} 44 45h1, h2, h3, p { 46 font-family: Arial, sans serif; 47} 48 49h1, h2, h3 { 50 border-bottom: solid #CCC 1px; 51} 52 53.toc_element { 54 margin-top: 0.5em; 55} 56 57.firstline { 58 margin-left: 2 em; 59} 60 61.method { 62 margin-top: 1em; 63 border: solid 1px #CCC; 64 padding: 1em; 65 background: #EEE; 66} 67 68.details { 69 font-weight: bold; 70 font-size: 14px; 71} 72 73</style> 74 75<h1><a href="androidenterprise_v1.html">Google Play EMM API</a> . <a href="androidenterprise_v1.enterprises.html">enterprises</a></h1> 76<h2>Instance Methods</h2> 77<p class="toc_element"> 78 <code><a href="#acknowledgeNotificationSet">acknowledgeNotificationSet(notificationSetId=None)</a></code></p> 79<p class="firstline">Acknowledges notifications that were received from Enterprises.PullNotificationSet to prevent subsequent calls from returning the same notifications.</p> 80<p class="toc_element"> 81 <code><a href="#completeSignup">completeSignup(completionToken=None, enterpriseToken=None)</a></code></p> 82<p class="firstline">Completes the signup flow, by specifying the Completion token and Enterprise token. This request must not be called multiple times for a given Enterprise Token.</p> 83<p class="toc_element"> 84 <code><a href="#createWebToken">createWebToken(enterpriseId, body)</a></code></p> 85<p class="firstline">Returns a unique token to access an embeddable UI. To generate a web UI, pass the generated token into the managed Google Play javascript API. Each token may only be used to start one UI session. See the javascript API documentation for further information.</p> 86<p class="toc_element"> 87 <code><a href="#enroll">enroll(token, body)</a></code></p> 88<p class="firstline">Enrolls an enterprise with the calling EMM.</p> 89<p class="toc_element"> 90 <code><a href="#generateSignupUrl">generateSignupUrl(callbackUrl=None)</a></code></p> 91<p class="firstline">Generates a sign-up URL.</p> 92<p class="toc_element"> 93 <code><a href="#get">get(enterpriseId)</a></code></p> 94<p class="firstline">Retrieves the name and domain of an enterprise.</p> 95<p class="toc_element"> 96 <code><a href="#getServiceAccount">getServiceAccount(enterpriseId, keyType=None)</a></code></p> 97<p class="firstline">Returns a service account and credentials. The service account can be bound to the enterprise by calling setAccount. The service account is unique to this enterprise and EMM, and will be deleted if the enterprise is unbound. The credentials contain private key data and are not stored server-side.</p> 98<p class="toc_element"> 99 <code><a href="#getStoreLayout">getStoreLayout(enterpriseId)</a></code></p> 100<p class="firstline">Returns the store layout for the enterprise. If the store layout has not been set, returns "basic" as the store layout type and no homepage.</p> 101<p class="toc_element"> 102 <code><a href="#list">list(domain)</a></code></p> 103<p class="firstline">Looks up an enterprise by domain name. This is only supported for enterprises created via the Google-initiated creation flow. Lookup of the id is not needed for enterprises created via the EMM-initiated flow since the EMM learns the enterprise ID in the callback specified in the Enterprises.generateSignupUrl call.</p> 104<p class="toc_element"> 105 <code><a href="#pullNotificationSet">pullNotificationSet(requestMode=None)</a></code></p> 106<p class="firstline">Pulls and returns a notification set for the enterprises associated with the service account authenticated for the request. The notification set may be empty if no notification are pending.</p> 107<p class="toc_element"> 108 <code><a href="#sendTestPushNotification">sendTestPushNotification(enterpriseId)</a></code></p> 109<p class="firstline">Sends a test notification to validate the EMM integration with the Google Cloud Pub/Sub service for this enterprise.</p> 110<p class="toc_element"> 111 <code><a href="#setAccount">setAccount(enterpriseId, body)</a></code></p> 112<p class="firstline">Sets the account that will be used to authenticate to the API as the enterprise.</p> 113<p class="toc_element"> 114 <code><a href="#setStoreLayout">setStoreLayout(enterpriseId, body)</a></code></p> 115<p class="firstline">Sets the store layout for the enterprise. By default, storeLayoutType is set to "basic" and the basic store layout is enabled. The basic layout only contains apps approved by the admin, and that have been added to the available product set for a user (using the setAvailableProductSet call). Apps on the page are sorted in order of their product ID value. If you create a custom store layout (by setting storeLayoutType = "custom" and setting a homepage), the basic store layout is disabled.</p> 116<p class="toc_element"> 117 <code><a href="#unenroll">unenroll(enterpriseId)</a></code></p> 118<p class="firstline">Unenrolls an enterprise from the calling EMM.</p> 119<h3>Method Details</h3> 120<div class="method"> 121 <code class="details" id="acknowledgeNotificationSet">acknowledgeNotificationSet(notificationSetId=None)</code> 122 <pre>Acknowledges notifications that were received from Enterprises.PullNotificationSet to prevent subsequent calls from returning the same notifications. 123 124Args: 125 notificationSetId: string, The notification set ID as returned by Enterprises.PullNotificationSet. This must be provided. 126</pre> 127</div> 128 129<div class="method"> 130 <code class="details" id="completeSignup">completeSignup(completionToken=None, enterpriseToken=None)</code> 131 <pre>Completes the signup flow, by specifying the Completion token and Enterprise token. This request must not be called multiple times for a given Enterprise Token. 132 133Args: 134 completionToken: string, The Completion token initially returned by GenerateSignupUrl. 135 enterpriseToken: string, The Enterprise token appended to the Callback URL. 136 137Returns: 138 An object of the form: 139 140 { # An Enterprises resource represents the binding between an EMM and a specific organization. That binding can be instantiated in one of two different ways using this API as follows: 141 # - For Google managed domain customers, the process involves using Enterprises.enroll and Enterprises.setAccount (in conjunction with artifacts obtained from the Admin console and the Google API Console) and submitted to the EMM through a more-or-less manual process. 142 # - For managed Google Play Accounts customers, the process involves using Enterprises.generateSignupUrl and Enterprises.completeSignup in conjunction with the managed Google Play sign-up UI (Google-provided mechanism) to create the binding without manual steps. As an EMM, you can support either or both approaches in your EMM console. See Create an Enterprise for details. 143 "administrator": [ # Admins of the enterprise. This is only supported for enterprises created via the EMM-initiated flow. 144 { # This represents an enterprise admin who can manage the enterprise in the managed Google Play store. 145 "email": "A String", # The admin's email address. 146 }, 147 ], 148 "primaryDomain": "A String", # The enterprise's primary domain, such as "example.com". 149 "id": "A String", # The unique ID for the enterprise. 150 "kind": "androidenterprise#enterprise", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#enterprise". 151 "name": "A String", # The name of the enterprise, for example, "Example, Inc". 152 }</pre> 153</div> 154 155<div class="method"> 156 <code class="details" id="createWebToken">createWebToken(enterpriseId, body)</code> 157 <pre>Returns a unique token to access an embeddable UI. To generate a web UI, pass the generated token into the managed Google Play javascript API. Each token may only be used to start one UI session. See the javascript API documentation for further information. 158 159Args: 160 enterpriseId: string, The ID of the enterprise. (required) 161 body: object, The request body. (required) 162 The object takes the form of: 163 164{ # Specification for a token used to generate iframes. The token specifies what data the admin is allowed to modify and the URI the iframe is allowed to communiate with. 165 "storeBuilder": { # Options for displaying the Organize apps page. 166 "enabled": True or False, # Whether the Organize apps page is displayed. Default is true. 167 }, 168 "kind": "androidenterprise#administratorWebTokenSpec", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#administratorWebTokenSpec". 169 "playSearch": { # Options for displaying the managed Play Search apps page. 170 "approveApps": True or False, # Allow access to the iframe in approve mode. Default is false. 171 "enabled": True or False, # Whether the managed Play Search apps page is displayed. Default is true. 172 }, 173 "parent": "A String", # The URI of the parent frame hosting the iframe. To prevent XSS, the iframe may not be hosted at other URIs. This URI must be https. 174 "privateApps": { # Options for displaying the Private Apps page. 175 "enabled": True or False, # Whether the Private Apps page is displayed. Default is true. 176 }, 177 "permission": [ # Deprecated. Use PlaySearch.approveApps. 178 "A String", 179 ], 180 "webApps": { # Options for displaying the Web Apps page. 181 "enabled": True or False, # Whether the Web Apps page is displayed. Default is true. 182 }, 183 "managedConfigurations": { # Options for displaying the Managed Configuration page. 184 "enabled": True or False, # Whether the Managed Configuration page is displayed. Default is true. 185 }, 186 } 187 188 189Returns: 190 An object of the form: 191 192 { # A token authorizing an admin to access an iframe. 193 "kind": "androidenterprise#administratorWebToken", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#administratorWebToken". 194 "token": "A String", # An opaque token to be passed to the Play front-end to generate an iframe. 195 }</pre> 196</div> 197 198<div class="method"> 199 <code class="details" id="enroll">enroll(token, body)</code> 200 <pre>Enrolls an enterprise with the calling EMM. 201 202Args: 203 token: string, The token provided by the enterprise to register the EMM. (required) 204 body: object, The request body. (required) 205 The object takes the form of: 206 207{ # An Enterprises resource represents the binding between an EMM and a specific organization. That binding can be instantiated in one of two different ways using this API as follows: 208 # - For Google managed domain customers, the process involves using Enterprises.enroll and Enterprises.setAccount (in conjunction with artifacts obtained from the Admin console and the Google API Console) and submitted to the EMM through a more-or-less manual process. 209 # - For managed Google Play Accounts customers, the process involves using Enterprises.generateSignupUrl and Enterprises.completeSignup in conjunction with the managed Google Play sign-up UI (Google-provided mechanism) to create the binding without manual steps. As an EMM, you can support either or both approaches in your EMM console. See Create an Enterprise for details. 210 "administrator": [ # Admins of the enterprise. This is only supported for enterprises created via the EMM-initiated flow. 211 { # This represents an enterprise admin who can manage the enterprise in the managed Google Play store. 212 "email": "A String", # The admin's email address. 213 }, 214 ], 215 "primaryDomain": "A String", # The enterprise's primary domain, such as "example.com". 216 "id": "A String", # The unique ID for the enterprise. 217 "kind": "androidenterprise#enterprise", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#enterprise". 218 "name": "A String", # The name of the enterprise, for example, "Example, Inc". 219 } 220 221 222Returns: 223 An object of the form: 224 225 { # An Enterprises resource represents the binding between an EMM and a specific organization. That binding can be instantiated in one of two different ways using this API as follows: 226 # - For Google managed domain customers, the process involves using Enterprises.enroll and Enterprises.setAccount (in conjunction with artifacts obtained from the Admin console and the Google API Console) and submitted to the EMM through a more-or-less manual process. 227 # - For managed Google Play Accounts customers, the process involves using Enterprises.generateSignupUrl and Enterprises.completeSignup in conjunction with the managed Google Play sign-up UI (Google-provided mechanism) to create the binding without manual steps. As an EMM, you can support either or both approaches in your EMM console. See Create an Enterprise for details. 228 "administrator": [ # Admins of the enterprise. This is only supported for enterprises created via the EMM-initiated flow. 229 { # This represents an enterprise admin who can manage the enterprise in the managed Google Play store. 230 "email": "A String", # The admin's email address. 231 }, 232 ], 233 "primaryDomain": "A String", # The enterprise's primary domain, such as "example.com". 234 "id": "A String", # The unique ID for the enterprise. 235 "kind": "androidenterprise#enterprise", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#enterprise". 236 "name": "A String", # The name of the enterprise, for example, "Example, Inc". 237 }</pre> 238</div> 239 240<div class="method"> 241 <code class="details" id="generateSignupUrl">generateSignupUrl(callbackUrl=None)</code> 242 <pre>Generates a sign-up URL. 243 244Args: 245 callbackUrl: string, The callback URL to which the Admin will be redirected after successfully creating an enterprise. Before redirecting there the system will add a single query parameter to this URL named "enterpriseToken" which will contain an opaque token to be used for the CompleteSignup request. 246Beware that this means that the URL will be parsed, the parameter added and then a new URL formatted, i.e. there may be some minor formatting changes and, more importantly, the URL must be well-formed so that it can be parsed. 247 248Returns: 249 An object of the form: 250 251 { # A resource returned by the GenerateSignupUrl API, which contains the Signup URL and Completion Token. 252 "url": "A String", # A URL under which the Admin can sign up for an enterprise. The page pointed to cannot be rendered in an iframe. 253 "kind": "androidenterprise#signupInfo", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#signupInfo". 254 "completionToken": "A String", # An opaque token that will be required, along with the Enterprise Token, for obtaining the enterprise resource from CompleteSignup. 255 }</pre> 256</div> 257 258<div class="method"> 259 <code class="details" id="get">get(enterpriseId)</code> 260 <pre>Retrieves the name and domain of an enterprise. 261 262Args: 263 enterpriseId: string, The ID of the enterprise. (required) 264 265Returns: 266 An object of the form: 267 268 { # An Enterprises resource represents the binding between an EMM and a specific organization. That binding can be instantiated in one of two different ways using this API as follows: 269 # - For Google managed domain customers, the process involves using Enterprises.enroll and Enterprises.setAccount (in conjunction with artifacts obtained from the Admin console and the Google API Console) and submitted to the EMM through a more-or-less manual process. 270 # - For managed Google Play Accounts customers, the process involves using Enterprises.generateSignupUrl and Enterprises.completeSignup in conjunction with the managed Google Play sign-up UI (Google-provided mechanism) to create the binding without manual steps. As an EMM, you can support either or both approaches in your EMM console. See Create an Enterprise for details. 271 "administrator": [ # Admins of the enterprise. This is only supported for enterprises created via the EMM-initiated flow. 272 { # This represents an enterprise admin who can manage the enterprise in the managed Google Play store. 273 "email": "A String", # The admin's email address. 274 }, 275 ], 276 "primaryDomain": "A String", # The enterprise's primary domain, such as "example.com". 277 "id": "A String", # The unique ID for the enterprise. 278 "kind": "androidenterprise#enterprise", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#enterprise". 279 "name": "A String", # The name of the enterprise, for example, "Example, Inc". 280 }</pre> 281</div> 282 283<div class="method"> 284 <code class="details" id="getServiceAccount">getServiceAccount(enterpriseId, keyType=None)</code> 285 <pre>Returns a service account and credentials. The service account can be bound to the enterprise by calling setAccount. The service account is unique to this enterprise and EMM, and will be deleted if the enterprise is unbound. The credentials contain private key data and are not stored server-side. 286 287This method can only be called after calling Enterprises.Enroll or Enterprises.CompleteSignup, and before Enterprises.SetAccount; at other times it will return an error. 288 289Subsequent calls after the first will generate a new, unique set of credentials, and invalidate the previously generated credentials. 290 291Once the service account is bound to the enterprise, it can be managed using the serviceAccountKeys resource. 292 293Args: 294 enterpriseId: string, The ID of the enterprise. (required) 295 keyType: string, The type of credential to return with the service account. Required. 296 Allowed values 297 googleCredentials - 298 pkcs12 - 299 300Returns: 301 An object of the form: 302 303 { # A service account identity, including the name and credentials that can be used to authenticate as the service account. 304 "kind": "androidenterprise#serviceAccount", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#serviceAccount". 305 "name": "A String", # The account name of the service account, in the form of an email address. Assigned by the server. 306 "key": { # Credentials that can be used to authenticate as a service account. # Credentials that can be used to authenticate as this ServiceAccount. 307 "publicData": "A String", # Public key data for the credentials file. This is an X.509 cert. If you are using the googleCredentials key type, this is identical to the cert that can be retrieved by using the X.509 cert url inside of the credentials file. 308 "kind": "androidenterprise#serviceAccountKey", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#serviceAccountKey". 309 "data": "A String", # The body of the private key credentials file, in string format. This is only populated when the ServiceAccountKey is created, and is not stored by Google. 310 "id": "A String", # An opaque, unique identifier for this ServiceAccountKey. Assigned by the server. 311 "type": "A String", # The file format of the generated key data. 312 }, 313 }</pre> 314</div> 315 316<div class="method"> 317 <code class="details" id="getStoreLayout">getStoreLayout(enterpriseId)</code> 318 <pre>Returns the store layout for the enterprise. If the store layout has not been set, returns "basic" as the store layout type and no homepage. 319 320Args: 321 enterpriseId: string, The ID of the enterprise. (required) 322 323Returns: 324 An object of the form: 325 326 { # General setting for the managed Google Play store layout, currently only specifying the page to display the first time the store is opened. 327 "homepageId": "A String", # The ID of the store page to be used as the homepage. The homepage is the first page shown in the managed Google Play Store. 328 # 329 # Not specifying a homepage is equivalent to setting the store layout type to "basic". 330 "kind": "androidenterprise#storeLayout", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#storeLayout". 331 "storeLayoutType": "A String", # The store layout type. By default, this value is set to "basic" if the homepageId field is not set, and to "custom" otherwise. If set to "basic", the layout will consist of all approved apps that have been whitelisted for the user. 332 }</pre> 333</div> 334 335<div class="method"> 336 <code class="details" id="list">list(domain)</code> 337 <pre>Looks up an enterprise by domain name. This is only supported for enterprises created via the Google-initiated creation flow. Lookup of the id is not needed for enterprises created via the EMM-initiated flow since the EMM learns the enterprise ID in the callback specified in the Enterprises.generateSignupUrl call. 338 339Args: 340 domain: string, The exact primary domain name of the enterprise to look up. (required) 341 342Returns: 343 An object of the form: 344 345 { # The matching enterprise resources. 346 "kind": "androidenterprise#enterprisesListResponse", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#enterprisesListResponse". 347 "enterprise": [ # An enterprise. 348 { # An Enterprises resource represents the binding between an EMM and a specific organization. That binding can be instantiated in one of two different ways using this API as follows: 349 # - For Google managed domain customers, the process involves using Enterprises.enroll and Enterprises.setAccount (in conjunction with artifacts obtained from the Admin console and the Google API Console) and submitted to the EMM through a more-or-less manual process. 350 # - For managed Google Play Accounts customers, the process involves using Enterprises.generateSignupUrl and Enterprises.completeSignup in conjunction with the managed Google Play sign-up UI (Google-provided mechanism) to create the binding without manual steps. As an EMM, you can support either or both approaches in your EMM console. See Create an Enterprise for details. 351 "administrator": [ # Admins of the enterprise. This is only supported for enterprises created via the EMM-initiated flow. 352 { # This represents an enterprise admin who can manage the enterprise in the managed Google Play store. 353 "email": "A String", # The admin's email address. 354 }, 355 ], 356 "primaryDomain": "A String", # The enterprise's primary domain, such as "example.com". 357 "id": "A String", # The unique ID for the enterprise. 358 "kind": "androidenterprise#enterprise", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#enterprise". 359 "name": "A String", # The name of the enterprise, for example, "Example, Inc". 360 }, 361 ], 362 }</pre> 363</div> 364 365<div class="method"> 366 <code class="details" id="pullNotificationSet">pullNotificationSet(requestMode=None)</code> 367 <pre>Pulls and returns a notification set for the enterprises associated with the service account authenticated for the request. The notification set may be empty if no notification are pending. 368A notification set returned needs to be acknowledged within 20 seconds by calling Enterprises.AcknowledgeNotificationSet, unless the notification set is empty. 369Notifications that are not acknowledged within the 20 seconds will eventually be included again in the response to another PullNotificationSet request, and those that are never acknowledged will ultimately be deleted according to the Google Cloud Platform Pub/Sub system policy. 370Multiple requests might be performed concurrently to retrieve notifications, in which case the pending notifications (if any) will be split among each caller, if any are pending. 371If no notifications are present, an empty notification list is returned. Subsequent requests may return more notifications once they become available. 372 373Args: 374 requestMode: string, The request mode for pulling notifications. 375Specifying waitForNotifications will cause the request to block and wait until one or more notifications are present, or return an empty notification list if no notifications are present after some time. 376Speciying returnImmediately will cause the request to immediately return the pending notifications, or an empty list if no notifications are present. 377If omitted, defaults to waitForNotifications. 378 Allowed values 379 returnImmediately - 380 waitForNotifications - 381 382Returns: 383 An object of the form: 384 385 { # A resource returned by the PullNotificationSet API, which contains a collection of notifications for enterprises associated with the service account authenticated for the request. 386 "notification": [ # The notifications received, or empty if no notifications are present. 387 { # A notification of one event relating to an enterprise. 388 "appRestrictionsSchemaChangeEvent": { # An event generated when a new app version is uploaded to Google Play and its app restrictions schema changed. To fetch the app restrictions schema for an app, use Products.getAppRestrictionsSchema on the EMM API. # Notifications about new app restrictions schema changes. 389 "productId": "A String", # The id of the product (e.g. "app:com.google.android.gm") for which the app restriction schema changed. This field will always be present. 390 }, 391 "newPermissionsEvent": { # An event generated when new permissions are added to an app. # Notifications about new app permissions. 392 "approvedPermissions": [ # The set of permissions that the enterprise admin has already approved for this application. Use Permissions.Get on the EMM API to retrieve details about these permissions. 393 "A String", 394 ], 395 "requestedPermissions": [ # The set of permissions that the app is currently requesting. Use Permissions.Get on the EMM API to retrieve details about these permissions. 396 "A String", 397 ], 398 "productId": "A String", # The id of the product (e.g. "app:com.google.android.gm") for which new permissions were added. This field will always be present. 399 }, 400 "notificationType": "A String", # Type of the notification. 401 "deviceReportUpdateEvent": { # An event generated when an updated device report is available. # Notifications about device report updates. 402 "report": { # Device report updated with the latest app states for managed apps on the device. # The device report updated with the latest app states. This field will always be present. 403 "appState": [ # List of app states set by managed apps on the device. App states are defined by the app's developers. This field will always be present. 404 { # List of states set by the app. 405 "packageName": "A String", # The package name of the app. This field will always be present. 406 "keyedAppState": [ # List of keyed app states. This field will always be present. 407 { # Represents a keyed app state containing a key, timestamp, severity level, optional description, and optional data. 408 "message": "A String", # Free-form, human-readable message describing the app state. For example, an error message. To prevent XSS, we recommend removing any HTML from the message before displaying it. 409 "data": "A String", # Additional field intended for machine-readable data. For example, a number or JSON object. To prevent XSS, we recommend removing any HTML from the data before displaying it. 410 "severity": "A String", # Severity of the app state. This field will always be present. 411 "key": "A String", # Key indicating what the app is providing a state for. The content of the key is set by the app's developer. To prevent XSS, we recommend removing any HTML from the key before displaying it. This field will always be present. 412 "stateTimestampMillis": "A String", # Timestamp of when the app set the state in milliseconds since epoch. This field will always be present. 413 }, 414 ], 415 }, 416 ], 417 "lastUpdatedTimestampMillis": "A String", # The timestamp of the last report update in milliseconds since epoch. This field will always be present. 418 }, 419 "userId": "A String", # The ID of the user. This field will always be present. 420 "deviceId": "A String", # The Android ID of the device. This field will always be present. 421 }, 422 "productApprovalEvent": { # An event generated when a product's approval status is changed. # Notifications about changes to a product's approval status. 423 "approved": "A String", # Whether the product was approved or unapproved. This field will always be present. 424 "productId": "A String", # The id of the product (e.g. "app:com.google.android.gm") for which the approval status has changed. This field will always be present. 425 }, 426 "enterpriseId": "A String", # The ID of the enterprise for which the notification is sent. This will always be present. 427 "productAvailabilityChangeEvent": { # An event generated whenever a product's availability changes. # Notifications about product availability changes. 428 "availabilityStatus": "A String", # The new state of the product. This field will always be present. 429 "productId": "A String", # The id of the product (e.g. "app:com.google.android.gm") for which the product availability changed. This field will always be present. 430 }, 431 "newDeviceEvent": { # An event generated when a new device is ready to be managed. # Notifications about new devices. 432 "userId": "A String", # The ID of the user. This field will always be present. 433 "deviceId": "A String", # The Android ID of the device. This field will always be present. 434 "dpcPackageName": "A String", # Policy app on the device. 435 "managementType": "A String", # Identifies the extent to which the device is controlled by an Android EMM in various deployment configurations. 436 # 437 # Possible values include: 438 # - "managedDevice", a device where the DPC is set as device owner, 439 # - "managedProfile", a device where the DPC is set as profile owner. 440 }, 441 "installFailureEvent": { # An event generated when an app installation failed on a device # Notifications about an app installation failure. 442 "productId": "A String", # The id of the product (e.g. "app:com.google.android.gm") for which the install failure event occured. This field will always be present. 443 "userId": "A String", # The ID of the user. This field will always be present. 444 "deviceId": "A String", # The Android ID of the device. This field will always be present. 445 "failureDetails": "A String", # Additional details on the failure if applicable. 446 "failureReason": "A String", # The reason for the installation failure. This field will always be present. 447 }, 448 "appUpdateEvent": { # An event generated when a new version of an app is uploaded to Google Play. Notifications are sent for new public versions only: alpha, beta, or canary versions do not generate this event. To fetch up-to-date version history for an app, use Products.Get on the EMM API. # Notifications about app updates. 449 "productId": "A String", # The id of the product (e.g. "app:com.google.android.gm") that was updated. This field will always be present. 450 }, 451 "timestampMillis": "A String", # The time when the notification was published in milliseconds since 1970-01-01T00:00:00Z. This will always be present. 452 }, 453 ], 454 "kind": "androidenterprise#notificationSet", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#notificationSet". 455 "notificationSetId": "A String", # The notification set ID, required to mark the notification as received with the Enterprises.AcknowledgeNotification API. This will be omitted if no notifications are present. 456 }</pre> 457</div> 458 459<div class="method"> 460 <code class="details" id="sendTestPushNotification">sendTestPushNotification(enterpriseId)</code> 461 <pre>Sends a test notification to validate the EMM integration with the Google Cloud Pub/Sub service for this enterprise. 462 463Args: 464 enterpriseId: string, The ID of the enterprise. (required) 465 466Returns: 467 An object of the form: 468 469 { 470 "topicName": "A String", # The name of the Cloud Pub/Sub topic to which notifications for this enterprise's enrolled account will be sent. 471 "messageId": "A String", # The message ID of the test push notification that was sent. 472 }</pre> 473</div> 474 475<div class="method"> 476 <code class="details" id="setAccount">setAccount(enterpriseId, body)</code> 477 <pre>Sets the account that will be used to authenticate to the API as the enterprise. 478 479Args: 480 enterpriseId: string, The ID of the enterprise. (required) 481 body: object, The request body. (required) 482 The object takes the form of: 483 484{ # A service account that can be used to authenticate as the enterprise to API calls that require such authentication. 485 "kind": "androidenterprise#enterpriseAccount", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#enterpriseAccount". 486 "accountEmail": "A String", # The email address of the service account. 487 } 488 489 490Returns: 491 An object of the form: 492 493 { # A service account that can be used to authenticate as the enterprise to API calls that require such authentication. 494 "kind": "androidenterprise#enterpriseAccount", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#enterpriseAccount". 495 "accountEmail": "A String", # The email address of the service account. 496 }</pre> 497</div> 498 499<div class="method"> 500 <code class="details" id="setStoreLayout">setStoreLayout(enterpriseId, body)</code> 501 <pre>Sets the store layout for the enterprise. By default, storeLayoutType is set to "basic" and the basic store layout is enabled. The basic layout only contains apps approved by the admin, and that have been added to the available product set for a user (using the setAvailableProductSet call). Apps on the page are sorted in order of their product ID value. If you create a custom store layout (by setting storeLayoutType = "custom" and setting a homepage), the basic store layout is disabled. 502 503Args: 504 enterpriseId: string, The ID of the enterprise. (required) 505 body: object, The request body. (required) 506 The object takes the form of: 507 508{ # General setting for the managed Google Play store layout, currently only specifying the page to display the first time the store is opened. 509 "homepageId": "A String", # The ID of the store page to be used as the homepage. The homepage is the first page shown in the managed Google Play Store. 510 # 511 # Not specifying a homepage is equivalent to setting the store layout type to "basic". 512 "kind": "androidenterprise#storeLayout", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#storeLayout". 513 "storeLayoutType": "A String", # The store layout type. By default, this value is set to "basic" if the homepageId field is not set, and to "custom" otherwise. If set to "basic", the layout will consist of all approved apps that have been whitelisted for the user. 514} 515 516 517Returns: 518 An object of the form: 519 520 { # General setting for the managed Google Play store layout, currently only specifying the page to display the first time the store is opened. 521 "homepageId": "A String", # The ID of the store page to be used as the homepage. The homepage is the first page shown in the managed Google Play Store. 522 # 523 # Not specifying a homepage is equivalent to setting the store layout type to "basic". 524 "kind": "androidenterprise#storeLayout", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#storeLayout". 525 "storeLayoutType": "A String", # The store layout type. By default, this value is set to "basic" if the homepageId field is not set, and to "custom" otherwise. If set to "basic", the layout will consist of all approved apps that have been whitelisted for the user. 526 }</pre> 527</div> 528 529<div class="method"> 530 <code class="details" id="unenroll">unenroll(enterpriseId)</code> 531 <pre>Unenrolls an enterprise from the calling EMM. 532 533Args: 534 enterpriseId: string, The ID of the enterprise. (required) 535</pre> 536</div> 537 538</body></html>