PlaySearch.approveApps
.
# Corresponds to the JSON property `permission`
# @return [Arraychoice
or multiselect
restrictions, the list
# of possible entries' human-readable names.
# Corresponds to the JSON property `entry`
# @return [Arraychoice
or multiselect
restrictions, the list
# of possible entries' machine-readable values. These values should be used
# in the configuration, either as a single string
value for a
# choice
restriction or in a stringArray
for a
# multiselect
restriction.
# Corresponds to the JSON property `entryValue`
# @return [Arraybundle
or bundleArray
restrictions, the list
# of nested restrictions. A bundle
restriction is always nested
# within a bundleArray
restriction, and a
# bundleArray
restriction is at most two levels deep.
# Corresponds to the JSON property `nestedRestriction`
# @return [ArraytrackId
instead.
# Corresponds to the JSON property `track`
# @return [String]
attr_accessor :track
# Track ids that the app version is published in. Replaces the
# track
field (deprecated), but doesn't include the production
# track (see isProduction
instead).
# Corresponds to the JSON property `trackId`
# @return [ArrayProducts.approve
call.
# Corresponds to the JSON property `approvalUrl`
# @return [String]
attr_accessor :approval_url
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@approval_url = args[:approval_url] if args.key?(:approval_url)
end
end
# An AuthenticationToken is used by the EMM's device policy client on a device
# to provision the given EMM-managed user on that device.
class AuthenticationToken
include Google::Apis::Core::Hashable
# The authentication token to be passed to the device policy client on the
# device where it can be used to provision the account for which this token
# was generated.
# Corresponds to the JSON property `token`
# @return [String]
attr_accessor :token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@token = args[:token] if args.key?(:token)
end
end
# The auto-install constraint. Defines a set of restrictions for installation.
# At least one of the fields must be set.
class AutoInstallConstraint
include Google::Apis::Core::Hashable
# Charging state constraint.
# Corresponds to the JSON property `chargingStateConstraint`
# @return [String]
attr_accessor :charging_state_constraint
# Device idle state constraint.
# Corresponds to the JSON property `deviceIdleStateConstraint`
# @return [String]
attr_accessor :device_idle_state_constraint
# Network type constraint.
# Corresponds to the JSON property `networkTypeConstraint`
# @return [String]
attr_accessor :network_type_constraint
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@charging_state_constraint = args[:charging_state_constraint] if args.key?(:charging_state_constraint)
@device_idle_state_constraint = args[:device_idle_state_constraint] if args.key?(:device_idle_state_constraint)
@network_type_constraint = args[:network_type_constraint] if args.key?(:network_type_constraint)
end
end
#
class AutoInstallPolicy
include Google::Apis::Core::Hashable
# The constraints for auto-installing the app. You can specify a maximum of
# one constraint.
# Corresponds to the JSON property `autoInstallConstraint`
# @return [Array"123456789abcdef0"
.
# Corresponds to the JSON property `androidId`
# @return [String]
attr_accessor :android_id
# Identifies the extent to which the device is controlled by a managed
# Google Play EMM in various deployment configurations. managedDevice
", a device that has the EMM's device
# policy controller (DPC) as the device owner.managedProfile
", a device that has a profile managed
# by the DPC (DPC is profile owner) in addition to a separate, personal
# profile that is unavailable to the DPC.containerApp
", no longer used (deprecated).unmanagedProfile
", a device that has been allowed (by the
# domain's admin, using the Admin Console to enable the privilege) to use
# managed Google Play, but the profile is itself
# not owned by a DPC.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.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."userPurchase"
as the entitlement reason. These
# entitlements cannot be removed via the API.
class Entitlement
include Google::Apis::Core::Hashable
# The ID of the product that the entitlement is for. For example,
# "app:com.google.android.gm"
.
# Corresponds to the JSON property `productId`
# @return [String]
attr_accessor :product_id
# The reason for the entitlement. For example, "free"
# for free apps. This property is temporary: it will be replaced by the acquisition kind
field of group licenses.
# Corresponds to the JSON property `reason`
# @return [String]
attr_accessor :reason
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@product_id = args[:product_id] if args.key?(:product_id)
@reason = args[:reason] if args.key?(:reason)
end
end
#
class ListEntitlementsResponse
include Google::Apis::Core::Hashable
# An entitlement of a user to a product (e.g. an app).
# For example, a free app that they have installed, or a paid app that they
# have been allocated a license to.
# Corresponds to the JSON property `entitlement`
# @return [ArrayGrouplicenses
resource
# includes the total number of licenses purchased (paid apps only) and the
# total number of licenses currently in use. In other words, the total number
# of Entitlements
that exist for the product.
# Only one group license object is created per product and group license
# objects are never deleted. If a product is unapproved, its group license
# remains. This allows enterprise admins to keep track of any remaining
# entitlements for the product.
class GroupLicense
include Google::Apis::Core::Hashable
# How this group license was acquired. "bulkPurchase"
# means that this Grouplicenses resource was created because the enterprise
# purchased licenses for this product; otherwise, the value is
# "free"
(for free products).
# Corresponds to the JSON property `acquisitionKind`
# @return [String]
attr_accessor :acquisition_kind
# Whether the product to which this group license relates is currently
# approved by the enterprise. Products are approved when a group license is
# first created, but this approval may be revoked by an enterprise admin via
# Google Play. Unapproved products will not be visible to end users in
# collections, and new entitlements to them should not normally be created.
# Corresponds to the JSON property `approval`
# @return [String]
attr_accessor :approval
# The total number of provisioned licenses for this product.
# Returned by read operations, but ignored in write operations.
# Corresponds to the JSON property `numProvisioned`
# @return [Fixnum]
attr_accessor :num_provisioned
# The number of purchased licenses (possibly in multiple purchases).
# If this field is omitted, then there is no limit on the number of licenses
# that can be provisioned (for example, if the acquisition kind is
# "free"
).
# Corresponds to the JSON property `numPurchased`
# @return [Fixnum]
attr_accessor :num_purchased
# The permission approval status of the product. This field
# is only set if the product is approved. Possible states are:currentApproved
", the current set
# of permissions is approved, but additional permissions will require the
# administrator to reapprove the product (If the product was approved
# without specifying the approved permissions setting, then this is the
# default behavior.),needsReapproval
", the product has unapproved permissions.
# No additional product licenses can be assigned until the product is
# reapproved,allCurrentAndFutureApproved
",
# the current permissions are approved and any future permission updates
# will be automatically approved without administrator review."app:com.google.android.gm"
.
# Corresponds to the JSON property `productId`
# @return [String]
attr_accessor :product_id
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@acquisition_kind = args[:acquisition_kind] if args.key?(:acquisition_kind)
@approval = args[:approval] if args.key?(:approval)
@num_provisioned = args[:num_provisioned] if args.key?(:num_provisioned)
@num_purchased = args[:num_purchased] if args.key?(:num_purchased)
@permissions = args[:permissions] if args.key?(:permissions)
@product_id = args[:product_id] if args.key?(:product_id)
end
end
#
class ListGroupLicenseUsersResponse
include Google::Apis::Core::Hashable
# A user of an enterprise.
# Corresponds to the JSON property `user`
# @return [Array"installPending"
# means that an install request has recently been made and download to the
# device is in progress. The state "installed"
# means that the app has been installed. This field is read-only.
# Corresponds to the JSON property `installState`
# @return [String]
attr_accessor :install_state
# The ID of the product that the install is for. For example,
# "app:com.google.android.gm"
.
# Corresponds to the JSON property `productId`
# @return [String]
attr_accessor :product_id
# The version of the installed product. Guaranteed to be set only if the
# install state is "installed"
.
# Corresponds to the JSON property `versionCode`
# @return [Fixnum]
attr_accessor :version_code
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@install_state = args[:install_state] if args.key?(:install_state)
@product_id = args[:product_id] if args.key?(:product_id)
@version_code = args[:version_code] if args.key?(:version_code)
end
end
# An event generated when an app installation failed on a device
class InstallFailureEvent
include Google::Apis::Core::Hashable
# The Android ID of the device.
# This field will always be present.
# Corresponds to the JSON property `deviceId`
# @return [String]
attr_accessor :device_id
# Additional details on the failure if applicable.
# Corresponds to the JSON property `failureDetails`
# @return [String]
attr_accessor :failure_details
# The reason for the installation failure.
# This field will always be present.
# Corresponds to the JSON property `failureReason`
# @return [String]
attr_accessor :failure_reason
# 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.
# Corresponds to the JSON property `productId`
# @return [String]
attr_accessor :product_id
# The ID of the user.
# This field will always be present.
# Corresponds to the JSON property `userId`
# @return [String]
attr_accessor :user_id
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@device_id = args[:device_id] if args.key?(:device_id)
@failure_details = args[:failure_details] if args.key?(:failure_details)
@failure_reason = args[:failure_reason] if args.key?(:failure_reason)
@product_id = args[:product_id] if args.key?(:product_id)
@user_id = args[:user_id] if args.key?(:user_id)
end
end
#
class ListInstallsResponse
include Google::Apis::Core::Hashable
# An installation of an app for a user on a specific device.
# The existence of an install implies that the user must have an
# entitlement to the app.
# Corresponds to the JSON property `install`
# @return [ArraymanagedDevice
", a device where the DPC is set as
# device owner,managedProfile
", a device where the DPC is set as profile
# owner.productAvailabilityPolicy
# needs to be set to WHITELIST
or ALL
for the
# product policies to be applied.
# Corresponds to the JSON property `productPolicy`
# @return [ArrayappTracks
instead.
# Corresponds to the JSON property `availableTracks`
# @return [ArraypublicGoogleHosted
means that the package is
# available through the Play store and not restricted to a specific
# enterprise. The value privateGoogleHosted
means that the
# package is a private app (restricted to an enterprise) but hosted by
# Google. The value privateSelfHosted
means that the package is
# a private app (restricted to an enterprise) and is privately hosted.
# Corresponds to the JSON property `distributionChannel`
# @return [String]
attr_accessor :distribution_channel
# Noteworthy features (if any) of this product.
# Corresponds to the JSON property `features`
# @return [Arrayapp:<package name>
. For
# example, app:com.google.android.gm
represents the Gmail app.
# Corresponds to the JSON property `productId`
# @return [String]
attr_accessor :product_id
# Whether this product is free, free with in-app purchases, or paid.
# If the pricing is unknown, this means the product is not generally
# available anymore (even though it might still be available to
# people who own it).
# Corresponds to the JSON property `productPricing`
# @return [String]
attr_accessor :product_pricing
# A description of the recent changes made to the app.
# Corresponds to the JSON property `recentChanges`
# @return [String]
attr_accessor :recent_changes
# Deprecated.
# Corresponds to the JSON property `requiresContainerApp`
# @return [Boolean]
attr_accessor :requires_container_app
alias_method :requires_container_app?, :requires_container_app
# A list of screenshot links representing the app.
# Corresponds to the JSON property `screenshotUrls`
# @return [Array"app:com.google.android.gm"
.
# Corresponds to the JSON property `productId`
# @return [String]
attr_accessor :product_id
# Grants the device visibility to the specified product release track(s),
# identified by trackIds
. The list of release tracks of a
# product can be obtained by calling Products.Get.
# Corresponds to the JSON property `trackIds`
# @return [ArraytrackIds
instead.
# Corresponds to the JSON property `tracks`
# @return [ArraytrackIds
.
# Corresponds to the JSON property `trackIds`
# @return [ArraytrackIds
instead.
# Corresponds to the JSON property `tracks`
# @return [ArrayProducts.approve
call.
# If the product is currently unapproved and has no permissions, this
# URL will point to an empty page.
# If the product is currently approved, a URL will only be generated if
# that product has added permissions since it was last approved, and the
# URL will only display those new permissions that have not yet been
# accepted.
# Corresponds to the JSON property `url`
# @return [String]
attr_accessor :url
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@url = args[:url] if args.key?(:url)
end
end
#
class ProductsListResponse
include Google::Apis::Core::Hashable
# Information about the current page.
# List operations that supports paging return only one "page" of results. This
# protocol buffer message describes the page that has been returned.
# Corresponds to the JSON property `pageInfo`
# @return [Google::Apis::AndroidenterpriseV1::PageInfo]
attr_accessor :page_info
# Information about a product (e.g. an app) in the Google Play store, for
# display to an enterprise admin.
# Corresponds to the JSON property `product`
# @return [ArraygoogleCredentials
key type, this is identical to the
# cert that can be retrieved by using the X.509 cert url inside of the
# credentials file.
# Corresponds to the JSON property `publicData`
# @return [String]
attr_accessor :public_data
# The file format of the generated key data.
# Corresponds to the JSON property `type`
# @return [String]
attr_accessor :type
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@data = args[:data] if args.key?(:data)
@id = args[:id] if args.key?(:id)
@public_data = args[:public_data] if args.key?(:public_data)
@type = args[:type] if args.key?(:type)
end
end
#
class ServiceAccountKeysListResponse
include Google::Apis::Core::Hashable
# The service account credentials.
# Corresponds to the JSON property `serviceAccountKey`
# @return [ArrayprimaryEmail
).userAccount
# can be installed on multiple devices, but a deviceAccount
is
# specific to a single device. An EMM-managed user (emmManaged
)
# can be either type (userAccount
, deviceAccount
),
# but a Google-managed user (googleManaged
) is always a
# userAccount
.
# Corresponds to the JSON property `accountType`
# @return [String]
attr_accessor :account_type
# The name that will appear in user interfaces. Setting this property is
# optional when creating EMM-managed users. If you do set this property,
# use something generic about the organization (such as "Example, Inc.") or
# your name (as EMM).
# Not used for Google-managed user accounts.
# @mutable androidenterprise.users.update
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
# The unique ID for the user.
# Corresponds to the JSON property `id`
# @return [String]
attr_accessor :id
# The entity that manages the user. With googleManaged
users,
# the source of truth is Google so EMMs have to make sure a Google Account
# exists for the user. With emmManaged
users, the
# EMM is in charge.
# Corresponds to the JSON property `managementType`
# @return [String]
attr_accessor :management_type
# The user's primary email address, for example, "jsmith@example.com".
# Will always be set for Google managed users and not set for EMM managed
# users.
# Corresponds to the JSON property `primaryEmail`
# @return [String]
attr_accessor :primary_email
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@account_identifier = args[:account_identifier] if args.key?(:account_identifier)
@account_type = args[:account_type] if args.key?(:account_type)
@display_name = args[:display_name] if args.key?(:display_name)
@id = args[:id] if args.key?(:id)
@management_type = args[:management_type] if args.key?(:management_type)
@primary_email = args[:primary_email] if args.key?(:primary_email)
end
end
#
class ListUsersResponse
include Google::Apis::Core::Hashable
# A user of an enterprise.
# Corresponds to the JSON property `user`
# @return [ArrayminimalUi
", the device's status bar, navigation bar,
# the app's URL, and a refresh button are visible when the app is open. For
# HTTP URLs, you can only select this option.
# standalone
", the device's status bar and navigation
# bar are visible when the app is open.
# fullScreen
", the app opens in full screen mode, hiding
# the device's status and navigation bars. All browser UI elements, page
# URL, system status bar and back button are not visible, and the web app
# takes up the entirety of the available display area.
# Note that the version can automatically increase during the lifetime of
# the web app, while Google does internal housekeeping to keep the web app
# up-to-date.
# Corresponds to the JSON property `versionCode`
# @return [Fixnum]
attr_accessor :version_code
# The ID of the application. A string of the form
# "app:<package name>"
where the package name
# always starts with the prefix
# "com.google.enterprise.webapp."
followed by a
# random id.
# Corresponds to the JSON property `webAppId`
# @return [String]
attr_accessor :web_app_id
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@display_mode = args[:display_mode] if args.key?(:display_mode)
@icons = args[:icons] if args.key?(:icons)
@is_published = args[:is_published] if args.key?(:is_published)
@start_url = args[:start_url] if args.key?(:start_url)
@title = args[:title] if args.key?(:title)
@version_code = args[:version_code] if args.key?(:version_code)
@web_app_id = args[:web_app_id] if args.key?(:web_app_id)
end
end
# Icon for a web app.
class WebAppIcon
include Google::Apis::Core::Hashable
# The actual bytes of the image in a base64url encoded string (c.f. RFC4648,
# section 5 "Base 64 Encoding with URL and Filename Safe Alphabet").
#