google-apis-androidpublisher_v3 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 38bd35ef40d9fc1051d3f51608575dc9b713165263e0b8304a4a08f2fadcee52
4
+ data.tar.gz: '0521943d4a99d3c63b66a7bbe5ed0cedede20ac05d694b4737f311593537da4c'
5
+ SHA512:
6
+ metadata.gz: 0c995acca3569bc6c12edba3217d90bdf4d03360945d148f1d1a847b5a8c4627a2f92192f3ec4fe30fc5bfc231bb10dfea5550dcbd4aac0d77d6cb00a44484b3
7
+ data.tar.gz: '09d47fa8e99d5793400711d1f40260f7d5f98e1bb125b23cc7860936d850e05ee239d567e20ea21597141ef6ce3861ee665281a8505f701e4491b84bb99a11e9'
@@ -0,0 +1,13 @@
1
+ --hide-void-return
2
+ --no-private
3
+ --verbose
4
+ --title=google-apis-androidpublisher_v3
5
+ --markup-provider=redcarpet
6
+ --markup=markdown
7
+ --main OVERVIEW.md
8
+ lib/google/apis/androidpublisher_v3/*.rb
9
+ lib/google/apis/androidpublisher_v3.rb
10
+ -
11
+ OVERVIEW.md
12
+ CHANGELOG.md
13
+ LICENSE.md
@@ -0,0 +1,7 @@
1
+ # Release history for google-apis-androidpublisher_v3
2
+
3
+ ### v0.1.0 (2021-01-07)
4
+
5
+ * Regenerated using generator version 0.1.1
6
+ * Regenerated from discovery document revision 20201125
7
+
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
@@ -0,0 +1,96 @@
1
+ # Simple REST client for version V3 of the Google Play Android Developer API
2
+
3
+ This is a simple client library for version V3 of the Google Play Android Developer API. It provides:
4
+
5
+ * A client object that connects to the HTTP/JSON REST endpoint for the service.
6
+ * Ruby objects for data structures related to the service.
7
+ * Integration with the googleauth gem for authentication using OAuth, API keys, and service accounts.
8
+ * Control of retry, pagination, and timeouts.
9
+
10
+ Note that although this client library is supported and will continue to be updated to track changes to the service, it is otherwise considered complete and not under active development. Many Google services, especially Google Cloud Platform services, may provide a more modern client that is under more active development and improvement. See the section below titled *Which client should I use?* for more information.
11
+
12
+ ## Getting started
13
+
14
+ ### Before you begin
15
+
16
+ There are a few setup steps you need to complete before you can use this library:
17
+
18
+ 1. If you don't already have a Google account, [sign up](https://www.google.com/accounts).
19
+ 2. If you have never created a Google APIs Console project, read about [Managing Projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects) and create a project in the [Google API Console](https://console.cloud.google.com/).
20
+ 3. Most APIs need to be enabled for your project. [Enable it](https://console.cloud.google.com/apis/library/androidpublisher.googleapis.com) in the console.
21
+
22
+ ### Installation
23
+
24
+ Add this line to your application's Gemfile:
25
+
26
+ ```ruby
27
+ gem 'google-apis-androidpublisher_v3', '~> 0.1'
28
+ ```
29
+
30
+ And then execute:
31
+
32
+ ```
33
+ $ bundle
34
+ ```
35
+
36
+ Or install it yourself as:
37
+
38
+ ```
39
+ $ gem install google-apis-androidpublisher_v3
40
+ ```
41
+
42
+ ### Creating a client object
43
+
44
+ Once the gem is installed, you can load the client code and instantiate a client.
45
+
46
+ ```ruby
47
+ # Load the client
48
+ require "google/apis/androidpublisher_v3"
49
+
50
+ # Create a client object
51
+ client = Google::Apis::AndroidpublisherV3::AndroidPublisherService.new
52
+
53
+ # Authenticate calls
54
+ client.authentication = # ... use the googleauth gem to create credentials
55
+ ```
56
+
57
+ See the class reference docs for information on the methods you can call from a client.
58
+
59
+ ## Documentation
60
+
61
+ More detailed descriptions of the Google simple REST clients are available in two documents.
62
+
63
+ * The [Usage Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/usage-guide.md) discusses how to make API calls, how to use the provided data structures, and how to work the various features of the client library, including media upload and download, error handling, retries, pagination, and logging.
64
+ * The [Auth Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/auth-guide.md) discusses authentication in the client libraries, including API keys, OAuth 2.0, service accounts, and environment variables.
65
+
66
+ (Note: the above documents are written for the simple REST clients in general, and their examples may not reflect the Androidpublisher service in particular.)
67
+
68
+ For reference information on specific calls in the Google Play Android Developer API, see the {Google::Apis::AndroidpublisherV3::AndroidPublisherService class reference docs}.
69
+
70
+ ## Which client should I use?
71
+
72
+ Google provides two types of Ruby API client libraries: **simple REST clients** and **modern clients**.
73
+
74
+ This library, `google-apis-androidpublisher_v3`, is a simple REST client. You can identify these clients by their gem names, which are always in the form `google-apis-<servicename>_<serviceversion>`. The simple REST clients connect to HTTP/JSON REST endpoints and are automatically generated from service discovery documents. They support most API functionality, but their class interfaces are sometimes awkward.
75
+
76
+ Modern clients are produced by a modern code generator, sometimes combined with hand-crafted functionality. Most modern clients connect to high-performance gRPC endpoints, although a few are backed by REST services. Modern clients are available for many Google services, especially Google Cloud Platform services, but do not yet support all the services covered by the simple clients.
77
+
78
+ Gem names for modern clients are often of the form `google-cloud-<service_name>`. (For example, [google-cloud-pubsub](https://rubygems.org/gems/google-cloud-pubsub).) Note that most modern clients also have corresponding "versioned" gems with names like `google-cloud-<service_name>-<version>`. (For example, [google-cloud-pubsub-v1](https://rubygems.org/gems/google-cloud-pubsub-v1).) The "versioned" gems can be used directly, but often provide lower-level interfaces. In most cases, the main gem is recommended.
79
+
80
+ **For most users, we recommend the modern client, if one is available.** Compared with simple clients, modern clients are generally much easier to use and more Ruby-like, support more advanced features such as streaming and long-running operations, and often provide much better performance. You may consider using a simple client instead, if a modern client is not yet available for the service you want to use, or if you are not able to use gRPC on your infrastructure.
81
+
82
+ The [product documentation](https://developers.google.com/android-publisher) may provide guidance regarding the preferred client library to use.
83
+
84
+ ## Supported Ruby versions
85
+
86
+ This library is supported on Ruby 2.5+.
87
+
88
+ Google provides official support for Ruby versions that are actively supported by Ruby Core -- that is, Ruby versions that are either in normal maintenance or in security maintenance, and not end of life. Currently, this means Ruby 2.5 and later. Older versions of Ruby _may_ still work, but are unsupported and not recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby support schedule.
89
+
90
+ ## License
91
+
92
+ This library is licensed under Apache 2.0. Full license text is available in the {file:LICENSE.md LICENSE}.
93
+
94
+ ## Support
95
+
96
+ Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs on [StackOverflow](http://stackoverflow.com).
@@ -0,0 +1,15 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require "google/apis/androidpublisher_v3"
@@ -0,0 +1,36 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/androidpublisher_v3/service.rb'
16
+ require 'google/apis/androidpublisher_v3/classes.rb'
17
+ require 'google/apis/androidpublisher_v3/representations.rb'
18
+ require 'google/apis/androidpublisher_v3/gem_version.rb'
19
+
20
+ module Google
21
+ module Apis
22
+ # Google Play Android Developer API
23
+ #
24
+ # Lets Android application developers access their Google Play accounts.
25
+ #
26
+ # @see https://developers.google.com/android-publisher
27
+ module AndroidpublisherV3
28
+ # Version of the Google Play Android Developer API this client connects to.
29
+ # This is NOT the gem version.
30
+ VERSION = 'V3'
31
+
32
+ # View and manage your Google Play Developer account
33
+ AUTH_ANDROIDPUBLISHER = 'https://www.googleapis.com/auth/androidpublisher'
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,2267 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module AndroidpublisherV3
24
+
25
+ # Information about an APK. The resource for ApksService.
26
+ class Apk
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Represents the binary payload of an APK.
30
+ # Corresponds to the JSON property `binary`
31
+ # @return [Google::Apis::AndroidpublisherV3::ApkBinary]
32
+ attr_accessor :binary
33
+
34
+ # The version code of the APK, as specified in the manifest file.
35
+ # Corresponds to the JSON property `versionCode`
36
+ # @return [Fixnum]
37
+ attr_accessor :version_code
38
+
39
+ def initialize(**args)
40
+ update!(**args)
41
+ end
42
+
43
+ # Update properties of this object
44
+ def update!(**args)
45
+ @binary = args[:binary] if args.key?(:binary)
46
+ @version_code = args[:version_code] if args.key?(:version_code)
47
+ end
48
+ end
49
+
50
+ # Represents the binary payload of an APK.
51
+ class ApkBinary
52
+ include Google::Apis::Core::Hashable
53
+
54
+ # A sha1 hash of the APK payload, encoded as a hex string and matching the
55
+ # output of the sha1sum command.
56
+ # Corresponds to the JSON property `sha1`
57
+ # @return [String]
58
+ attr_accessor :sha1
59
+
60
+ # A sha256 hash of the APK payload, encoded as a hex string and matching the
61
+ # output of the sha256sum command.
62
+ # Corresponds to the JSON property `sha256`
63
+ # @return [String]
64
+ attr_accessor :sha256
65
+
66
+ def initialize(**args)
67
+ update!(**args)
68
+ end
69
+
70
+ # Update properties of this object
71
+ def update!(**args)
72
+ @sha1 = args[:sha1] if args.key?(:sha1)
73
+ @sha256 = args[:sha256] if args.key?(:sha256)
74
+ end
75
+ end
76
+
77
+ # Request to create a new externally hosted APK.
78
+ class ApksAddExternallyHostedRequest
79
+ include Google::Apis::Core::Hashable
80
+
81
+ # Defines an APK available for this application that is hosted externally and
82
+ # not uploaded to Google Play. This function is only available to organizations
83
+ # using Managed Play whose application is configured to restrict distribution to
84
+ # the organizations.
85
+ # Corresponds to the JSON property `externallyHostedApk`
86
+ # @return [Google::Apis::AndroidpublisherV3::ExternallyHostedApk]
87
+ attr_accessor :externally_hosted_apk
88
+
89
+ def initialize(**args)
90
+ update!(**args)
91
+ end
92
+
93
+ # Update properties of this object
94
+ def update!(**args)
95
+ @externally_hosted_apk = args[:externally_hosted_apk] if args.key?(:externally_hosted_apk)
96
+ end
97
+ end
98
+
99
+ # Response for creating a new externally hosted APK.
100
+ class ApksAddExternallyHostedResponse
101
+ include Google::Apis::Core::Hashable
102
+
103
+ # Defines an APK available for this application that is hosted externally and
104
+ # not uploaded to Google Play. This function is only available to organizations
105
+ # using Managed Play whose application is configured to restrict distribution to
106
+ # the organizations.
107
+ # Corresponds to the JSON property `externallyHostedApk`
108
+ # @return [Google::Apis::AndroidpublisherV3::ExternallyHostedApk]
109
+ attr_accessor :externally_hosted_apk
110
+
111
+ def initialize(**args)
112
+ update!(**args)
113
+ end
114
+
115
+ # Update properties of this object
116
+ def update!(**args)
117
+ @externally_hosted_apk = args[:externally_hosted_apk] if args.key?(:externally_hosted_apk)
118
+ end
119
+ end
120
+
121
+ # Response listing all APKs.
122
+ class ApksListResponse
123
+ include Google::Apis::Core::Hashable
124
+
125
+ # All APKs.
126
+ # Corresponds to the JSON property `apks`
127
+ # @return [Array<Google::Apis::AndroidpublisherV3::Apk>]
128
+ attr_accessor :apks
129
+
130
+ # The kind of this response ("androidpublisher#apksListResponse").
131
+ # Corresponds to the JSON property `kind`
132
+ # @return [String]
133
+ attr_accessor :kind
134
+
135
+ def initialize(**args)
136
+ update!(**args)
137
+ end
138
+
139
+ # Update properties of this object
140
+ def update!(**args)
141
+ @apks = args[:apks] if args.key?(:apks)
142
+ @kind = args[:kind] if args.key?(:kind)
143
+ end
144
+ end
145
+
146
+ # The app details. The resource for DetailsService.
147
+ class AppDetails
148
+ include Google::Apis::Core::Hashable
149
+
150
+ # The user-visible support email for this app.
151
+ # Corresponds to the JSON property `contactEmail`
152
+ # @return [String]
153
+ attr_accessor :contact_email
154
+
155
+ # The user-visible support telephone number for this app.
156
+ # Corresponds to the JSON property `contactPhone`
157
+ # @return [String]
158
+ attr_accessor :contact_phone
159
+
160
+ # The user-visible website for this app.
161
+ # Corresponds to the JSON property `contactWebsite`
162
+ # @return [String]
163
+ attr_accessor :contact_website
164
+
165
+ # Default language code, in BCP 47 format (eg "en-US").
166
+ # Corresponds to the JSON property `defaultLanguage`
167
+ # @return [String]
168
+ attr_accessor :default_language
169
+
170
+ def initialize(**args)
171
+ update!(**args)
172
+ end
173
+
174
+ # Update properties of this object
175
+ def update!(**args)
176
+ @contact_email = args[:contact_email] if args.key?(:contact_email)
177
+ @contact_phone = args[:contact_phone] if args.key?(:contact_phone)
178
+ @contact_website = args[:contact_website] if args.key?(:contact_website)
179
+ @default_language = args[:default_language] if args.key?(:default_language)
180
+ end
181
+ end
182
+
183
+ # An app edit. The resource for EditsService.
184
+ class AppEdit
185
+ include Google::Apis::Core::Hashable
186
+
187
+ # Output only. The time (as seconds since Epoch) at which the edit will expire
188
+ # and will be no longer valid for use.
189
+ # Corresponds to the JSON property `expiryTimeSeconds`
190
+ # @return [String]
191
+ attr_accessor :expiry_time_seconds
192
+
193
+ # Output only. Identifier of the edit. Can be used in subsequent API calls.
194
+ # Corresponds to the JSON property `id`
195
+ # @return [String]
196
+ attr_accessor :id
197
+
198
+ def initialize(**args)
199
+ update!(**args)
200
+ end
201
+
202
+ # Update properties of this object
203
+ def update!(**args)
204
+ @expiry_time_seconds = args[:expiry_time_seconds] if args.key?(:expiry_time_seconds)
205
+ @id = args[:id] if args.key?(:id)
206
+ end
207
+ end
208
+
209
+ # Information about a bundle. The resource for BundlesService.
210
+ class Bundle
211
+ include Google::Apis::Core::Hashable
212
+
213
+ # A sha1 hash of the upload payload, encoded as a hex string and matching the
214
+ # output of the sha1sum command.
215
+ # Corresponds to the JSON property `sha1`
216
+ # @return [String]
217
+ attr_accessor :sha1
218
+
219
+ # A sha256 hash of the upload payload, encoded as a hex string and matching the
220
+ # output of the sha256sum command.
221
+ # Corresponds to the JSON property `sha256`
222
+ # @return [String]
223
+ attr_accessor :sha256
224
+
225
+ # The version code of the Android App Bundle, as specified in the Android App
226
+ # Bundle's base module APK manifest file.
227
+ # Corresponds to the JSON property `versionCode`
228
+ # @return [Fixnum]
229
+ attr_accessor :version_code
230
+
231
+ def initialize(**args)
232
+ update!(**args)
233
+ end
234
+
235
+ # Update properties of this object
236
+ def update!(**args)
237
+ @sha1 = args[:sha1] if args.key?(:sha1)
238
+ @sha256 = args[:sha256] if args.key?(:sha256)
239
+ @version_code = args[:version_code] if args.key?(:version_code)
240
+ end
241
+ end
242
+
243
+ # Response listing all bundles.
244
+ class BundlesListResponse
245
+ include Google::Apis::Core::Hashable
246
+
247
+ # All bundles.
248
+ # Corresponds to the JSON property `bundles`
249
+ # @return [Array<Google::Apis::AndroidpublisherV3::Bundle>]
250
+ attr_accessor :bundles
251
+
252
+ # The kind of this response ("androidpublisher#bundlesListResponse").
253
+ # Corresponds to the JSON property `kind`
254
+ # @return [String]
255
+ attr_accessor :kind
256
+
257
+ def initialize(**args)
258
+ update!(**args)
259
+ end
260
+
261
+ # Update properties of this object
262
+ def update!(**args)
263
+ @bundles = args[:bundles] if args.key?(:bundles)
264
+ @kind = args[:kind] if args.key?(:kind)
265
+ end
266
+ end
267
+
268
+ # An entry of conversation between user and developer.
269
+ class Comment
270
+ include Google::Apis::Core::Hashable
271
+
272
+ # Developer entry from conversation between user and developer.
273
+ # Corresponds to the JSON property `developerComment`
274
+ # @return [Google::Apis::AndroidpublisherV3::DeveloperComment]
275
+ attr_accessor :developer_comment
276
+
277
+ # User entry from conversation between user and developer.
278
+ # Corresponds to the JSON property `userComment`
279
+ # @return [Google::Apis::AndroidpublisherV3::UserComment]
280
+ attr_accessor :user_comment
281
+
282
+ def initialize(**args)
283
+ update!(**args)
284
+ end
285
+
286
+ # Update properties of this object
287
+ def update!(**args)
288
+ @developer_comment = args[:developer_comment] if args.key?(:developer_comment)
289
+ @user_comment = args[:user_comment] if args.key?(:user_comment)
290
+ end
291
+ end
292
+
293
+ # Country targeting specification.
294
+ class CountryTargeting
295
+ include Google::Apis::Core::Hashable
296
+
297
+ # Countries to target, specified as two letter [CLDR codes](https://unicode.org/
298
+ # cldr/charts/latest/supplemental/territory_containment_un_m_49.html).
299
+ # Corresponds to the JSON property `countries`
300
+ # @return [Array<String>]
301
+ attr_accessor :countries
302
+
303
+ # Include "rest of world" as well as explicitly targeted countries.
304
+ # Corresponds to the JSON property `includeRestOfWorld`
305
+ # @return [Boolean]
306
+ attr_accessor :include_rest_of_world
307
+ alias_method :include_rest_of_world?, :include_rest_of_world
308
+
309
+ def initialize(**args)
310
+ update!(**args)
311
+ end
312
+
313
+ # Update properties of this object
314
+ def update!(**args)
315
+ @countries = args[:countries] if args.key?(:countries)
316
+ @include_rest_of_world = args[:include_rest_of_world] if args.key?(:include_rest_of_world)
317
+ end
318
+ end
319
+
320
+ # Represents a deobfuscation file.
321
+ class DeobfuscationFile
322
+ include Google::Apis::Core::Hashable
323
+
324
+ # The type of the deobfuscation file.
325
+ # Corresponds to the JSON property `symbolType`
326
+ # @return [String]
327
+ attr_accessor :symbol_type
328
+
329
+ def initialize(**args)
330
+ update!(**args)
331
+ end
332
+
333
+ # Update properties of this object
334
+ def update!(**args)
335
+ @symbol_type = args[:symbol_type] if args.key?(:symbol_type)
336
+ end
337
+ end
338
+
339
+ # Responses for the upload.
340
+ class DeobfuscationFilesUploadResponse
341
+ include Google::Apis::Core::Hashable
342
+
343
+ # Represents a deobfuscation file.
344
+ # Corresponds to the JSON property `deobfuscationFile`
345
+ # @return [Google::Apis::AndroidpublisherV3::DeobfuscationFile]
346
+ attr_accessor :deobfuscation_file
347
+
348
+ def initialize(**args)
349
+ update!(**args)
350
+ end
351
+
352
+ # Update properties of this object
353
+ def update!(**args)
354
+ @deobfuscation_file = args[:deobfuscation_file] if args.key?(:deobfuscation_file)
355
+ end
356
+ end
357
+
358
+ # Developer entry from conversation between user and developer.
359
+ class DeveloperComment
360
+ include Google::Apis::Core::Hashable
361
+
362
+ # A Timestamp represents a point in time independent of any time zone or local
363
+ # calendar, encoded as a count of seconds and fractions of seconds at nanosecond
364
+ # resolution. The count is relative to an epoch at UTC midnight on January 1,
365
+ # 1970.
366
+ # Corresponds to the JSON property `lastModified`
367
+ # @return [Google::Apis::AndroidpublisherV3::Timestamp]
368
+ attr_accessor :last_modified
369
+
370
+ # The content of the comment, i.e. reply body.
371
+ # Corresponds to the JSON property `text`
372
+ # @return [String]
373
+ attr_accessor :text
374
+
375
+ def initialize(**args)
376
+ update!(**args)
377
+ end
378
+
379
+ # Update properties of this object
380
+ def update!(**args)
381
+ @last_modified = args[:last_modified] if args.key?(:last_modified)
382
+ @text = args[:text] if args.key?(:text)
383
+ end
384
+ end
385
+
386
+ # Characteristics of the user's device.
387
+ class DeviceMetadata
388
+ include Google::Apis::Core::Hashable
389
+
390
+ # Device CPU make, e.g. "Qualcomm"
391
+ # Corresponds to the JSON property `cpuMake`
392
+ # @return [String]
393
+ attr_accessor :cpu_make
394
+
395
+ # Device CPU model, e.g. "MSM8974"
396
+ # Corresponds to the JSON property `cpuModel`
397
+ # @return [String]
398
+ attr_accessor :cpu_model
399
+
400
+ # Device class (e.g. tablet)
401
+ # Corresponds to the JSON property `deviceClass`
402
+ # @return [String]
403
+ attr_accessor :device_class
404
+
405
+ # OpenGL version
406
+ # Corresponds to the JSON property `glEsVersion`
407
+ # @return [Fixnum]
408
+ attr_accessor :gl_es_version
409
+
410
+ # Device manufacturer (e.g. Motorola)
411
+ # Corresponds to the JSON property `manufacturer`
412
+ # @return [String]
413
+ attr_accessor :manufacturer
414
+
415
+ # Comma separated list of native platforms (e.g. "arm", "arm7")
416
+ # Corresponds to the JSON property `nativePlatform`
417
+ # @return [String]
418
+ attr_accessor :native_platform
419
+
420
+ # Device model name (e.g. Droid)
421
+ # Corresponds to the JSON property `productName`
422
+ # @return [String]
423
+ attr_accessor :product_name
424
+
425
+ # Device RAM in Megabytes, e.g. "2048"
426
+ # Corresponds to the JSON property `ramMb`
427
+ # @return [Fixnum]
428
+ attr_accessor :ram_mb
429
+
430
+ # Screen density in DPI
431
+ # Corresponds to the JSON property `screenDensityDpi`
432
+ # @return [Fixnum]
433
+ attr_accessor :screen_density_dpi
434
+
435
+ # Screen height in pixels
436
+ # Corresponds to the JSON property `screenHeightPx`
437
+ # @return [Fixnum]
438
+ attr_accessor :screen_height_px
439
+
440
+ # Screen width in pixels
441
+ # Corresponds to the JSON property `screenWidthPx`
442
+ # @return [Fixnum]
443
+ attr_accessor :screen_width_px
444
+
445
+ def initialize(**args)
446
+ update!(**args)
447
+ end
448
+
449
+ # Update properties of this object
450
+ def update!(**args)
451
+ @cpu_make = args[:cpu_make] if args.key?(:cpu_make)
452
+ @cpu_model = args[:cpu_model] if args.key?(:cpu_model)
453
+ @device_class = args[:device_class] if args.key?(:device_class)
454
+ @gl_es_version = args[:gl_es_version] if args.key?(:gl_es_version)
455
+ @manufacturer = args[:manufacturer] if args.key?(:manufacturer)
456
+ @native_platform = args[:native_platform] if args.key?(:native_platform)
457
+ @product_name = args[:product_name] if args.key?(:product_name)
458
+ @ram_mb = args[:ram_mb] if args.key?(:ram_mb)
459
+ @screen_density_dpi = args[:screen_density_dpi] if args.key?(:screen_density_dpi)
460
+ @screen_height_px = args[:screen_height_px] if args.key?(:screen_height_px)
461
+ @screen_width_px = args[:screen_width_px] if args.key?(:screen_width_px)
462
+ end
463
+ end
464
+
465
+ # The device spec used to generate a system APK.
466
+ class DeviceSpec
467
+ include Google::Apis::Core::Hashable
468
+
469
+ # Screen dpi.
470
+ # Corresponds to the JSON property `screenDensity`
471
+ # @return [Fixnum]
472
+ attr_accessor :screen_density
473
+
474
+ # Supported ABI architectures in the order of preference. The values should be
475
+ # the string as reported by the platform, e.g. "armeabi-v7a", "x86_64".
476
+ # Corresponds to the JSON property `supportedAbis`
477
+ # @return [Array<String>]
478
+ attr_accessor :supported_abis
479
+
480
+ # All installed locales represented as BCP-47 strings, e.g. "en-US".
481
+ # Corresponds to the JSON property `supportedLocales`
482
+ # @return [Array<String>]
483
+ attr_accessor :supported_locales
484
+
485
+ def initialize(**args)
486
+ update!(**args)
487
+ end
488
+
489
+ # Update properties of this object
490
+ def update!(**args)
491
+ @screen_density = args[:screen_density] if args.key?(:screen_density)
492
+ @supported_abis = args[:supported_abis] if args.key?(:supported_abis)
493
+ @supported_locales = args[:supported_locales] if args.key?(:supported_locales)
494
+ end
495
+ end
496
+
497
+ # An expansion file. The resource for ExpansionFilesService.
498
+ class ExpansionFile
499
+ include Google::Apis::Core::Hashable
500
+
501
+ # If set, this field indicates that this APK has an expansion file uploaded to
502
+ # it: this APK does not reference another APK's expansion file. The field's
503
+ # value is the size of the uploaded expansion file in bytes.
504
+ # Corresponds to the JSON property `fileSize`
505
+ # @return [Fixnum]
506
+ attr_accessor :file_size
507
+
508
+ # If set, this APK's expansion file references another APK's expansion file. The
509
+ # file_size field will not be set.
510
+ # Corresponds to the JSON property `referencesVersion`
511
+ # @return [Fixnum]
512
+ attr_accessor :references_version
513
+
514
+ def initialize(**args)
515
+ update!(**args)
516
+ end
517
+
518
+ # Update properties of this object
519
+ def update!(**args)
520
+ @file_size = args[:file_size] if args.key?(:file_size)
521
+ @references_version = args[:references_version] if args.key?(:references_version)
522
+ end
523
+ end
524
+
525
+ # Response for uploading an expansion file.
526
+ class ExpansionFilesUploadResponse
527
+ include Google::Apis::Core::Hashable
528
+
529
+ # An expansion file. The resource for ExpansionFilesService.
530
+ # Corresponds to the JSON property `expansionFile`
531
+ # @return [Google::Apis::AndroidpublisherV3::ExpansionFile]
532
+ attr_accessor :expansion_file
533
+
534
+ def initialize(**args)
535
+ update!(**args)
536
+ end
537
+
538
+ # Update properties of this object
539
+ def update!(**args)
540
+ @expansion_file = args[:expansion_file] if args.key?(:expansion_file)
541
+ end
542
+ end
543
+
544
+ # Defines an APK available for this application that is hosted externally and
545
+ # not uploaded to Google Play. This function is only available to organizations
546
+ # using Managed Play whose application is configured to restrict distribution to
547
+ # the organizations.
548
+ class ExternallyHostedApk
549
+ include Google::Apis::Core::Hashable
550
+
551
+ # The application label.
552
+ # Corresponds to the JSON property `applicationLabel`
553
+ # @return [String]
554
+ attr_accessor :application_label
555
+
556
+ # A certificate (or array of certificates if a certificate-chain is used) used
557
+ # to sign this APK, represented as a base64 encoded byte array.
558
+ # Corresponds to the JSON property `certificateBase64s`
559
+ # @return [Array<String>]
560
+ attr_accessor :certificate_base64s
561
+
562
+ # The URL at which the APK is hosted. This must be an https URL.
563
+ # Corresponds to the JSON property `externallyHostedUrl`
564
+ # @return [String]
565
+ attr_accessor :externally_hosted_url
566
+
567
+ # The sha1 checksum of this APK, represented as a base64 encoded byte array.
568
+ # Corresponds to the JSON property `fileSha1Base64`
569
+ # @return [String]
570
+ attr_accessor :file_sha1_base64
571
+
572
+ # The sha256 checksum of this APK, represented as a base64 encoded byte array.
573
+ # Corresponds to the JSON property `fileSha256Base64`
574
+ # @return [String]
575
+ attr_accessor :file_sha256_base64
576
+
577
+ # The file size in bytes of this APK.
578
+ # Corresponds to the JSON property `fileSize`
579
+ # @return [Fixnum]
580
+ attr_accessor :file_size
581
+
582
+ # The icon image from the APK, as a base64 encoded byte array.
583
+ # Corresponds to the JSON property `iconBase64`
584
+ # @return [String]
585
+ attr_accessor :icon_base64
586
+
587
+ # The maximum SDK supported by this APK (optional).
588
+ # Corresponds to the JSON property `maximumSdk`
589
+ # @return [Fixnum]
590
+ attr_accessor :maximum_sdk
591
+
592
+ # The minimum SDK targeted by this APK.
593
+ # Corresponds to the JSON property `minimumSdk`
594
+ # @return [Fixnum]
595
+ attr_accessor :minimum_sdk
596
+
597
+ # The native code environments supported by this APK (optional).
598
+ # Corresponds to the JSON property `nativeCodes`
599
+ # @return [Array<String>]
600
+ attr_accessor :native_codes
601
+
602
+ # The package name.
603
+ # Corresponds to the JSON property `packageName`
604
+ # @return [String]
605
+ attr_accessor :package_name
606
+
607
+ # The features required by this APK (optional).
608
+ # Corresponds to the JSON property `usesFeatures`
609
+ # @return [Array<String>]
610
+ attr_accessor :uses_features
611
+
612
+ # The permissions requested by this APK.
613
+ # Corresponds to the JSON property `usesPermissions`
614
+ # @return [Array<Google::Apis::AndroidpublisherV3::UsesPermission>]
615
+ attr_accessor :uses_permissions
616
+
617
+ # The version code of this APK.
618
+ # Corresponds to the JSON property `versionCode`
619
+ # @return [Fixnum]
620
+ attr_accessor :version_code
621
+
622
+ # The version name of this APK.
623
+ # Corresponds to the JSON property `versionName`
624
+ # @return [String]
625
+ attr_accessor :version_name
626
+
627
+ def initialize(**args)
628
+ update!(**args)
629
+ end
630
+
631
+ # Update properties of this object
632
+ def update!(**args)
633
+ @application_label = args[:application_label] if args.key?(:application_label)
634
+ @certificate_base64s = args[:certificate_base64s] if args.key?(:certificate_base64s)
635
+ @externally_hosted_url = args[:externally_hosted_url] if args.key?(:externally_hosted_url)
636
+ @file_sha1_base64 = args[:file_sha1_base64] if args.key?(:file_sha1_base64)
637
+ @file_sha256_base64 = args[:file_sha256_base64] if args.key?(:file_sha256_base64)
638
+ @file_size = args[:file_size] if args.key?(:file_size)
639
+ @icon_base64 = args[:icon_base64] if args.key?(:icon_base64)
640
+ @maximum_sdk = args[:maximum_sdk] if args.key?(:maximum_sdk)
641
+ @minimum_sdk = args[:minimum_sdk] if args.key?(:minimum_sdk)
642
+ @native_codes = args[:native_codes] if args.key?(:native_codes)
643
+ @package_name = args[:package_name] if args.key?(:package_name)
644
+ @uses_features = args[:uses_features] if args.key?(:uses_features)
645
+ @uses_permissions = args[:uses_permissions] if args.key?(:uses_permissions)
646
+ @version_code = args[:version_code] if args.key?(:version_code)
647
+ @version_name = args[:version_name] if args.key?(:version_name)
648
+ end
649
+ end
650
+
651
+ # An uploaded image. The resource for ImagesService.
652
+ class Image
653
+ include Google::Apis::Core::Hashable
654
+
655
+ # A unique id representing this image.
656
+ # Corresponds to the JSON property `id`
657
+ # @return [String]
658
+ attr_accessor :id
659
+
660
+ # A sha1 hash of the image.
661
+ # Corresponds to the JSON property `sha1`
662
+ # @return [String]
663
+ attr_accessor :sha1
664
+
665
+ # A sha256 hash of the image.
666
+ # Corresponds to the JSON property `sha256`
667
+ # @return [String]
668
+ attr_accessor :sha256
669
+
670
+ # A URL that will serve a preview of the image.
671
+ # Corresponds to the JSON property `url`
672
+ # @return [String]
673
+ attr_accessor :url
674
+
675
+ def initialize(**args)
676
+ update!(**args)
677
+ end
678
+
679
+ # Update properties of this object
680
+ def update!(**args)
681
+ @id = args[:id] if args.key?(:id)
682
+ @sha1 = args[:sha1] if args.key?(:sha1)
683
+ @sha256 = args[:sha256] if args.key?(:sha256)
684
+ @url = args[:url] if args.key?(:url)
685
+ end
686
+ end
687
+
688
+ # Response for deleting all images.
689
+ class ImagesDeleteAllResponse
690
+ include Google::Apis::Core::Hashable
691
+
692
+ # The deleted images.
693
+ # Corresponds to the JSON property `deleted`
694
+ # @return [Array<Google::Apis::AndroidpublisherV3::Image>]
695
+ attr_accessor :deleted
696
+
697
+ def initialize(**args)
698
+ update!(**args)
699
+ end
700
+
701
+ # Update properties of this object
702
+ def update!(**args)
703
+ @deleted = args[:deleted] if args.key?(:deleted)
704
+ end
705
+ end
706
+
707
+ # Response listing all images.
708
+ class ImagesListResponse
709
+ include Google::Apis::Core::Hashable
710
+
711
+ # All listed Images.
712
+ # Corresponds to the JSON property `images`
713
+ # @return [Array<Google::Apis::AndroidpublisherV3::Image>]
714
+ attr_accessor :images
715
+
716
+ def initialize(**args)
717
+ update!(**args)
718
+ end
719
+
720
+ # Update properties of this object
721
+ def update!(**args)
722
+ @images = args[:images] if args.key?(:images)
723
+ end
724
+ end
725
+
726
+ # Response for uploading an image.
727
+ class ImagesUploadResponse
728
+ include Google::Apis::Core::Hashable
729
+
730
+ # An uploaded image. The resource for ImagesService.
731
+ # Corresponds to the JSON property `image`
732
+ # @return [Google::Apis::AndroidpublisherV3::Image]
733
+ attr_accessor :image
734
+
735
+ def initialize(**args)
736
+ update!(**args)
737
+ end
738
+
739
+ # Update properties of this object
740
+ def update!(**args)
741
+ @image = args[:image] if args.key?(:image)
742
+ end
743
+ end
744
+
745
+ # An in-app product. The resource for InappproductsService.
746
+ class InAppProduct
747
+ include Google::Apis::Core::Hashable
748
+
749
+ # Default language of the localized data, as defined by BCP-47. e.g. "en-US".
750
+ # Corresponds to the JSON property `defaultLanguage`
751
+ # @return [String]
752
+ attr_accessor :default_language
753
+
754
+ # Definition of a price, i.e. currency and units.
755
+ # Corresponds to the JSON property `defaultPrice`
756
+ # @return [Google::Apis::AndroidpublisherV3::Price]
757
+ attr_accessor :default_price
758
+
759
+ # Grace period of the subscription, specified in ISO 8601 format. Allows
760
+ # developers to give their subscribers a grace period when the payment for the
761
+ # new recurrence period is declined. Acceptable values are P0D (zero days), P3D (
762
+ # three days), P7D (seven days), P14D (14 days), and P30D (30 days).
763
+ # Corresponds to the JSON property `gracePeriod`
764
+ # @return [String]
765
+ attr_accessor :grace_period
766
+
767
+ # List of localized title and description data. Map key is the language of the
768
+ # localized data, as defined by BCP-47, e.g. "en-US".
769
+ # Corresponds to the JSON property `listings`
770
+ # @return [Hash<String,Google::Apis::AndroidpublisherV3::InAppProductListing>]
771
+ attr_accessor :listings
772
+
773
+ # Package name of the parent app.
774
+ # Corresponds to the JSON property `packageName`
775
+ # @return [String]
776
+ attr_accessor :package_name
777
+
778
+ # Prices per buyer region. None of these can be zero, as in-app products are
779
+ # never free. Map key is region code, as defined by ISO 3166-2.
780
+ # Corresponds to the JSON property `prices`
781
+ # @return [Hash<String,Google::Apis::AndroidpublisherV3::Price>]
782
+ attr_accessor :prices
783
+
784
+ # The type of the product, e.g. a recurring subscription.
785
+ # Corresponds to the JSON property `purchaseType`
786
+ # @return [String]
787
+ attr_accessor :purchase_type
788
+
789
+ # Stock-keeping-unit (SKU) of the product, unique within an app.
790
+ # Corresponds to the JSON property `sku`
791
+ # @return [String]
792
+ attr_accessor :sku
793
+
794
+ # The status of the product, e.g. whether it's active.
795
+ # Corresponds to the JSON property `status`
796
+ # @return [String]
797
+ attr_accessor :status
798
+
799
+ # Subscription period, specified in ISO 8601 format. Acceptable values are P1W (
800
+ # one week), P1M (one month), P3M (three months), P6M (six months), and P1Y (one
801
+ # year).
802
+ # Corresponds to the JSON property `subscriptionPeriod`
803
+ # @return [String]
804
+ attr_accessor :subscription_period
805
+
806
+ # Trial period, specified in ISO 8601 format. Acceptable values are anything
807
+ # between P7D (seven days) and P999D (999 days).
808
+ # Corresponds to the JSON property `trialPeriod`
809
+ # @return [String]
810
+ attr_accessor :trial_period
811
+
812
+ def initialize(**args)
813
+ update!(**args)
814
+ end
815
+
816
+ # Update properties of this object
817
+ def update!(**args)
818
+ @default_language = args[:default_language] if args.key?(:default_language)
819
+ @default_price = args[:default_price] if args.key?(:default_price)
820
+ @grace_period = args[:grace_period] if args.key?(:grace_period)
821
+ @listings = args[:listings] if args.key?(:listings)
822
+ @package_name = args[:package_name] if args.key?(:package_name)
823
+ @prices = args[:prices] if args.key?(:prices)
824
+ @purchase_type = args[:purchase_type] if args.key?(:purchase_type)
825
+ @sku = args[:sku] if args.key?(:sku)
826
+ @status = args[:status] if args.key?(:status)
827
+ @subscription_period = args[:subscription_period] if args.key?(:subscription_period)
828
+ @trial_period = args[:trial_period] if args.key?(:trial_period)
829
+ end
830
+ end
831
+
832
+ # Store listing of a single in-app product.
833
+ class InAppProductListing
834
+ include Google::Apis::Core::Hashable
835
+
836
+ # Localized entitlement benefits for a subscription.
837
+ # Corresponds to the JSON property `benefits`
838
+ # @return [Array<String>]
839
+ attr_accessor :benefits
840
+
841
+ # Description for the store listing.
842
+ # Corresponds to the JSON property `description`
843
+ # @return [String]
844
+ attr_accessor :description
845
+
846
+ # Title for the store listing.
847
+ # Corresponds to the JSON property `title`
848
+ # @return [String]
849
+ attr_accessor :title
850
+
851
+ def initialize(**args)
852
+ update!(**args)
853
+ end
854
+
855
+ # Update properties of this object
856
+ def update!(**args)
857
+ @benefits = args[:benefits] if args.key?(:benefits)
858
+ @description = args[:description] if args.key?(:description)
859
+ @title = args[:title] if args.key?(:title)
860
+ end
861
+ end
862
+
863
+ # Response listing all in-app products.
864
+ class InappproductsListResponse
865
+ include Google::Apis::Core::Hashable
866
+
867
+ # All in-app products.
868
+ # Corresponds to the JSON property `inappproduct`
869
+ # @return [Array<Google::Apis::AndroidpublisherV3::InAppProduct>]
870
+ attr_accessor :inappproduct
871
+
872
+ # The kind of this response ("androidpublisher#inappproductsListResponse").
873
+ # Corresponds to the JSON property `kind`
874
+ # @return [String]
875
+ attr_accessor :kind
876
+
877
+ # Information about the current page. List operations that supports paging
878
+ # return only one "page" of results. This protocol buffer message describes the
879
+ # page that has been returned.
880
+ # Corresponds to the JSON property `pageInfo`
881
+ # @return [Google::Apis::AndroidpublisherV3::PageInfo]
882
+ attr_accessor :page_info
883
+
884
+ # Pagination information returned by a List operation when token pagination is
885
+ # enabled. List operations that supports paging return only one "page" of
886
+ # results. This protocol buffer message describes the page that has been
887
+ # returned. When using token pagination, clients should use the next/previous
888
+ # token to get another page of the result. The presence or absence of next/
889
+ # previous token indicates whether a next/previous page is available and
890
+ # provides a mean of accessing this page. ListRequest.page_token should be set
891
+ # to either next_page_token or previous_page_token to access another page.
892
+ # Corresponds to the JSON property `tokenPagination`
893
+ # @return [Google::Apis::AndroidpublisherV3::TokenPagination]
894
+ attr_accessor :token_pagination
895
+
896
+ def initialize(**args)
897
+ update!(**args)
898
+ end
899
+
900
+ # Update properties of this object
901
+ def update!(**args)
902
+ @inappproduct = args[:inappproduct] if args.key?(:inappproduct)
903
+ @kind = args[:kind] if args.key?(:kind)
904
+ @page_info = args[:page_info] if args.key?(:page_info)
905
+ @token_pagination = args[:token_pagination] if args.key?(:token_pagination)
906
+ end
907
+ end
908
+
909
+ # An artifact resource which gets created when uploading an APK or Android App
910
+ # Bundle through internal app sharing.
911
+ class InternalAppSharingArtifact
912
+ include Google::Apis::Core::Hashable
913
+
914
+ # The sha256 fingerprint of the certificate used to sign the generated artifact.
915
+ # Corresponds to the JSON property `certificateFingerprint`
916
+ # @return [String]
917
+ attr_accessor :certificate_fingerprint
918
+
919
+ # The download URL generated for the uploaded artifact. Users that are
920
+ # authorized to download can follow the link to the Play Store app to install it.
921
+ # Corresponds to the JSON property `downloadUrl`
922
+ # @return [String]
923
+ attr_accessor :download_url
924
+
925
+ # The sha256 hash of the artifact represented as a lowercase hexadecimal number,
926
+ # matching the output of the sha256sum command.
927
+ # Corresponds to the JSON property `sha256`
928
+ # @return [String]
929
+ attr_accessor :sha256
930
+
931
+ def initialize(**args)
932
+ update!(**args)
933
+ end
934
+
935
+ # Update properties of this object
936
+ def update!(**args)
937
+ @certificate_fingerprint = args[:certificate_fingerprint] if args.key?(:certificate_fingerprint)
938
+ @download_url = args[:download_url] if args.key?(:download_url)
939
+ @sha256 = args[:sha256] if args.key?(:sha256)
940
+ end
941
+ end
942
+
943
+ # Contains the introductory price information for a subscription.
944
+ class IntroductoryPriceInfo
945
+ include Google::Apis::Core::Hashable
946
+
947
+ # Introductory price of the subscription, not including tax. The currency is the
948
+ # same as price_currency_code. Price is expressed in micro-units, where 1,000,
949
+ # 000 micro-units represents one unit of the currency. For example, if the
950
+ # subscription price is €1.99, price_amount_micros is 1990000.
951
+ # Corresponds to the JSON property `introductoryPriceAmountMicros`
952
+ # @return [Fixnum]
953
+ attr_accessor :introductory_price_amount_micros
954
+
955
+ # ISO 4217 currency code for the introductory subscription price. For example,
956
+ # if the price is specified in British pounds sterling, price_currency_code is "
957
+ # GBP".
958
+ # Corresponds to the JSON property `introductoryPriceCurrencyCode`
959
+ # @return [String]
960
+ attr_accessor :introductory_price_currency_code
961
+
962
+ # The number of billing period to offer introductory pricing.
963
+ # Corresponds to the JSON property `introductoryPriceCycles`
964
+ # @return [Fixnum]
965
+ attr_accessor :introductory_price_cycles
966
+
967
+ # Introductory price period, specified in ISO 8601 format. Common values are (
968
+ # but not limited to) "P1W" (one week), "P1M" (one month), "P3M" (three months),
969
+ # "P6M" (six months), and "P1Y" (one year).
970
+ # Corresponds to the JSON property `introductoryPricePeriod`
971
+ # @return [String]
972
+ attr_accessor :introductory_price_period
973
+
974
+ def initialize(**args)
975
+ update!(**args)
976
+ end
977
+
978
+ # Update properties of this object
979
+ def update!(**args)
980
+ @introductory_price_amount_micros = args[:introductory_price_amount_micros] if args.key?(:introductory_price_amount_micros)
981
+ @introductory_price_currency_code = args[:introductory_price_currency_code] if args.key?(:introductory_price_currency_code)
982
+ @introductory_price_cycles = args[:introductory_price_cycles] if args.key?(:introductory_price_cycles)
983
+ @introductory_price_period = args[:introductory_price_period] if args.key?(:introductory_price_period)
984
+ end
985
+ end
986
+
987
+ # A localized store listing. The resource for ListingsService.
988
+ class Listing
989
+ include Google::Apis::Core::Hashable
990
+
991
+ # Full description of the app.
992
+ # Corresponds to the JSON property `fullDescription`
993
+ # @return [String]
994
+ attr_accessor :full_description
995
+
996
+ # Language localization code (a BCP-47 language tag; for example, "de-AT" for
997
+ # Austrian German).
998
+ # Corresponds to the JSON property `language`
999
+ # @return [String]
1000
+ attr_accessor :language
1001
+
1002
+ # Short description of the app.
1003
+ # Corresponds to the JSON property `shortDescription`
1004
+ # @return [String]
1005
+ attr_accessor :short_description
1006
+
1007
+ # Localized title of the app.
1008
+ # Corresponds to the JSON property `title`
1009
+ # @return [String]
1010
+ attr_accessor :title
1011
+
1012
+ # URL of a promotional YouTube video for the app.
1013
+ # Corresponds to the JSON property `video`
1014
+ # @return [String]
1015
+ attr_accessor :video
1016
+
1017
+ def initialize(**args)
1018
+ update!(**args)
1019
+ end
1020
+
1021
+ # Update properties of this object
1022
+ def update!(**args)
1023
+ @full_description = args[:full_description] if args.key?(:full_description)
1024
+ @language = args[:language] if args.key?(:language)
1025
+ @short_description = args[:short_description] if args.key?(:short_description)
1026
+ @title = args[:title] if args.key?(:title)
1027
+ @video = args[:video] if args.key?(:video)
1028
+ end
1029
+ end
1030
+
1031
+ # Response listing all localized listings.
1032
+ class ListingsListResponse
1033
+ include Google::Apis::Core::Hashable
1034
+
1035
+ # The kind of this response ("androidpublisher#listingsListResponse").
1036
+ # Corresponds to the JSON property `kind`
1037
+ # @return [String]
1038
+ attr_accessor :kind
1039
+
1040
+ # All localized listings.
1041
+ # Corresponds to the JSON property `listings`
1042
+ # @return [Array<Google::Apis::AndroidpublisherV3::Listing>]
1043
+ attr_accessor :listings
1044
+
1045
+ def initialize(**args)
1046
+ update!(**args)
1047
+ end
1048
+
1049
+ # Update properties of this object
1050
+ def update!(**args)
1051
+ @kind = args[:kind] if args.key?(:kind)
1052
+ @listings = args[:listings] if args.key?(:listings)
1053
+ end
1054
+ end
1055
+
1056
+ # Release notes specification, i.e. language and text.
1057
+ class LocalizedText
1058
+ include Google::Apis::Core::Hashable
1059
+
1060
+ # Language localization code (a BCP-47 language tag; for example, "de-AT" for
1061
+ # Austrian German).
1062
+ # Corresponds to the JSON property `language`
1063
+ # @return [String]
1064
+ attr_accessor :language
1065
+
1066
+ # The text in the given language.
1067
+ # Corresponds to the JSON property `text`
1068
+ # @return [String]
1069
+ attr_accessor :text
1070
+
1071
+ def initialize(**args)
1072
+ update!(**args)
1073
+ end
1074
+
1075
+ # Update properties of this object
1076
+ def update!(**args)
1077
+ @language = args[:language] if args.key?(:language)
1078
+ @text = args[:text] if args.key?(:text)
1079
+ end
1080
+ end
1081
+
1082
+ # Information about the current page. List operations that supports paging
1083
+ # return only one "page" of results. This protocol buffer message describes the
1084
+ # page that has been returned.
1085
+ class PageInfo
1086
+ include Google::Apis::Core::Hashable
1087
+
1088
+ # Maximum number of results returned in one page. ! The number of results
1089
+ # included in the API response.
1090
+ # Corresponds to the JSON property `resultPerPage`
1091
+ # @return [Fixnum]
1092
+ attr_accessor :result_per_page
1093
+
1094
+ # Index of the first result returned in the current page.
1095
+ # Corresponds to the JSON property `startIndex`
1096
+ # @return [Fixnum]
1097
+ attr_accessor :start_index
1098
+
1099
+ # Total number of results available on the backend ! The total number of results
1100
+ # in the result set.
1101
+ # Corresponds to the JSON property `totalResults`
1102
+ # @return [Fixnum]
1103
+ attr_accessor :total_results
1104
+
1105
+ def initialize(**args)
1106
+ update!(**args)
1107
+ end
1108
+
1109
+ # Update properties of this object
1110
+ def update!(**args)
1111
+ @result_per_page = args[:result_per_page] if args.key?(:result_per_page)
1112
+ @start_index = args[:start_index] if args.key?(:start_index)
1113
+ @total_results = args[:total_results] if args.key?(:total_results)
1114
+ end
1115
+ end
1116
+
1117
+ # Definition of a price, i.e. currency and units.
1118
+ class Price
1119
+ include Google::Apis::Core::Hashable
1120
+
1121
+ # 3 letter Currency code, as defined by ISO 4217. See java/com/google/common/
1122
+ # money/CurrencyCode.java
1123
+ # Corresponds to the JSON property `currency`
1124
+ # @return [String]
1125
+ attr_accessor :currency
1126
+
1127
+ # Price in 1/million of the currency base unit, represented as a string.
1128
+ # Corresponds to the JSON property `priceMicros`
1129
+ # @return [String]
1130
+ attr_accessor :price_micros
1131
+
1132
+ def initialize(**args)
1133
+ update!(**args)
1134
+ end
1135
+
1136
+ # Update properties of this object
1137
+ def update!(**args)
1138
+ @currency = args[:currency] if args.key?(:currency)
1139
+ @price_micros = args[:price_micros] if args.key?(:price_micros)
1140
+ end
1141
+ end
1142
+
1143
+ # A ProductPurchase resource indicates the status of a user's inapp product
1144
+ # purchase.
1145
+ class ProductPurchase
1146
+ include Google::Apis::Core::Hashable
1147
+
1148
+ # The acknowledgement state of the inapp product. Possible values are: 0. Yet to
1149
+ # be acknowledged 1. Acknowledged
1150
+ # Corresponds to the JSON property `acknowledgementState`
1151
+ # @return [Fixnum]
1152
+ attr_accessor :acknowledgement_state
1153
+
1154
+ # The consumption state of the inapp product. Possible values are: 0. Yet to be
1155
+ # consumed 1. Consumed
1156
+ # Corresponds to the JSON property `consumptionState`
1157
+ # @return [Fixnum]
1158
+ attr_accessor :consumption_state
1159
+
1160
+ # A developer-specified string that contains supplemental information about an
1161
+ # order.
1162
+ # Corresponds to the JSON property `developerPayload`
1163
+ # @return [String]
1164
+ attr_accessor :developer_payload
1165
+
1166
+ # This kind represents an inappPurchase object in the androidpublisher service.
1167
+ # Corresponds to the JSON property `kind`
1168
+ # @return [String]
1169
+ attr_accessor :kind
1170
+
1171
+ # An obfuscated version of the id that is uniquely associated with the user's
1172
+ # account in your app. Only present if specified using https://developer.android.
1173
+ # com/reference/com/android/billingclient/api/BillingFlowParams.Builder#
1174
+ # setobfuscatedaccountid when the purchase was made.
1175
+ # Corresponds to the JSON property `obfuscatedExternalAccountId`
1176
+ # @return [String]
1177
+ attr_accessor :obfuscated_external_account_id
1178
+
1179
+ # An obfuscated version of the id that is uniquely associated with the user's
1180
+ # profile in your app. Only present if specified using https://developer.android.
1181
+ # com/reference/com/android/billingclient/api/BillingFlowParams.Builder#
1182
+ # setobfuscatedprofileid when the purchase was made.
1183
+ # Corresponds to the JSON property `obfuscatedExternalProfileId`
1184
+ # @return [String]
1185
+ attr_accessor :obfuscated_external_profile_id
1186
+
1187
+ # The order id associated with the purchase of the inapp product.
1188
+ # Corresponds to the JSON property `orderId`
1189
+ # @return [String]
1190
+ attr_accessor :order_id
1191
+
1192
+ # The inapp product SKU.
1193
+ # Corresponds to the JSON property `productId`
1194
+ # @return [String]
1195
+ attr_accessor :product_id
1196
+
1197
+ # The purchase state of the order. Possible values are: 0. Purchased 1. Canceled
1198
+ # 2. Pending
1199
+ # Corresponds to the JSON property `purchaseState`
1200
+ # @return [Fixnum]
1201
+ attr_accessor :purchase_state
1202
+
1203
+ # The time the product was purchased, in milliseconds since the epoch (Jan 1,
1204
+ # 1970).
1205
+ # Corresponds to the JSON property `purchaseTimeMillis`
1206
+ # @return [Fixnum]
1207
+ attr_accessor :purchase_time_millis
1208
+
1209
+ # The purchase token generated to identify this purchase.
1210
+ # Corresponds to the JSON property `purchaseToken`
1211
+ # @return [String]
1212
+ attr_accessor :purchase_token
1213
+
1214
+ # The type of purchase of the inapp product. This field is only set if this
1215
+ # purchase was not made using the standard in-app billing flow. Possible values
1216
+ # are: 0. Test (i.e. purchased from a license testing account) 1. Promo (i.e.
1217
+ # purchased using a promo code) 2. Rewarded (i.e. from watching a video ad
1218
+ # instead of paying)
1219
+ # Corresponds to the JSON property `purchaseType`
1220
+ # @return [Fixnum]
1221
+ attr_accessor :purchase_type
1222
+
1223
+ # The quantity associated with the purchase of the inapp product.
1224
+ # Corresponds to the JSON property `quantity`
1225
+ # @return [Fixnum]
1226
+ attr_accessor :quantity
1227
+
1228
+ # ISO 3166-1 alpha-2 billing region code of the user at the time the product was
1229
+ # granted.
1230
+ # Corresponds to the JSON property `regionCode`
1231
+ # @return [String]
1232
+ attr_accessor :region_code
1233
+
1234
+ def initialize(**args)
1235
+ update!(**args)
1236
+ end
1237
+
1238
+ # Update properties of this object
1239
+ def update!(**args)
1240
+ @acknowledgement_state = args[:acknowledgement_state] if args.key?(:acknowledgement_state)
1241
+ @consumption_state = args[:consumption_state] if args.key?(:consumption_state)
1242
+ @developer_payload = args[:developer_payload] if args.key?(:developer_payload)
1243
+ @kind = args[:kind] if args.key?(:kind)
1244
+ @obfuscated_external_account_id = args[:obfuscated_external_account_id] if args.key?(:obfuscated_external_account_id)
1245
+ @obfuscated_external_profile_id = args[:obfuscated_external_profile_id] if args.key?(:obfuscated_external_profile_id)
1246
+ @order_id = args[:order_id] if args.key?(:order_id)
1247
+ @product_id = args[:product_id] if args.key?(:product_id)
1248
+ @purchase_state = args[:purchase_state] if args.key?(:purchase_state)
1249
+ @purchase_time_millis = args[:purchase_time_millis] if args.key?(:purchase_time_millis)
1250
+ @purchase_token = args[:purchase_token] if args.key?(:purchase_token)
1251
+ @purchase_type = args[:purchase_type] if args.key?(:purchase_type)
1252
+ @quantity = args[:quantity] if args.key?(:quantity)
1253
+ @region_code = args[:region_code] if args.key?(:region_code)
1254
+ end
1255
+ end
1256
+
1257
+ # Request for the product.purchases.acknowledge API.
1258
+ class ProductPurchasesAcknowledgeRequest
1259
+ include Google::Apis::Core::Hashable
1260
+
1261
+ # Payload to attach to the purchase.
1262
+ # Corresponds to the JSON property `developerPayload`
1263
+ # @return [String]
1264
+ attr_accessor :developer_payload
1265
+
1266
+ def initialize(**args)
1267
+ update!(**args)
1268
+ end
1269
+
1270
+ # Update properties of this object
1271
+ def update!(**args)
1272
+ @developer_payload = args[:developer_payload] if args.key?(:developer_payload)
1273
+ end
1274
+ end
1275
+
1276
+ # An Android app review.
1277
+ class Review
1278
+ include Google::Apis::Core::Hashable
1279
+
1280
+ # The name of the user who wrote the review.
1281
+ # Corresponds to the JSON property `authorName`
1282
+ # @return [String]
1283
+ attr_accessor :author_name
1284
+
1285
+ # A repeated field containing comments for the review.
1286
+ # Corresponds to the JSON property `comments`
1287
+ # @return [Array<Google::Apis::AndroidpublisherV3::Comment>]
1288
+ attr_accessor :comments
1289
+
1290
+ # Unique identifier for this review.
1291
+ # Corresponds to the JSON property `reviewId`
1292
+ # @return [String]
1293
+ attr_accessor :review_id
1294
+
1295
+ def initialize(**args)
1296
+ update!(**args)
1297
+ end
1298
+
1299
+ # Update properties of this object
1300
+ def update!(**args)
1301
+ @author_name = args[:author_name] if args.key?(:author_name)
1302
+ @comments = args[:comments] if args.key?(:comments)
1303
+ @review_id = args[:review_id] if args.key?(:review_id)
1304
+ end
1305
+ end
1306
+
1307
+ # The result of replying/updating a reply to review.
1308
+ class ReviewReplyResult
1309
+ include Google::Apis::Core::Hashable
1310
+
1311
+ # A Timestamp represents a point in time independent of any time zone or local
1312
+ # calendar, encoded as a count of seconds and fractions of seconds at nanosecond
1313
+ # resolution. The count is relative to an epoch at UTC midnight on January 1,
1314
+ # 1970.
1315
+ # Corresponds to the JSON property `lastEdited`
1316
+ # @return [Google::Apis::AndroidpublisherV3::Timestamp]
1317
+ attr_accessor :last_edited
1318
+
1319
+ # The reply text that was applied.
1320
+ # Corresponds to the JSON property `replyText`
1321
+ # @return [String]
1322
+ attr_accessor :reply_text
1323
+
1324
+ def initialize(**args)
1325
+ update!(**args)
1326
+ end
1327
+
1328
+ # Update properties of this object
1329
+ def update!(**args)
1330
+ @last_edited = args[:last_edited] if args.key?(:last_edited)
1331
+ @reply_text = args[:reply_text] if args.key?(:reply_text)
1332
+ end
1333
+ end
1334
+
1335
+ # Response listing reviews.
1336
+ class ReviewsListResponse
1337
+ include Google::Apis::Core::Hashable
1338
+
1339
+ # Information about the current page. List operations that supports paging
1340
+ # return only one "page" of results. This protocol buffer message describes the
1341
+ # page that has been returned.
1342
+ # Corresponds to the JSON property `pageInfo`
1343
+ # @return [Google::Apis::AndroidpublisherV3::PageInfo]
1344
+ attr_accessor :page_info
1345
+
1346
+ # List of reviews.
1347
+ # Corresponds to the JSON property `reviews`
1348
+ # @return [Array<Google::Apis::AndroidpublisherV3::Review>]
1349
+ attr_accessor :reviews
1350
+
1351
+ # Pagination information returned by a List operation when token pagination is
1352
+ # enabled. List operations that supports paging return only one "page" of
1353
+ # results. This protocol buffer message describes the page that has been
1354
+ # returned. When using token pagination, clients should use the next/previous
1355
+ # token to get another page of the result. The presence or absence of next/
1356
+ # previous token indicates whether a next/previous page is available and
1357
+ # provides a mean of accessing this page. ListRequest.page_token should be set
1358
+ # to either next_page_token or previous_page_token to access another page.
1359
+ # Corresponds to the JSON property `tokenPagination`
1360
+ # @return [Google::Apis::AndroidpublisherV3::TokenPagination]
1361
+ attr_accessor :token_pagination
1362
+
1363
+ def initialize(**args)
1364
+ update!(**args)
1365
+ end
1366
+
1367
+ # Update properties of this object
1368
+ def update!(**args)
1369
+ @page_info = args[:page_info] if args.key?(:page_info)
1370
+ @reviews = args[:reviews] if args.key?(:reviews)
1371
+ @token_pagination = args[:token_pagination] if args.key?(:token_pagination)
1372
+ end
1373
+ end
1374
+
1375
+ # Request to reply to review or update existing reply.
1376
+ class ReviewsReplyRequest
1377
+ include Google::Apis::Core::Hashable
1378
+
1379
+ # The text to set as the reply. Replies of more than approximately 350
1380
+ # characters will be rejected. HTML tags will be stripped.
1381
+ # Corresponds to the JSON property `replyText`
1382
+ # @return [String]
1383
+ attr_accessor :reply_text
1384
+
1385
+ def initialize(**args)
1386
+ update!(**args)
1387
+ end
1388
+
1389
+ # Update properties of this object
1390
+ def update!(**args)
1391
+ @reply_text = args[:reply_text] if args.key?(:reply_text)
1392
+ end
1393
+ end
1394
+
1395
+ # Response on status of replying to a review.
1396
+ class ReviewsReplyResponse
1397
+ include Google::Apis::Core::Hashable
1398
+
1399
+ # The result of replying/updating a reply to review.
1400
+ # Corresponds to the JSON property `result`
1401
+ # @return [Google::Apis::AndroidpublisherV3::ReviewReplyResult]
1402
+ attr_accessor :result
1403
+
1404
+ def initialize(**args)
1405
+ update!(**args)
1406
+ end
1407
+
1408
+ # Update properties of this object
1409
+ def update!(**args)
1410
+ @result = args[:result] if args.key?(:result)
1411
+ end
1412
+ end
1413
+
1414
+ # Information provided by the user when they complete the subscription
1415
+ # cancellation flow (cancellation reason survey).
1416
+ class SubscriptionCancelSurveyResult
1417
+ include Google::Apis::Core::Hashable
1418
+
1419
+ # The cancellation reason the user chose in the survey. Possible values are: 0.
1420
+ # Other 1. I don't use this service enough 2. Technical issues 3. Cost-related
1421
+ # reasons 4. I found a better app
1422
+ # Corresponds to the JSON property `cancelSurveyReason`
1423
+ # @return [Fixnum]
1424
+ attr_accessor :cancel_survey_reason
1425
+
1426
+ # The customized input cancel reason from the user. Only present when
1427
+ # cancelReason is 0.
1428
+ # Corresponds to the JSON property `userInputCancelReason`
1429
+ # @return [String]
1430
+ attr_accessor :user_input_cancel_reason
1431
+
1432
+ def initialize(**args)
1433
+ update!(**args)
1434
+ end
1435
+
1436
+ # Update properties of this object
1437
+ def update!(**args)
1438
+ @cancel_survey_reason = args[:cancel_survey_reason] if args.key?(:cancel_survey_reason)
1439
+ @user_input_cancel_reason = args[:user_input_cancel_reason] if args.key?(:user_input_cancel_reason)
1440
+ end
1441
+ end
1442
+
1443
+ # A SubscriptionDeferralInfo contains the data needed to defer a subscription
1444
+ # purchase to a future expiry time.
1445
+ class SubscriptionDeferralInfo
1446
+ include Google::Apis::Core::Hashable
1447
+
1448
+ # The desired next expiry time to assign to the subscription, in milliseconds
1449
+ # since the Epoch. The given time must be later/greater than the current expiry
1450
+ # time for the subscription.
1451
+ # Corresponds to the JSON property `desiredExpiryTimeMillis`
1452
+ # @return [Fixnum]
1453
+ attr_accessor :desired_expiry_time_millis
1454
+
1455
+ # The expected expiry time for the subscription. If the current expiry time for
1456
+ # the subscription is not the value specified here, the deferral will not occur.
1457
+ # Corresponds to the JSON property `expectedExpiryTimeMillis`
1458
+ # @return [Fixnum]
1459
+ attr_accessor :expected_expiry_time_millis
1460
+
1461
+ def initialize(**args)
1462
+ update!(**args)
1463
+ end
1464
+
1465
+ # Update properties of this object
1466
+ def update!(**args)
1467
+ @desired_expiry_time_millis = args[:desired_expiry_time_millis] if args.key?(:desired_expiry_time_millis)
1468
+ @expected_expiry_time_millis = args[:expected_expiry_time_millis] if args.key?(:expected_expiry_time_millis)
1469
+ end
1470
+ end
1471
+
1472
+ # Contains the price change information for a subscription that can be used to
1473
+ # control the user journey for the price change in the app. This can be in the
1474
+ # form of seeking confirmation from the user or tailoring the experience for a
1475
+ # successful conversion.
1476
+ class SubscriptionPriceChange
1477
+ include Google::Apis::Core::Hashable
1478
+
1479
+ # Definition of a price, i.e. currency and units.
1480
+ # Corresponds to the JSON property `newPrice`
1481
+ # @return [Google::Apis::AndroidpublisherV3::Price]
1482
+ attr_accessor :new_price
1483
+
1484
+ # The current state of the price change. Possible values are: 0. Outstanding:
1485
+ # State for a pending price change waiting for the user to agree. In this state,
1486
+ # you can optionally seek confirmation from the user using the In-App API. 1.
1487
+ # Accepted: State for an accepted price change that the subscription will renew
1488
+ # with unless it's canceled. The price change takes effect on a future date when
1489
+ # the subscription renews. Note that the change might not occur when the
1490
+ # subscription is renewed next.
1491
+ # Corresponds to the JSON property `state`
1492
+ # @return [Fixnum]
1493
+ attr_accessor :state
1494
+
1495
+ def initialize(**args)
1496
+ update!(**args)
1497
+ end
1498
+
1499
+ # Update properties of this object
1500
+ def update!(**args)
1501
+ @new_price = args[:new_price] if args.key?(:new_price)
1502
+ @state = args[:state] if args.key?(:state)
1503
+ end
1504
+ end
1505
+
1506
+ # A SubscriptionPurchase resource indicates the status of a user's subscription
1507
+ # purchase.
1508
+ class SubscriptionPurchase
1509
+ include Google::Apis::Core::Hashable
1510
+
1511
+ # The acknowledgement state of the subscription product. Possible values are: 0.
1512
+ # Yet to be acknowledged 1. Acknowledged
1513
+ # Corresponds to the JSON property `acknowledgementState`
1514
+ # @return [Fixnum]
1515
+ attr_accessor :acknowledgement_state
1516
+
1517
+ # Whether the subscription will automatically be renewed when it reaches its
1518
+ # current expiry time.
1519
+ # Corresponds to the JSON property `autoRenewing`
1520
+ # @return [Boolean]
1521
+ attr_accessor :auto_renewing
1522
+ alias_method :auto_renewing?, :auto_renewing
1523
+
1524
+ # Time at which the subscription will be automatically resumed, in milliseconds
1525
+ # since the Epoch. Only present if the user has requested to pause the
1526
+ # subscription.
1527
+ # Corresponds to the JSON property `autoResumeTimeMillis`
1528
+ # @return [Fixnum]
1529
+ attr_accessor :auto_resume_time_millis
1530
+
1531
+ # The reason why a subscription was canceled or is not auto-renewing. Possible
1532
+ # values are: 0. User canceled the subscription 1. Subscription was canceled by
1533
+ # the system, for example because of a billing problem 2. Subscription was
1534
+ # replaced with a new subscription 3. Subscription was canceled by the developer
1535
+ # Corresponds to the JSON property `cancelReason`
1536
+ # @return [Fixnum]
1537
+ attr_accessor :cancel_reason
1538
+
1539
+ # Information provided by the user when they complete the subscription
1540
+ # cancellation flow (cancellation reason survey).
1541
+ # Corresponds to the JSON property `cancelSurveyResult`
1542
+ # @return [Google::Apis::AndroidpublisherV3::SubscriptionCancelSurveyResult]
1543
+ attr_accessor :cancel_survey_result
1544
+
1545
+ # ISO 3166-1 alpha-2 billing country/region code of the user at the time the
1546
+ # subscription was granted.
1547
+ # Corresponds to the JSON property `countryCode`
1548
+ # @return [String]
1549
+ attr_accessor :country_code
1550
+
1551
+ # A developer-specified string that contains supplemental information about an
1552
+ # order.
1553
+ # Corresponds to the JSON property `developerPayload`
1554
+ # @return [String]
1555
+ attr_accessor :developer_payload
1556
+
1557
+ # The email address of the user when the subscription was purchased. Only
1558
+ # present for purchases made with 'Subscribe with Google'.
1559
+ # Corresponds to the JSON property `emailAddress`
1560
+ # @return [String]
1561
+ attr_accessor :email_address
1562
+
1563
+ # Time at which the subscription will expire, in milliseconds since the Epoch.
1564
+ # Corresponds to the JSON property `expiryTimeMillis`
1565
+ # @return [Fixnum]
1566
+ attr_accessor :expiry_time_millis
1567
+
1568
+ # User account identifier in the third-party service. Only present if account
1569
+ # linking happened as part of the subscription purchase flow.
1570
+ # Corresponds to the JSON property `externalAccountId`
1571
+ # @return [String]
1572
+ attr_accessor :external_account_id
1573
+
1574
+ # The family name of the user when the subscription was purchased. Only present
1575
+ # for purchases made with 'Subscribe with Google'.
1576
+ # Corresponds to the JSON property `familyName`
1577
+ # @return [String]
1578
+ attr_accessor :family_name
1579
+
1580
+ # The given name of the user when the subscription was purchased. Only present
1581
+ # for purchases made with 'Subscribe with Google'.
1582
+ # Corresponds to the JSON property `givenName`
1583
+ # @return [String]
1584
+ attr_accessor :given_name
1585
+
1586
+ # Contains the introductory price information for a subscription.
1587
+ # Corresponds to the JSON property `introductoryPriceInfo`
1588
+ # @return [Google::Apis::AndroidpublisherV3::IntroductoryPriceInfo]
1589
+ attr_accessor :introductory_price_info
1590
+
1591
+ # This kind represents a subscriptionPurchase object in the androidpublisher
1592
+ # service.
1593
+ # Corresponds to the JSON property `kind`
1594
+ # @return [String]
1595
+ attr_accessor :kind
1596
+
1597
+ # The purchase token of the originating purchase if this subscription is one of
1598
+ # the following: 0. Re-signup of a canceled but non-lapsed subscription 1.
1599
+ # Upgrade/downgrade from a previous subscription For example, suppose a user
1600
+ # originally signs up and you receive purchase token X, then the user cancels
1601
+ # and goes through the resignup flow (before their subscription lapses) and you
1602
+ # receive purchase token Y, and finally the user upgrades their subscription and
1603
+ # you receive purchase token Z. If you call this API with purchase token Z, this
1604
+ # field will be set to Y. If you call this API with purchase token Y, this field
1605
+ # will be set to X. If you call this API with purchase token X, this field will
1606
+ # not be set.
1607
+ # Corresponds to the JSON property `linkedPurchaseToken`
1608
+ # @return [String]
1609
+ attr_accessor :linked_purchase_token
1610
+
1611
+ # An obfuscated version of the id that is uniquely associated with the user's
1612
+ # account in your app. Present for the following purchases: * If account linking
1613
+ # happened as part of the subscription purchase flow. * It was specified using
1614
+ # https://developer.android.com/reference/com/android/billingclient/api/
1615
+ # BillingFlowParams.Builder#setobfuscatedaccountid when the purchase was made.
1616
+ # Corresponds to the JSON property `obfuscatedExternalAccountId`
1617
+ # @return [String]
1618
+ attr_accessor :obfuscated_external_account_id
1619
+
1620
+ # An obfuscated version of the id that is uniquely associated with the user's
1621
+ # profile in your app. Only present if specified using https://developer.android.
1622
+ # com/reference/com/android/billingclient/api/BillingFlowParams.Builder#
1623
+ # setobfuscatedprofileid when the purchase was made.
1624
+ # Corresponds to the JSON property `obfuscatedExternalProfileId`
1625
+ # @return [String]
1626
+ attr_accessor :obfuscated_external_profile_id
1627
+
1628
+ # The order id of the latest recurring order associated with the purchase of the
1629
+ # subscription.
1630
+ # Corresponds to the JSON property `orderId`
1631
+ # @return [String]
1632
+ attr_accessor :order_id
1633
+
1634
+ # The payment state of the subscription. Possible values are: 0. Payment pending
1635
+ # 1. Payment received 2. Free trial 3. Pending deferred upgrade/downgrade Not
1636
+ # present for canceled, expired subscriptions.
1637
+ # Corresponds to the JSON property `paymentState`
1638
+ # @return [Fixnum]
1639
+ attr_accessor :payment_state
1640
+
1641
+ # Price of the subscription, not including tax. Price is expressed in micro-
1642
+ # units, where 1,000,000 micro-units represents one unit of the currency. For
1643
+ # example, if the subscription price is €1.99, price_amount_micros is 1990000.
1644
+ # Corresponds to the JSON property `priceAmountMicros`
1645
+ # @return [Fixnum]
1646
+ attr_accessor :price_amount_micros
1647
+
1648
+ # Contains the price change information for a subscription that can be used to
1649
+ # control the user journey for the price change in the app. This can be in the
1650
+ # form of seeking confirmation from the user or tailoring the experience for a
1651
+ # successful conversion.
1652
+ # Corresponds to the JSON property `priceChange`
1653
+ # @return [Google::Apis::AndroidpublisherV3::SubscriptionPriceChange]
1654
+ attr_accessor :price_change
1655
+
1656
+ # ISO 4217 currency code for the subscription price. For example, if the price
1657
+ # is specified in British pounds sterling, price_currency_code is "GBP".
1658
+ # Corresponds to the JSON property `priceCurrencyCode`
1659
+ # @return [String]
1660
+ attr_accessor :price_currency_code
1661
+
1662
+ # The Google profile id of the user when the subscription was purchased. Only
1663
+ # present for purchases made with 'Subscribe with Google'.
1664
+ # Corresponds to the JSON property `profileId`
1665
+ # @return [String]
1666
+ attr_accessor :profile_id
1667
+
1668
+ # The profile name of the user when the subscription was purchased. Only present
1669
+ # for purchases made with 'Subscribe with Google'.
1670
+ # Corresponds to the JSON property `profileName`
1671
+ # @return [String]
1672
+ attr_accessor :profile_name
1673
+
1674
+ # The promotion code applied on this purchase. This field is only set if a
1675
+ # vanity code promotion is applied when the subscription was purchased.
1676
+ # Corresponds to the JSON property `promotionCode`
1677
+ # @return [String]
1678
+ attr_accessor :promotion_code
1679
+
1680
+ # The type of promotion applied on this purchase. This field is only set if a
1681
+ # promotion is applied when the subscription was purchased. Possible values are:
1682
+ # 0. One time code 1. Vanity code
1683
+ # Corresponds to the JSON property `promotionType`
1684
+ # @return [Fixnum]
1685
+ attr_accessor :promotion_type
1686
+
1687
+ # The type of purchase of the subscription. This field is only set if this
1688
+ # purchase was not made using the standard in-app billing flow. Possible values
1689
+ # are: 0. Test (i.e. purchased from a license testing account) 1. Promo (i.e.
1690
+ # purchased using a promo code)
1691
+ # Corresponds to the JSON property `purchaseType`
1692
+ # @return [Fixnum]
1693
+ attr_accessor :purchase_type
1694
+
1695
+ # Time at which the subscription was granted, in milliseconds since the Epoch.
1696
+ # Corresponds to the JSON property `startTimeMillis`
1697
+ # @return [Fixnum]
1698
+ attr_accessor :start_time_millis
1699
+
1700
+ # The time at which the subscription was canceled by the user, in milliseconds
1701
+ # since the epoch. Only present if cancelReason is 0.
1702
+ # Corresponds to the JSON property `userCancellationTimeMillis`
1703
+ # @return [Fixnum]
1704
+ attr_accessor :user_cancellation_time_millis
1705
+
1706
+ def initialize(**args)
1707
+ update!(**args)
1708
+ end
1709
+
1710
+ # Update properties of this object
1711
+ def update!(**args)
1712
+ @acknowledgement_state = args[:acknowledgement_state] if args.key?(:acknowledgement_state)
1713
+ @auto_renewing = args[:auto_renewing] if args.key?(:auto_renewing)
1714
+ @auto_resume_time_millis = args[:auto_resume_time_millis] if args.key?(:auto_resume_time_millis)
1715
+ @cancel_reason = args[:cancel_reason] if args.key?(:cancel_reason)
1716
+ @cancel_survey_result = args[:cancel_survey_result] if args.key?(:cancel_survey_result)
1717
+ @country_code = args[:country_code] if args.key?(:country_code)
1718
+ @developer_payload = args[:developer_payload] if args.key?(:developer_payload)
1719
+ @email_address = args[:email_address] if args.key?(:email_address)
1720
+ @expiry_time_millis = args[:expiry_time_millis] if args.key?(:expiry_time_millis)
1721
+ @external_account_id = args[:external_account_id] if args.key?(:external_account_id)
1722
+ @family_name = args[:family_name] if args.key?(:family_name)
1723
+ @given_name = args[:given_name] if args.key?(:given_name)
1724
+ @introductory_price_info = args[:introductory_price_info] if args.key?(:introductory_price_info)
1725
+ @kind = args[:kind] if args.key?(:kind)
1726
+ @linked_purchase_token = args[:linked_purchase_token] if args.key?(:linked_purchase_token)
1727
+ @obfuscated_external_account_id = args[:obfuscated_external_account_id] if args.key?(:obfuscated_external_account_id)
1728
+ @obfuscated_external_profile_id = args[:obfuscated_external_profile_id] if args.key?(:obfuscated_external_profile_id)
1729
+ @order_id = args[:order_id] if args.key?(:order_id)
1730
+ @payment_state = args[:payment_state] if args.key?(:payment_state)
1731
+ @price_amount_micros = args[:price_amount_micros] if args.key?(:price_amount_micros)
1732
+ @price_change = args[:price_change] if args.key?(:price_change)
1733
+ @price_currency_code = args[:price_currency_code] if args.key?(:price_currency_code)
1734
+ @profile_id = args[:profile_id] if args.key?(:profile_id)
1735
+ @profile_name = args[:profile_name] if args.key?(:profile_name)
1736
+ @promotion_code = args[:promotion_code] if args.key?(:promotion_code)
1737
+ @promotion_type = args[:promotion_type] if args.key?(:promotion_type)
1738
+ @purchase_type = args[:purchase_type] if args.key?(:purchase_type)
1739
+ @start_time_millis = args[:start_time_millis] if args.key?(:start_time_millis)
1740
+ @user_cancellation_time_millis = args[:user_cancellation_time_millis] if args.key?(:user_cancellation_time_millis)
1741
+ end
1742
+ end
1743
+
1744
+ # Request for the purchases.subscriptions.acknowledge API.
1745
+ class SubscriptionPurchasesAcknowledgeRequest
1746
+ include Google::Apis::Core::Hashable
1747
+
1748
+ # Payload to attach to the purchase.
1749
+ # Corresponds to the JSON property `developerPayload`
1750
+ # @return [String]
1751
+ attr_accessor :developer_payload
1752
+
1753
+ def initialize(**args)
1754
+ update!(**args)
1755
+ end
1756
+
1757
+ # Update properties of this object
1758
+ def update!(**args)
1759
+ @developer_payload = args[:developer_payload] if args.key?(:developer_payload)
1760
+ end
1761
+ end
1762
+
1763
+ # Request for the purchases.subscriptions.defer API.
1764
+ class SubscriptionPurchasesDeferRequest
1765
+ include Google::Apis::Core::Hashable
1766
+
1767
+ # A SubscriptionDeferralInfo contains the data needed to defer a subscription
1768
+ # purchase to a future expiry time.
1769
+ # Corresponds to the JSON property `deferralInfo`
1770
+ # @return [Google::Apis::AndroidpublisherV3::SubscriptionDeferralInfo]
1771
+ attr_accessor :deferral_info
1772
+
1773
+ def initialize(**args)
1774
+ update!(**args)
1775
+ end
1776
+
1777
+ # Update properties of this object
1778
+ def update!(**args)
1779
+ @deferral_info = args[:deferral_info] if args.key?(:deferral_info)
1780
+ end
1781
+ end
1782
+
1783
+ # Response for the purchases.subscriptions.defer API.
1784
+ class SubscriptionPurchasesDeferResponse
1785
+ include Google::Apis::Core::Hashable
1786
+
1787
+ # The new expiry time for the subscription in milliseconds since the Epoch.
1788
+ # Corresponds to the JSON property `newExpiryTimeMillis`
1789
+ # @return [Fixnum]
1790
+ attr_accessor :new_expiry_time_millis
1791
+
1792
+ def initialize(**args)
1793
+ update!(**args)
1794
+ end
1795
+
1796
+ # Update properties of this object
1797
+ def update!(**args)
1798
+ @new_expiry_time_millis = args[:new_expiry_time_millis] if args.key?(:new_expiry_time_millis)
1799
+ end
1800
+ end
1801
+
1802
+ # Response to list previously created system APK variants.
1803
+ class SystemApksListResponse
1804
+ include Google::Apis::Core::Hashable
1805
+
1806
+ # All system APK variants created.
1807
+ # Corresponds to the JSON property `variants`
1808
+ # @return [Array<Google::Apis::AndroidpublisherV3::Variant>]
1809
+ attr_accessor :variants
1810
+
1811
+ def initialize(**args)
1812
+ update!(**args)
1813
+ end
1814
+
1815
+ # Update properties of this object
1816
+ def update!(**args)
1817
+ @variants = args[:variants] if args.key?(:variants)
1818
+ end
1819
+ end
1820
+
1821
+ # The testers of an app. The resource for TestersService.
1822
+ class Testers
1823
+ include Google::Apis::Core::Hashable
1824
+
1825
+ # All testing Google Groups, as email addresses.
1826
+ # Corresponds to the JSON property `googleGroups`
1827
+ # @return [Array<String>]
1828
+ attr_accessor :google_groups
1829
+
1830
+ def initialize(**args)
1831
+ update!(**args)
1832
+ end
1833
+
1834
+ # Update properties of this object
1835
+ def update!(**args)
1836
+ @google_groups = args[:google_groups] if args.key?(:google_groups)
1837
+ end
1838
+ end
1839
+
1840
+ # A Timestamp represents a point in time independent of any time zone or local
1841
+ # calendar, encoded as a count of seconds and fractions of seconds at nanosecond
1842
+ # resolution. The count is relative to an epoch at UTC midnight on January 1,
1843
+ # 1970.
1844
+ class Timestamp
1845
+ include Google::Apis::Core::Hashable
1846
+
1847
+ # Non-negative fractions of a second at nanosecond resolution. Must be from 0 to
1848
+ # 999,999,999 inclusive.
1849
+ # Corresponds to the JSON property `nanos`
1850
+ # @return [Fixnum]
1851
+ attr_accessor :nanos
1852
+
1853
+ # Represents seconds of UTC time since Unix epoch.
1854
+ # Corresponds to the JSON property `seconds`
1855
+ # @return [Fixnum]
1856
+ attr_accessor :seconds
1857
+
1858
+ def initialize(**args)
1859
+ update!(**args)
1860
+ end
1861
+
1862
+ # Update properties of this object
1863
+ def update!(**args)
1864
+ @nanos = args[:nanos] if args.key?(:nanos)
1865
+ @seconds = args[:seconds] if args.key?(:seconds)
1866
+ end
1867
+ end
1868
+
1869
+ # Pagination information returned by a List operation when token pagination is
1870
+ # enabled. List operations that supports paging return only one "page" of
1871
+ # results. This protocol buffer message describes the page that has been
1872
+ # returned. When using token pagination, clients should use the next/previous
1873
+ # token to get another page of the result. The presence or absence of next/
1874
+ # previous token indicates whether a next/previous page is available and
1875
+ # provides a mean of accessing this page. ListRequest.page_token should be set
1876
+ # to either next_page_token or previous_page_token to access another page.
1877
+ class TokenPagination
1878
+ include Google::Apis::Core::Hashable
1879
+
1880
+ # Tokens to pass to the standard list field 'page_token'. Whenever available,
1881
+ # tokens are preferred over manipulating start_index.
1882
+ # Corresponds to the JSON property `nextPageToken`
1883
+ # @return [String]
1884
+ attr_accessor :next_page_token
1885
+
1886
+ #
1887
+ # Corresponds to the JSON property `previousPageToken`
1888
+ # @return [String]
1889
+ attr_accessor :previous_page_token
1890
+
1891
+ def initialize(**args)
1892
+ update!(**args)
1893
+ end
1894
+
1895
+ # Update properties of this object
1896
+ def update!(**args)
1897
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1898
+ @previous_page_token = args[:previous_page_token] if args.key?(:previous_page_token)
1899
+ end
1900
+ end
1901
+
1902
+ # A track configuration. The resource for TracksService.
1903
+ class Track
1904
+ include Google::Apis::Core::Hashable
1905
+
1906
+ # In a read request, represents all active releases in the track. In an update
1907
+ # request, represents desired changes.
1908
+ # Corresponds to the JSON property `releases`
1909
+ # @return [Array<Google::Apis::AndroidpublisherV3::TrackRelease>]
1910
+ attr_accessor :releases
1911
+
1912
+ # Identifier of the track.
1913
+ # Corresponds to the JSON property `track`
1914
+ # @return [String]
1915
+ attr_accessor :track
1916
+
1917
+ def initialize(**args)
1918
+ update!(**args)
1919
+ end
1920
+
1921
+ # Update properties of this object
1922
+ def update!(**args)
1923
+ @releases = args[:releases] if args.key?(:releases)
1924
+ @track = args[:track] if args.key?(:track)
1925
+ end
1926
+ end
1927
+
1928
+ # A release within a track.
1929
+ class TrackRelease
1930
+ include Google::Apis::Core::Hashable
1931
+
1932
+ # Country targeting specification.
1933
+ # Corresponds to the JSON property `countryTargeting`
1934
+ # @return [Google::Apis::AndroidpublisherV3::CountryTargeting]
1935
+ attr_accessor :country_targeting
1936
+
1937
+ # In-app update priority of the release. All newly added APKs in the release
1938
+ # will be considered at this priority. Can take values in the range [0, 5], with
1939
+ # 5 the highest priority. Defaults to 0. in_app_update_priority can not be
1940
+ # updated once the release is rolled out. See https://developer.android.com/
1941
+ # guide/playcore/in-app-updates.
1942
+ # Corresponds to the JSON property `inAppUpdatePriority`
1943
+ # @return [Fixnum]
1944
+ attr_accessor :in_app_update_priority
1945
+
1946
+ # The release name. Not required to be unique. If not set, the name is generated
1947
+ # from the APK's version_name. If the release contains multiple APKs, the name
1948
+ # is generated from the date.
1949
+ # Corresponds to the JSON property `name`
1950
+ # @return [String]
1951
+ attr_accessor :name
1952
+
1953
+ # A description of what is new in this release.
1954
+ # Corresponds to the JSON property `releaseNotes`
1955
+ # @return [Array<Google::Apis::AndroidpublisherV3::LocalizedText>]
1956
+ attr_accessor :release_notes
1957
+
1958
+ # The status of the release.
1959
+ # Corresponds to the JSON property `status`
1960
+ # @return [String]
1961
+ attr_accessor :status
1962
+
1963
+ # Fraction of users who are eligible for a staged release. 0 < fraction < 1. Can
1964
+ # only be set when status is "inProgress" or "halted".
1965
+ # Corresponds to the JSON property `userFraction`
1966
+ # @return [Float]
1967
+ attr_accessor :user_fraction
1968
+
1969
+ # Version codes of all APKs in the release. Must include version codes to retain
1970
+ # from previous releases.
1971
+ # Corresponds to the JSON property `versionCodes`
1972
+ # @return [Array<Fixnum>]
1973
+ attr_accessor :version_codes
1974
+
1975
+ def initialize(**args)
1976
+ update!(**args)
1977
+ end
1978
+
1979
+ # Update properties of this object
1980
+ def update!(**args)
1981
+ @country_targeting = args[:country_targeting] if args.key?(:country_targeting)
1982
+ @in_app_update_priority = args[:in_app_update_priority] if args.key?(:in_app_update_priority)
1983
+ @name = args[:name] if args.key?(:name)
1984
+ @release_notes = args[:release_notes] if args.key?(:release_notes)
1985
+ @status = args[:status] if args.key?(:status)
1986
+ @user_fraction = args[:user_fraction] if args.key?(:user_fraction)
1987
+ @version_codes = args[:version_codes] if args.key?(:version_codes)
1988
+ end
1989
+ end
1990
+
1991
+ # Response listing all tracks.
1992
+ class TracksListResponse
1993
+ include Google::Apis::Core::Hashable
1994
+
1995
+ # The kind of this response ("androidpublisher#tracksListResponse").
1996
+ # Corresponds to the JSON property `kind`
1997
+ # @return [String]
1998
+ attr_accessor :kind
1999
+
2000
+ # All tracks.
2001
+ # Corresponds to the JSON property `tracks`
2002
+ # @return [Array<Google::Apis::AndroidpublisherV3::Track>]
2003
+ attr_accessor :tracks
2004
+
2005
+ def initialize(**args)
2006
+ update!(**args)
2007
+ end
2008
+
2009
+ # Update properties of this object
2010
+ def update!(**args)
2011
+ @kind = args[:kind] if args.key?(:kind)
2012
+ @tracks = args[:tracks] if args.key?(:tracks)
2013
+ end
2014
+ end
2015
+
2016
+ # User entry from conversation between user and developer.
2017
+ class UserComment
2018
+ include Google::Apis::Core::Hashable
2019
+
2020
+ # Integer Android SDK version of the user's device at the time the review was
2021
+ # written, e.g. 23 is Marshmallow. May be absent.
2022
+ # Corresponds to the JSON property `androidOsVersion`
2023
+ # @return [Fixnum]
2024
+ attr_accessor :android_os_version
2025
+
2026
+ # Integer version code of the app as installed at the time the review was
2027
+ # written. May be absent.
2028
+ # Corresponds to the JSON property `appVersionCode`
2029
+ # @return [Fixnum]
2030
+ attr_accessor :app_version_code
2031
+
2032
+ # String version name of the app as installed at the time the review was written.
2033
+ # May be absent.
2034
+ # Corresponds to the JSON property `appVersionName`
2035
+ # @return [String]
2036
+ attr_accessor :app_version_name
2037
+
2038
+ # Codename for the reviewer's device, e.g. klte, flounder. May be absent.
2039
+ # Corresponds to the JSON property `device`
2040
+ # @return [String]
2041
+ attr_accessor :device
2042
+
2043
+ # Characteristics of the user's device.
2044
+ # Corresponds to the JSON property `deviceMetadata`
2045
+ # @return [Google::Apis::AndroidpublisherV3::DeviceMetadata]
2046
+ attr_accessor :device_metadata
2047
+
2048
+ # A Timestamp represents a point in time independent of any time zone or local
2049
+ # calendar, encoded as a count of seconds and fractions of seconds at nanosecond
2050
+ # resolution. The count is relative to an epoch at UTC midnight on January 1,
2051
+ # 1970.
2052
+ # Corresponds to the JSON property `lastModified`
2053
+ # @return [Google::Apis::AndroidpublisherV3::Timestamp]
2054
+ attr_accessor :last_modified
2055
+
2056
+ # Untranslated text of the review, where the review was translated. If the
2057
+ # review was not translated this is left blank.
2058
+ # Corresponds to the JSON property `originalText`
2059
+ # @return [String]
2060
+ attr_accessor :original_text
2061
+
2062
+ # Language code for the reviewer. This is taken from the device settings so is
2063
+ # not guaranteed to match the language the review is written in. May be absent.
2064
+ # Corresponds to the JSON property `reviewerLanguage`
2065
+ # @return [String]
2066
+ attr_accessor :reviewer_language
2067
+
2068
+ # The star rating associated with the review, from 1 to 5.
2069
+ # Corresponds to the JSON property `starRating`
2070
+ # @return [Fixnum]
2071
+ attr_accessor :star_rating
2072
+
2073
+ # The content of the comment, i.e. review body. In some cases users have been
2074
+ # able to write a review with separate title and body; in those cases the title
2075
+ # and body are concatenated and separated by a tab character.
2076
+ # Corresponds to the JSON property `text`
2077
+ # @return [String]
2078
+ attr_accessor :text
2079
+
2080
+ # Number of users who have given this review a thumbs down.
2081
+ # Corresponds to the JSON property `thumbsDownCount`
2082
+ # @return [Fixnum]
2083
+ attr_accessor :thumbs_down_count
2084
+
2085
+ # Number of users who have given this review a thumbs up.
2086
+ # Corresponds to the JSON property `thumbsUpCount`
2087
+ # @return [Fixnum]
2088
+ attr_accessor :thumbs_up_count
2089
+
2090
+ def initialize(**args)
2091
+ update!(**args)
2092
+ end
2093
+
2094
+ # Update properties of this object
2095
+ def update!(**args)
2096
+ @android_os_version = args[:android_os_version] if args.key?(:android_os_version)
2097
+ @app_version_code = args[:app_version_code] if args.key?(:app_version_code)
2098
+ @app_version_name = args[:app_version_name] if args.key?(:app_version_name)
2099
+ @device = args[:device] if args.key?(:device)
2100
+ @device_metadata = args[:device_metadata] if args.key?(:device_metadata)
2101
+ @last_modified = args[:last_modified] if args.key?(:last_modified)
2102
+ @original_text = args[:original_text] if args.key?(:original_text)
2103
+ @reviewer_language = args[:reviewer_language] if args.key?(:reviewer_language)
2104
+ @star_rating = args[:star_rating] if args.key?(:star_rating)
2105
+ @text = args[:text] if args.key?(:text)
2106
+ @thumbs_down_count = args[:thumbs_down_count] if args.key?(:thumbs_down_count)
2107
+ @thumbs_up_count = args[:thumbs_up_count] if args.key?(:thumbs_up_count)
2108
+ end
2109
+ end
2110
+
2111
+ # A permission used by this APK.
2112
+ class UsesPermission
2113
+ include Google::Apis::Core::Hashable
2114
+
2115
+ # Optionally, the maximum SDK version for which the permission is required.
2116
+ # Corresponds to the JSON property `maxSdkVersion`
2117
+ # @return [Fixnum]
2118
+ attr_accessor :max_sdk_version
2119
+
2120
+ # The name of the permission requested.
2121
+ # Corresponds to the JSON property `name`
2122
+ # @return [String]
2123
+ attr_accessor :name
2124
+
2125
+ def initialize(**args)
2126
+ update!(**args)
2127
+ end
2128
+
2129
+ # Update properties of this object
2130
+ def update!(**args)
2131
+ @max_sdk_version = args[:max_sdk_version] if args.key?(:max_sdk_version)
2132
+ @name = args[:name] if args.key?(:name)
2133
+ end
2134
+ end
2135
+
2136
+ # APK that is suitable for inclusion in a system image. The resource of
2137
+ # SystemApksService.
2138
+ class Variant
2139
+ include Google::Apis::Core::Hashable
2140
+
2141
+ # The device spec used to generate a system APK.
2142
+ # Corresponds to the JSON property `deviceSpec`
2143
+ # @return [Google::Apis::AndroidpublisherV3::DeviceSpec]
2144
+ attr_accessor :device_spec
2145
+
2146
+ # Output only. The ID of a previously created system APK variant.
2147
+ # Corresponds to the JSON property `variantId`
2148
+ # @return [Fixnum]
2149
+ attr_accessor :variant_id
2150
+
2151
+ def initialize(**args)
2152
+ update!(**args)
2153
+ end
2154
+
2155
+ # Update properties of this object
2156
+ def update!(**args)
2157
+ @device_spec = args[:device_spec] if args.key?(:device_spec)
2158
+ @variant_id = args[:variant_id] if args.key?(:variant_id)
2159
+ end
2160
+ end
2161
+
2162
+ # A VoidedPurchase resource indicates a purchase that was either canceled/
2163
+ # refunded/charged-back.
2164
+ class VoidedPurchase
2165
+ include Google::Apis::Core::Hashable
2166
+
2167
+ # This kind represents a voided purchase object in the androidpublisher service.
2168
+ # Corresponds to the JSON property `kind`
2169
+ # @return [String]
2170
+ attr_accessor :kind
2171
+
2172
+ # The order id which uniquely identifies a one-time purchase, subscription
2173
+ # purchase, or subscription renewal.
2174
+ # Corresponds to the JSON property `orderId`
2175
+ # @return [String]
2176
+ attr_accessor :order_id
2177
+
2178
+ # The time at which the purchase was made, in milliseconds since the epoch (Jan
2179
+ # 1, 1970).
2180
+ # Corresponds to the JSON property `purchaseTimeMillis`
2181
+ # @return [Fixnum]
2182
+ attr_accessor :purchase_time_millis
2183
+
2184
+ # The token which uniquely identifies a one-time purchase or subscription. To
2185
+ # uniquely identify subscription renewals use order_id (available starting from
2186
+ # version 3 of the API).
2187
+ # Corresponds to the JSON property `purchaseToken`
2188
+ # @return [String]
2189
+ attr_accessor :purchase_token
2190
+
2191
+ # The reason why the purchase was voided, possible values are: 0. Other 1.
2192
+ # Remorse 2. Not_received 3. Defective 4. Accidental_purchase 5. Fraud 6.
2193
+ # Friendly_fraud 7. Chargeback
2194
+ # Corresponds to the JSON property `voidedReason`
2195
+ # @return [Fixnum]
2196
+ attr_accessor :voided_reason
2197
+
2198
+ # The initiator of voided purchase, possible values are: 0. User 1. Developer 2.
2199
+ # Google
2200
+ # Corresponds to the JSON property `voidedSource`
2201
+ # @return [Fixnum]
2202
+ attr_accessor :voided_source
2203
+
2204
+ # The time at which the purchase was canceled/refunded/charged-back, in
2205
+ # milliseconds since the epoch (Jan 1, 1970).
2206
+ # Corresponds to the JSON property `voidedTimeMillis`
2207
+ # @return [Fixnum]
2208
+ attr_accessor :voided_time_millis
2209
+
2210
+ def initialize(**args)
2211
+ update!(**args)
2212
+ end
2213
+
2214
+ # Update properties of this object
2215
+ def update!(**args)
2216
+ @kind = args[:kind] if args.key?(:kind)
2217
+ @order_id = args[:order_id] if args.key?(:order_id)
2218
+ @purchase_time_millis = args[:purchase_time_millis] if args.key?(:purchase_time_millis)
2219
+ @purchase_token = args[:purchase_token] if args.key?(:purchase_token)
2220
+ @voided_reason = args[:voided_reason] if args.key?(:voided_reason)
2221
+ @voided_source = args[:voided_source] if args.key?(:voided_source)
2222
+ @voided_time_millis = args[:voided_time_millis] if args.key?(:voided_time_millis)
2223
+ end
2224
+ end
2225
+
2226
+ # Response for the voidedpurchases.list API.
2227
+ class VoidedPurchasesListResponse
2228
+ include Google::Apis::Core::Hashable
2229
+
2230
+ # Information about the current page. List operations that supports paging
2231
+ # return only one "page" of results. This protocol buffer message describes the
2232
+ # page that has been returned.
2233
+ # Corresponds to the JSON property `pageInfo`
2234
+ # @return [Google::Apis::AndroidpublisherV3::PageInfo]
2235
+ attr_accessor :page_info
2236
+
2237
+ # Pagination information returned by a List operation when token pagination is
2238
+ # enabled. List operations that supports paging return only one "page" of
2239
+ # results. This protocol buffer message describes the page that has been
2240
+ # returned. When using token pagination, clients should use the next/previous
2241
+ # token to get another page of the result. The presence or absence of next/
2242
+ # previous token indicates whether a next/previous page is available and
2243
+ # provides a mean of accessing this page. ListRequest.page_token should be set
2244
+ # to either next_page_token or previous_page_token to access another page.
2245
+ # Corresponds to the JSON property `tokenPagination`
2246
+ # @return [Google::Apis::AndroidpublisherV3::TokenPagination]
2247
+ attr_accessor :token_pagination
2248
+
2249
+ #
2250
+ # Corresponds to the JSON property `voidedPurchases`
2251
+ # @return [Array<Google::Apis::AndroidpublisherV3::VoidedPurchase>]
2252
+ attr_accessor :voided_purchases
2253
+
2254
+ def initialize(**args)
2255
+ update!(**args)
2256
+ end
2257
+
2258
+ # Update properties of this object
2259
+ def update!(**args)
2260
+ @page_info = args[:page_info] if args.key?(:page_info)
2261
+ @token_pagination = args[:token_pagination] if args.key?(:token_pagination)
2262
+ @voided_purchases = args[:voided_purchases] if args.key?(:voided_purchases)
2263
+ end
2264
+ end
2265
+ end
2266
+ end
2267
+ end