apk_downloader 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 214c9e1454c39d7ce9b0390e3ff62cd408a358aa
4
+ data.tar.gz: 11ec5ce612680159a3919cd3c77a421462ec2abb
5
+ SHA512:
6
+ metadata.gz: 502915a14accd605131e03a58cbd06e1d2f08e770c8b9554ffa1b77afb31a9ec4223f7815997ddcbef80e7859e9738621c073c3bf729db73179d6a8462a40722
7
+ data.tar.gz: bcd85d09adcd02e7408e0691e1b6c70b404269e5a2497479b635f18d4dca91584b1ead60197d6a24a3c08c53f9be7159d51dc9e6e47fbab0c142655525849b8f
data/.gitignore ADDED
@@ -0,0 +1,18 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ bin/
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format progress
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in apk_downloader.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Josh Lindsey
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,51 @@
1
+ # ApkDownloader
2
+ [![Gem Version](https://badge.fury.io/rb/apk_downloader.png)](http://badge.fury.io/rb/apk_downloader)
3
+ Simply and easily download an APK file from the Google Play store.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'apk_downloader'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install apk_downloader
18
+
19
+ ## Usage
20
+
21
+ You first must configure the gem:
22
+
23
+ ```ruby
24
+ ApkDownloader.configure do |config|
25
+ config.email = 'you@gmail.com'
26
+ config.password = 'password'
27
+ config.android_id = 'abc123'
28
+ end
29
+ ```
30
+
31
+ An `android_id` can be gotten from any Android device by dailing `*#*#8255#*#*`. This will bring up the "GTalk Service Monitor", and you can find the ID as a hex string after `aid:`.
32
+
33
+ The email and password provided must be valid Google Account credentials, and they must have been added to the device you got the ID from.
34
+
35
+ Then simply call `ApkDownloader.download! '<package name>', '<destiation file>'`.
36
+
37
+ ### Notes and Warnings ###
38
+
39
+ This gem works by way of spoofing a series of requests to the private Google Play API (normally only available to the Play store app) by pretending to be an Android device running that app. This is – as far as the API is concerned – a real app purchase request from the configured device/account, which means that in addition to downloading locally to the file you specify in the `download!` call it will also automatically download on that device.
40
+
41
+ I've only ever tried this for free apps. I have no idea what will happen if you attempt to download a non-free app with this gem.
42
+
43
+ Note also that doing this sort of API request spoofing is explicitly against the Terms of Service for the Play store. **You use this gem at your own risk!** Neither I, my employer, nor any contributers to this code will be held responsible for any repercussions taken against your accounts or devices from using this gem.
44
+
45
+ ## Contributing
46
+
47
+ 1. Fork it
48
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
49
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
50
+ 4. Push to the branch (`git push origin my-new-feature`)
51
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,5 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+ task :default => :spec
@@ -0,0 +1,29 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'apk_downloader/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "apk_downloader"
8
+ spec.version = ApkDownloader::VERSION
9
+ spec.authors = ["Josh Lindsey"]
10
+ spec.email = ["josh@core-apps.com"]
11
+ spec.description = %q{Downloads APK files directly from the Play store}
12
+ spec.summary = %q{Uses a spoofed request to trick the Play store into thinking you're an Android device, allowing you to download APK files directly}
13
+ spec.homepage = "https://github.com/jlindsey/ApkDownloader"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency "ruby-protocol-buffers"
22
+ spec.add_dependency "varint"
23
+
24
+ spec.add_development_dependency "bundler", "~> 1.3"
25
+ spec.add_development_dependency "rake"
26
+ spec.add_development_dependency "rspec"
27
+ spec.add_development_dependency "pry"
28
+ spec.add_development_dependency "pry-debugger"
29
+ end
@@ -0,0 +1,23 @@
1
+ require "apk_downloader/version"
2
+ require "apk_downloader/googleplay.pb"
3
+
4
+ module ApkDownloader
5
+ autoload :Configuration, 'apk_downloader/configuration'
6
+ autoload :Api, 'apk_downloader/api'
7
+
8
+ class << self
9
+ attr_reader :configuration, :api
10
+
11
+ def configure
12
+ @configuration ||= Configuration.new
13
+ yield configuration
14
+ end
15
+
16
+ def download! package, destination
17
+ @api ||= Api.new
18
+ data = @api.fetch_apk_data package
19
+ binding.pry
20
+ File.open(destination, 'wb') { |f| f.write data }
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,141 @@
1
+ require 'net/http'
2
+ require 'tempfile'
3
+
4
+ module ApkDownloader
5
+ class Api
6
+ LoginUri = URI('https://android.clients.google.com/auth')
7
+ GoogleApiUri = URI('https://android.clients.google.com/fdfe')
8
+
9
+ attr_reader :auth_token
10
+
11
+ def initialize
12
+ @details_messages = {}
13
+ end
14
+
15
+ def logged_in?
16
+ !self.auth_token.nil?
17
+ end
18
+
19
+ def log_in!
20
+ return if self.logged_in?
21
+
22
+ params = {
23
+ "Email" => ApkDownloader.configuration.email,
24
+ "Passwd" => ApkDownloader.configuration.password,
25
+ "service" => "androidmarket",
26
+ "accountType" => "HOSTED_OR_GOOGLE",
27
+ "has_permission" => "1",
28
+ "source" => "android",
29
+ "androidId" => ApkDownloader.configuration.android_id,
30
+ "app" => "com.android.vending",
31
+ "device_country" => "fr",
32
+ "operatorCountry" => "fr",
33
+ "lang" => "fr",
34
+ "sdk_version" => "16"
35
+ }
36
+
37
+ login_http = Net::HTTP.new LoginUri.hostname, LoginUri.port
38
+ login_http.use_ssl = true
39
+
40
+ post = Net::HTTP::Post.new LoginUri
41
+ post.set_form_data params
42
+ post["Accept-Encoding"] = ""
43
+
44
+ response = login_http.request post
45
+ if response.body =~ /error/i
46
+ raise "Unable to authenticate with Google"
47
+ elsif response.body.include? "Auth="
48
+ @auth_token = response.body.scan(/Auth=(.*?)$/).flatten.first
49
+ end
50
+ end
51
+
52
+ def details package
53
+ if @details_messages[package].nil?
54
+ log_in!
55
+ message = api_request :get, '/details', :doc => package
56
+ @details_messages[package] = message.payload
57
+ end
58
+
59
+ return @details_messages[package]
60
+ end
61
+
62
+ def fetch_apk_data package
63
+ log_in!
64
+ doc = details(package).detailsResponse.docV2
65
+ version_code = doc.details.appDetails.versionCode
66
+ offer_type = doc.offer[0].offerType
67
+
68
+ message = api_request :post, '/purchase', :ot => offer_type, :doc => package, :vc => version_code
69
+
70
+ url = URI(message.payload.buyResponse.purchaseStatusResponse.appDeliveryData.downloadUrl)
71
+ cookie = message.payload.buyResponse.purchaseStatusResponse.appDeliveryData.downloadAuthCookie[0]
72
+
73
+ resp = recursive_apk_fetch(url, cookie)
74
+
75
+ binding.pry
76
+ return resp.body
77
+ end
78
+
79
+ private
80
+ def recursive_apk_fetch url, cookie, tries = 5
81
+ raise ArgumentError, 'HTTP redirect too deep' if tries == 0
82
+
83
+ http = Net::HTTP.new url.hostname, url.port
84
+ req = Net::HTTP::Get.new url
85
+ req['Accept-Encoding'] = ''
86
+ req['User-Agent'] = 'AndroidDownloadManager/4.1.1 (Linux; U; Android 4.1.1; Nexus S Build/JRO03E)'
87
+ req['Cookie'] = [cookie.name, cookie.value].join('=')
88
+
89
+ resp = http.request req
90
+
91
+ case resp
92
+ when Net::HTTPSuccess
93
+ return resp
94
+ when Net::HTTPRedirection
95
+ return recursive_apk_fetch(URI(resp['Location']), cookie, tries - 1)
96
+ else
97
+ resp.error!
98
+ end
99
+ end
100
+
101
+ def api_request type, path, data = {}
102
+ if @http.nil?
103
+ @http = Net::HTTP.new GoogleApiUri.hostname, GoogleApiUri.port
104
+ @http.use_ssl = true
105
+ end
106
+
107
+ api_headers = {
108
+ "Accept-Language" => "en_US",
109
+ "Authorization" => "GoogleLogin auth=#{@auth_token}",
110
+ "X-DFE-Enabled-Experiments" => "cl:billing.select_add_instrument_by_default",
111
+ "X-DFE-Unsupported-Experiments" => "nocache:billing.use_charging_poller,market_emails,buyer_currency,prod_baseline,checkin.set_asset_paid_app_field,shekel_test,content_ratings,buyer_currency_in_app,nocache:encrypted_apk,recent_changes",
112
+ "X-DFE-Device-Id" => ApkDownloader.configuration.android_id,
113
+ "X-DFE-Client-Id" => "am-android-google",
114
+ "User-Agent" => "Android-Finsky/3.7.13 (api=3,versionCode=8013013,sdk=16,device=crespo,hardware=herring,product=soju)",
115
+ "X-DFE-SmallestScreenWidthDp" => "320",
116
+ "X-DFE-Filter-Level" => "3",
117
+ "Accept-Encoding" => "",
118
+ "Host" => "android.clients.google.com"
119
+ }
120
+
121
+ if type == :post
122
+ api_headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'
123
+ end
124
+
125
+ uri = URI([GoogleApiUri,path.sub(/^\//,'')].join('/'))
126
+
127
+ req = if type == :get
128
+ uri.query = URI.encode_www_form data
129
+ Net::HTTP::Get.new uri
130
+ else
131
+ post = Net::HTTP::Post.new uri
132
+ post.tap { |p| p.set_form_data data }
133
+ end
134
+
135
+ api_headers.each { |k, v| req[k] = v }
136
+
137
+ resp = @http.request req
138
+ return ResponseWrapper.new.parse(resp.body)
139
+ end
140
+ end
141
+ end
@@ -0,0 +1,5 @@
1
+ module ApkDownloader
2
+ class Configuration
3
+ attr_accessor :android_id, :email, :password
4
+ end
5
+ end
@@ -0,0 +1,2976 @@
1
+ #!/usr/bin/env ruby
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+
4
+ require 'protocol_buffers'
5
+
6
+ # forward declarations
7
+ class AckNotificationResponse < ::ProtocolBuffers::Message; end
8
+ class AndroidAppDeliveryData < ::ProtocolBuffers::Message; end
9
+ class AndroidAppPatchData < ::ProtocolBuffers::Message; end
10
+ class AppFileMetadata < ::ProtocolBuffers::Message; end
11
+ class EncryptionParams < ::ProtocolBuffers::Message; end
12
+ class HttpCookie < ::ProtocolBuffers::Message; end
13
+ class Address < ::ProtocolBuffers::Message; end
14
+ class BookAuthor < ::ProtocolBuffers::Message; end
15
+ class BookDetails < ::ProtocolBuffers::Message; end
16
+ class BookSubject < ::ProtocolBuffers::Message; end
17
+ class BrowseLink < ::ProtocolBuffers::Message; end
18
+ class BrowseResponse < ::ProtocolBuffers::Message; end
19
+ class AddressChallenge < ::ProtocolBuffers::Message; end
20
+ class AuthenticationChallenge < ::ProtocolBuffers::Message; end
21
+ class BuyResponse < ::ProtocolBuffers::Message; end
22
+ class Challenge < ::ProtocolBuffers::Message; end
23
+ class FormCheckbox < ::ProtocolBuffers::Message; end
24
+ class LineItem < ::ProtocolBuffers::Message; end
25
+ class Money < ::ProtocolBuffers::Message; end
26
+ class PurchaseNotificationResponse < ::ProtocolBuffers::Message; end
27
+ class PurchaseStatusResponse < ::ProtocolBuffers::Message; end
28
+ class CheckInstrumentResponse < ::ProtocolBuffers::Message; end
29
+ class UpdateInstrumentRequest < ::ProtocolBuffers::Message; end
30
+ class UpdateInstrumentResponse < ::ProtocolBuffers::Message; end
31
+ class InitiateAssociationResponse < ::ProtocolBuffers::Message; end
32
+ class VerifyAssociationResponse < ::ProtocolBuffers::Message; end
33
+ class AddCreditCardPromoOffer < ::ProtocolBuffers::Message; end
34
+ class AvailablePromoOffer < ::ProtocolBuffers::Message; end
35
+ class CheckPromoOfferResponse < ::ProtocolBuffers::Message; end
36
+ class RedeemedPromoOffer < ::ProtocolBuffers::Message; end
37
+ class Docid < ::ProtocolBuffers::Message; end
38
+ class Install < ::ProtocolBuffers::Message; end
39
+ class Offer < ::ProtocolBuffers::Message; end
40
+ class OwnershipInfo < ::ProtocolBuffers::Message; end
41
+ class RentalTerms < ::ProtocolBuffers::Message; end
42
+ class SubscriptionTerms < ::ProtocolBuffers::Message; end
43
+ class TimePeriod < ::ProtocolBuffers::Message; end
44
+ class BillingAddressSpec < ::ProtocolBuffers::Message; end
45
+ class CarrierBillingCredentials < ::ProtocolBuffers::Message; end
46
+ class CarrierBillingInstrument < ::ProtocolBuffers::Message; end
47
+ class CarrierBillingInstrumentStatus < ::ProtocolBuffers::Message; end
48
+ class CarrierTos < ::ProtocolBuffers::Message; end
49
+ class CarrierTosEntry < ::ProtocolBuffers::Message; end
50
+ class CreditCardInstrument < ::ProtocolBuffers::Message; end
51
+ class EfeParam < ::ProtocolBuffers::Message; end
52
+ class InputValidationError < ::ProtocolBuffers::Message; end
53
+ class Instrument < ::ProtocolBuffers::Message; end
54
+ class PasswordPrompt < ::ProtocolBuffers::Message; end
55
+ class ContainerMetadata < ::ProtocolBuffers::Message; end
56
+ class FlagContentResponse < ::ProtocolBuffers::Message; end
57
+ class DebugInfo < ::ProtocolBuffers::Message; end
58
+ class DeliveryResponse < ::ProtocolBuffers::Message; end
59
+ class BulkDetailsEntry < ::ProtocolBuffers::Message; end
60
+ class BulkDetailsRequest < ::ProtocolBuffers::Message; end
61
+ class BulkDetailsResponse < ::ProtocolBuffers::Message; end
62
+ class DetailsResponse < ::ProtocolBuffers::Message; end
63
+ class DeviceConfigurationProto < ::ProtocolBuffers::Message; end
64
+ class Document < ::ProtocolBuffers::Message; end
65
+ class DocumentVariant < ::ProtocolBuffers::Message; end
66
+ class Image < ::ProtocolBuffers::Message; end
67
+ class TranslatedText < ::ProtocolBuffers::Message; end
68
+ class Badge < ::ProtocolBuffers::Message; end
69
+ class ContainerWithBanner < ::ProtocolBuffers::Message; end
70
+ class DealOfTheDay < ::ProtocolBuffers::Message; end
71
+ class EditorialSeriesContainer < ::ProtocolBuffers::Message; end
72
+ class Link < ::ProtocolBuffers::Message; end
73
+ class PlusOneData < ::ProtocolBuffers::Message; end
74
+ class PlusPerson < ::ProtocolBuffers::Message; end
75
+ class PromotedDoc < ::ProtocolBuffers::Message; end
76
+ class Reason < ::ProtocolBuffers::Message; end
77
+ class SectionMetadata < ::ProtocolBuffers::Message; end
78
+ class SeriesAntenna < ::ProtocolBuffers::Message; end
79
+ class Template < ::ProtocolBuffers::Message; end
80
+ class TileTemplate < ::ProtocolBuffers::Message; end
81
+ class Warning < ::ProtocolBuffers::Message; end
82
+ class AlbumDetails < ::ProtocolBuffers::Message; end
83
+ class AppDetails < ::ProtocolBuffers::Message; end
84
+ class ArtistDetails < ::ProtocolBuffers::Message; end
85
+ class ArtistExternalLinks < ::ProtocolBuffers::Message; end
86
+ class DocumentDetails < ::ProtocolBuffers::Message; end
87
+ class FileMetadata < ::ProtocolBuffers::Message; end
88
+ class MagazineDetails < ::ProtocolBuffers::Message; end
89
+ class MusicDetails < ::ProtocolBuffers::Message; end
90
+ class SongDetails < ::ProtocolBuffers::Message; end
91
+ class SubscriptionDetails < ::ProtocolBuffers::Message; end
92
+ class Trailer < ::ProtocolBuffers::Message; end
93
+ class TvEpisodeDetails < ::ProtocolBuffers::Message; end
94
+ class TvSeasonDetails < ::ProtocolBuffers::Message; end
95
+ class TvShowDetails < ::ProtocolBuffers::Message; end
96
+ class VideoCredit < ::ProtocolBuffers::Message; end
97
+ class VideoDetails < ::ProtocolBuffers::Message; end
98
+ class VideoRentalTerm < ::ProtocolBuffers::Message; end
99
+ class Bucket < ::ProtocolBuffers::Message; end
100
+ class ListResponse < ::ProtocolBuffers::Message; end
101
+ class DocV1 < ::ProtocolBuffers::Message; end
102
+ class Annotations < ::ProtocolBuffers::Message; end
103
+ class DocV2 < ::ProtocolBuffers::Message; end
104
+ class EncryptedSubscriberInfo < ::ProtocolBuffers::Message; end
105
+ class Availability < ::ProtocolBuffers::Message; end
106
+ class FilterEvaluationInfo < ::ProtocolBuffers::Message; end
107
+ class Rule < ::ProtocolBuffers::Message; end
108
+ class RuleEvaluation < ::ProtocolBuffers::Message; end
109
+ class LibraryAppDetails < ::ProtocolBuffers::Message; end
110
+ class LibraryMutation < ::ProtocolBuffers::Message; end
111
+ class LibrarySubscriptionDetails < ::ProtocolBuffers::Message; end
112
+ class LibraryUpdate < ::ProtocolBuffers::Message; end
113
+ class ClientLibraryState < ::ProtocolBuffers::Message; end
114
+ class LibraryReplicationRequest < ::ProtocolBuffers::Message; end
115
+ class LibraryReplicationResponse < ::ProtocolBuffers::Message; end
116
+ class ClickLogEvent < ::ProtocolBuffers::Message; end
117
+ class LogRequest < ::ProtocolBuffers::Message; end
118
+ class LogResponse < ::ProtocolBuffers::Message; end
119
+ class AndroidAppNotificationData < ::ProtocolBuffers::Message; end
120
+ class InAppNotificationData < ::ProtocolBuffers::Message; end
121
+ class LibraryDirtyData < ::ProtocolBuffers::Message; end
122
+ class Notification < ::ProtocolBuffers::Message; end
123
+ class PurchaseDeclinedData < ::ProtocolBuffers::Message; end
124
+ class PurchaseRemovalData < ::ProtocolBuffers::Message; end
125
+ class UserNotificationData < ::ProtocolBuffers::Message; end
126
+ class PlusOneResponse < ::ProtocolBuffers::Message; end
127
+ class RateSuggestedContentResponse < ::ProtocolBuffers::Message; end
128
+ class AggregateRating < ::ProtocolBuffers::Message; end
129
+ class DirectPurchase < ::ProtocolBuffers::Message; end
130
+ class ResolveLinkResponse < ::ProtocolBuffers::Message; end
131
+ class Payload < ::ProtocolBuffers::Message; end
132
+ class PreFetch < ::ProtocolBuffers::Message; end
133
+ class ResponseWrapper < ::ProtocolBuffers::Message; end
134
+ class ServerCommands < ::ProtocolBuffers::Message; end
135
+ class GetReviewsResponse < ::ProtocolBuffers::Message; end
136
+ class Review < ::ProtocolBuffers::Message; end
137
+ class ReviewResponse < ::ProtocolBuffers::Message; end
138
+ class RevokeResponse < ::ProtocolBuffers::Message; end
139
+ class RelatedSearch < ::ProtocolBuffers::Message; end
140
+ class SearchResponse < ::ProtocolBuffers::Message; end
141
+ class CorpusMetadata < ::ProtocolBuffers::Message; end
142
+ class Experiments < ::ProtocolBuffers::Message; end
143
+ class TocResponse < ::ProtocolBuffers::Message; end
144
+ class UserSettings < ::ProtocolBuffers::Message; end
145
+ class AcceptTosResponse < ::ProtocolBuffers::Message; end
146
+ class AckNotificationsRequestProto < ::ProtocolBuffers::Message; end
147
+ class AckNotificationsResponseProto < ::ProtocolBuffers::Message; end
148
+ class AddressProto < ::ProtocolBuffers::Message; end
149
+ class AppDataProto < ::ProtocolBuffers::Message; end
150
+ class AppSuggestionProto < ::ProtocolBuffers::Message; end
151
+ class AssetIdentifierProto < ::ProtocolBuffers::Message; end
152
+ class AssetsRequestProto < ::ProtocolBuffers::Message; end
153
+ class AssetsResponseProto < ::ProtocolBuffers::Message; end
154
+ class BillingEventRequestProto < ::ProtocolBuffers::Message; end
155
+ class BillingEventResponseProto < ::ProtocolBuffers::Message; end
156
+ class BillingParameterProto < ::ProtocolBuffers::Message; end
157
+ class CarrierBillingCredentialsProto < ::ProtocolBuffers::Message; end
158
+ class CategoryProto < ::ProtocolBuffers::Message; end
159
+ class CheckForNotificationsRequestProto < ::ProtocolBuffers::Message; end
160
+ class CheckForNotificationsResponseProto < ::ProtocolBuffers::Message; end
161
+ class CheckLicenseRequestProto < ::ProtocolBuffers::Message; end
162
+ class CheckLicenseResponseProto < ::ProtocolBuffers::Message; end
163
+ class CommentsRequestProto < ::ProtocolBuffers::Message; end
164
+ class CommentsResponseProto < ::ProtocolBuffers::Message; end
165
+ class ContentSyncRequestProto < ::ProtocolBuffers::Message; end
166
+ class ContentSyncResponseProto < ::ProtocolBuffers::Message; end
167
+ class DataMessageProto < ::ProtocolBuffers::Message; end
168
+ class DownloadInfoProto < ::ProtocolBuffers::Message; end
169
+ class ExternalAssetProto < ::ProtocolBuffers::Message; end
170
+ class ExternalBadgeImageProto < ::ProtocolBuffers::Message; end
171
+ class ExternalBadgeProto < ::ProtocolBuffers::Message; end
172
+ class ExternalCarrierBillingInstrumentProto < ::ProtocolBuffers::Message; end
173
+ class ExternalCommentProto < ::ProtocolBuffers::Message; end
174
+ class ExternalCreditCard < ::ProtocolBuffers::Message; end
175
+ class ExternalPaypalInstrumentProto < ::ProtocolBuffers::Message; end
176
+ class FileMetadataProto < ::ProtocolBuffers::Message; end
177
+ class GetAddressSnippetRequestProto < ::ProtocolBuffers::Message; end
178
+ class GetAddressSnippetResponseProto < ::ProtocolBuffers::Message; end
179
+ class GetAssetRequestProto < ::ProtocolBuffers::Message; end
180
+ class GetAssetResponseProto < ::ProtocolBuffers::Message; end
181
+ class GetCarrierInfoRequestProto < ::ProtocolBuffers::Message; end
182
+ class GetCarrierInfoResponseProto < ::ProtocolBuffers::Message; end
183
+ class GetCategoriesRequestProto < ::ProtocolBuffers::Message; end
184
+ class GetCategoriesResponseProto < ::ProtocolBuffers::Message; end
185
+ class GetImageRequestProto < ::ProtocolBuffers::Message; end
186
+ class GetImageResponseProto < ::ProtocolBuffers::Message; end
187
+ class GetMarketMetadataRequestProto < ::ProtocolBuffers::Message; end
188
+ class GetMarketMetadataResponseProto < ::ProtocolBuffers::Message; end
189
+ class GetSubCategoriesRequestProto < ::ProtocolBuffers::Message; end
190
+ class GetSubCategoriesResponseProto < ::ProtocolBuffers::Message; end
191
+ class InAppPurchaseInformationRequestProto < ::ProtocolBuffers::Message; end
192
+ class InAppPurchaseInformationResponseProto < ::ProtocolBuffers::Message; end
193
+ class InAppRestoreTransactionsRequestProto < ::ProtocolBuffers::Message; end
194
+ class InAppRestoreTransactionsResponseProto < ::ProtocolBuffers::Message; end
195
+ class ModifyCommentRequestProto < ::ProtocolBuffers::Message; end
196
+ class ModifyCommentResponseProto < ::ProtocolBuffers::Message; end
197
+ class PaypalCountryInfoProto < ::ProtocolBuffers::Message; end
198
+ class PaypalCreateAccountRequestProto < ::ProtocolBuffers::Message; end
199
+ class PaypalCreateAccountResponseProto < ::ProtocolBuffers::Message; end
200
+ class PaypalCredentialsProto < ::ProtocolBuffers::Message; end
201
+ class PaypalMassageAddressRequestProto < ::ProtocolBuffers::Message; end
202
+ class PaypalMassageAddressResponseProto < ::ProtocolBuffers::Message; end
203
+ class PaypalPreapprovalCredentialsRequestProto < ::ProtocolBuffers::Message; end
204
+ class PaypalPreapprovalCredentialsResponseProto < ::ProtocolBuffers::Message; end
205
+ class PaypalPreapprovalDetailsRequestProto < ::ProtocolBuffers::Message; end
206
+ class PaypalPreapprovalDetailsResponseProto < ::ProtocolBuffers::Message; end
207
+ class PaypalPreapprovalRequestProto < ::ProtocolBuffers::Message; end
208
+ class PaypalPreapprovalResponseProto < ::ProtocolBuffers::Message; end
209
+ class PendingNotificationsProto < ::ProtocolBuffers::Message; end
210
+ class PrefetchedBundleProto < ::ProtocolBuffers::Message; end
211
+ class PurchaseCartInfoProto < ::ProtocolBuffers::Message; end
212
+ class PurchaseInfoProto < ::ProtocolBuffers::Message; end
213
+ class PurchaseMetadataRequestProto < ::ProtocolBuffers::Message; end
214
+ class PurchaseMetadataResponseProto < ::ProtocolBuffers::Message; end
215
+ class PurchaseOrderRequestProto < ::ProtocolBuffers::Message; end
216
+ class PurchaseOrderResponseProto < ::ProtocolBuffers::Message; end
217
+ class PurchasePostRequestProto < ::ProtocolBuffers::Message; end
218
+ class PurchasePostResponseProto < ::ProtocolBuffers::Message; end
219
+ class PurchaseProductRequestProto < ::ProtocolBuffers::Message; end
220
+ class PurchaseProductResponseProto < ::ProtocolBuffers::Message; end
221
+ class PurchaseResultProto < ::ProtocolBuffers::Message; end
222
+ class QuerySuggestionProto < ::ProtocolBuffers::Message; end
223
+ class QuerySuggestionRequestProto < ::ProtocolBuffers::Message; end
224
+ class QuerySuggestionResponseProto < ::ProtocolBuffers::Message; end
225
+ class RateCommentRequestProto < ::ProtocolBuffers::Message; end
226
+ class RateCommentResponseProto < ::ProtocolBuffers::Message; end
227
+ class ReconstructDatabaseRequestProto < ::ProtocolBuffers::Message; end
228
+ class ReconstructDatabaseResponseProto < ::ProtocolBuffers::Message; end
229
+ class RefundRequestProto < ::ProtocolBuffers::Message; end
230
+ class RefundResponseProto < ::ProtocolBuffers::Message; end
231
+ class RemoveAssetRequestProto < ::ProtocolBuffers::Message; end
232
+ class RequestPropertiesProto < ::ProtocolBuffers::Message; end
233
+ class RequestProto < ::ProtocolBuffers::Message; end
234
+ class RequestSpecificPropertiesProto < ::ProtocolBuffers::Message; end
235
+ class ResponsePropertiesProto < ::ProtocolBuffers::Message; end
236
+ class ResponseProto < ::ProtocolBuffers::Message; end
237
+ class RestoreApplicationsRequestProto < ::ProtocolBuffers::Message; end
238
+ class RestoreApplicationsResponseProto < ::ProtocolBuffers::Message; end
239
+ class RiskHeaderInfoProto < ::ProtocolBuffers::Message; end
240
+ class SignatureHashProto < ::ProtocolBuffers::Message; end
241
+ class SignedDataProto < ::ProtocolBuffers::Message; end
242
+ class SingleRequestProto < ::ProtocolBuffers::Message; end
243
+ class SingleResponseProto < ::ProtocolBuffers::Message; end
244
+ class StatusBarNotificationProto < ::ProtocolBuffers::Message; end
245
+ class UninstallReasonRequestProto < ::ProtocolBuffers::Message; end
246
+ class UninstallReasonResponseProto < ::ProtocolBuffers::Message; end
247
+
248
+ class AckNotificationResponse < ::ProtocolBuffers::Message
249
+ set_fully_qualified_name "AckNotificationResponse"
250
+
251
+ end
252
+
253
+ class AndroidAppDeliveryData < ::ProtocolBuffers::Message
254
+ set_fully_qualified_name "AndroidAppDeliveryData"
255
+
256
+ optional :int64, :downloadSize, 1
257
+ optional :string, :signature, 2
258
+ optional :string, :downloadUrl, 3
259
+ repeated ::AppFileMetadata, :additionalFile, 4
260
+ repeated ::HttpCookie, :downloadAuthCookie, 5
261
+ optional :bool, :forwardLocked, 6
262
+ optional :int64, :refundTimeout, 7
263
+ optional :bool, :serverInitiated, 8
264
+ optional :int64, :postInstallRefundWindowMillis, 9
265
+ optional :bool, :immediateStartNeeded, 10
266
+ optional ::AndroidAppPatchData, :patchData, 11
267
+ optional ::EncryptionParams, :encryptionParams, 12
268
+ end
269
+
270
+ class AndroidAppPatchData < ::ProtocolBuffers::Message
271
+ set_fully_qualified_name "AndroidAppPatchData"
272
+
273
+ optional :int32, :baseVersionCode, 1
274
+ optional :string, :baseSignature, 2
275
+ optional :string, :downloadUrl, 3
276
+ optional :int32, :patchFormat, 4
277
+ optional :int64, :maxPatchSize, 5
278
+ end
279
+
280
+ class AppFileMetadata < ::ProtocolBuffers::Message
281
+ set_fully_qualified_name "AppFileMetadata"
282
+
283
+ optional :int32, :fileType, 1
284
+ optional :int32, :versionCode, 2
285
+ optional :int64, :size, 3
286
+ optional :string, :downloadUrl, 4
287
+ end
288
+
289
+ class EncryptionParams < ::ProtocolBuffers::Message
290
+ set_fully_qualified_name "EncryptionParams"
291
+
292
+ optional :int32, :version, 1
293
+ optional :string, :encryptionKey, 2
294
+ optional :string, :hmacKey, 3
295
+ end
296
+
297
+ class HttpCookie < ::ProtocolBuffers::Message
298
+ set_fully_qualified_name "HttpCookie"
299
+
300
+ optional :string, :name, 1
301
+ optional :string, :value, 2
302
+ end
303
+
304
+ class Address < ::ProtocolBuffers::Message
305
+ set_fully_qualified_name "Address"
306
+
307
+ optional :string, :name, 1
308
+ optional :string, :addressLine1, 2
309
+ optional :string, :addressLine2, 3
310
+ optional :string, :city, 4
311
+ optional :string, :state, 5
312
+ optional :string, :postalCode, 6
313
+ optional :string, :postalCountry, 7
314
+ optional :string, :dependentLocality, 8
315
+ optional :string, :sortingCode, 9
316
+ optional :string, :languageCode, 10
317
+ optional :string, :phoneNumber, 11
318
+ optional :bool, :isReduced, 12
319
+ optional :string, :firstName, 13
320
+ optional :string, :lastName, 14
321
+ optional :string, :email, 15
322
+ end
323
+
324
+ class BookAuthor < ::ProtocolBuffers::Message
325
+ set_fully_qualified_name "BookAuthor"
326
+
327
+ optional :string, :name, 1
328
+ optional :string, :deprecatedQuery, 2
329
+ optional ::Docid, :docid, 3
330
+ end
331
+
332
+ class BookDetails < ::ProtocolBuffers::Message
333
+ # forward declarations
334
+ class Identifier < ::ProtocolBuffers::Message; end
335
+
336
+ set_fully_qualified_name "BookDetails"
337
+
338
+ # nested messages
339
+ class Identifier < ::ProtocolBuffers::Message
340
+ set_fully_qualified_name "BookDetails.Identifier"
341
+
342
+ optional :int32, :type, 19
343
+ optional :string, :identifier, 20
344
+ end
345
+
346
+ repeated ::BookSubject, :subject, 3
347
+ optional :string, :publisher, 4
348
+ optional :string, :publicationDate, 5
349
+ optional :string, :isbn, 6
350
+ optional :int32, :numberOfPages, 7
351
+ optional :string, :subtitle, 8
352
+ repeated ::BookAuthor, :author, 9
353
+ optional :string, :readerUrl, 10
354
+ optional :string, :downloadEpubUrl, 11
355
+ optional :string, :downloadPdfUrl, 12
356
+ optional :string, :acsEpubTokenUrl, 13
357
+ optional :string, :acsPdfTokenUrl, 14
358
+ optional :bool, :epubAvailable, 15
359
+ optional :bool, :pdfAvailable, 16
360
+ optional :string, :aboutTheAuthor, 17
361
+ repeated ::BookDetails::Identifier, :identifier, 18, :group => true
362
+ end
363
+
364
+ class BookSubject < ::ProtocolBuffers::Message
365
+ set_fully_qualified_name "BookSubject"
366
+
367
+ optional :string, :name, 1
368
+ optional :string, :query, 2
369
+ optional :string, :subjectId, 3
370
+ end
371
+
372
+ class BrowseLink < ::ProtocolBuffers::Message
373
+ set_fully_qualified_name "BrowseLink"
374
+
375
+ optional :string, :name, 1
376
+ optional :string, :dataUrl, 3
377
+ end
378
+
379
+ class BrowseResponse < ::ProtocolBuffers::Message
380
+ set_fully_qualified_name "BrowseResponse"
381
+
382
+ optional :string, :contentsUrl, 1
383
+ optional :string, :promoUrl, 2
384
+ repeated ::BrowseLink, :category, 3
385
+ repeated ::BrowseLink, :breadcrumb, 4
386
+ end
387
+
388
+ class AddressChallenge < ::ProtocolBuffers::Message
389
+ set_fully_qualified_name "AddressChallenge"
390
+
391
+ optional :string, :responseAddressParam, 1
392
+ optional :string, :responseCheckboxesParam, 2
393
+ optional :string, :title, 3
394
+ optional :string, :descriptionHtml, 4
395
+ repeated ::FormCheckbox, :checkbox, 5
396
+ optional ::Address, :address, 6
397
+ repeated ::InputValidationError, :errorInputField, 7
398
+ optional :string, :errorHtml, 8
399
+ repeated :int32, :requiredField, 9
400
+ end
401
+
402
+ class AuthenticationChallenge < ::ProtocolBuffers::Message
403
+ set_fully_qualified_name "AuthenticationChallenge"
404
+
405
+ optional :int32, :authenticationType, 1
406
+ optional :string, :responseAuthenticationTypeParam, 2
407
+ optional :string, :responseRetryCountParam, 3
408
+ optional :string, :pinHeaderText, 4
409
+ optional :string, :pinDescriptionTextHtml, 5
410
+ optional :string, :gaiaHeaderText, 6
411
+ optional :string, :gaiaDescriptionTextHtml, 7
412
+ end
413
+
414
+ class BuyResponse < ::ProtocolBuffers::Message
415
+ # forward declarations
416
+ class CheckoutInfo < ::ProtocolBuffers::Message; end
417
+
418
+ set_fully_qualified_name "BuyResponse"
419
+
420
+ # nested messages
421
+ class CheckoutInfo < ::ProtocolBuffers::Message
422
+ # forward declarations
423
+ class CheckoutOption < ::ProtocolBuffers::Message; end
424
+
425
+ set_fully_qualified_name "BuyResponse.CheckoutInfo"
426
+
427
+ # nested messages
428
+ class CheckoutOption < ::ProtocolBuffers::Message
429
+ set_fully_qualified_name "BuyResponse.CheckoutInfo.CheckoutOption"
430
+
431
+ optional :string, :formOfPayment, 6
432
+ optional :string, :encodedAdjustedCart, 7
433
+ optional :string, :instrumentId, 15
434
+ repeated ::LineItem, :item, 16
435
+ repeated ::LineItem, :subItem, 17
436
+ optional ::LineItem, :total, 18
437
+ repeated :string, :footerHtml, 19
438
+ optional :int32, :instrumentFamily, 29
439
+ repeated :int32, :deprecatedInstrumentInapplicableReason, 30
440
+ optional :bool, :selectedInstrument, 32
441
+ optional ::LineItem, :summary, 33
442
+ repeated :string, :footnoteHtml, 35
443
+ optional ::Instrument, :instrument, 43
444
+ optional :string, :purchaseCookie, 45
445
+ repeated :string, :disabledReason, 48
446
+ end
447
+
448
+ optional ::LineItem, :item, 3
449
+ repeated ::LineItem, :subItem, 4
450
+ repeated ::BuyResponse::CheckoutInfo::CheckoutOption, :checkoutoption, 5, :group => true
451
+ optional :string, :deprecatedCheckoutUrl, 10
452
+ optional :string, :addInstrumentUrl, 11
453
+ repeated :string, :footerHtml, 20
454
+ repeated :int32, :eligibleInstrumentFamily, 31
455
+ repeated :string, :footnoteHtml, 36
456
+ repeated ::Instrument, :eligibleInstrument, 44
457
+ end
458
+
459
+ optional ::PurchaseNotificationResponse, :purchaseResponse, 1
460
+ optional ::BuyResponse::CheckoutInfo, :checkoutinfo, 2, :group => true
461
+ optional :string, :continueViaUrl, 8
462
+ optional :string, :purchaseStatusUrl, 9
463
+ optional :string, :checkoutServiceId, 12
464
+ optional :bool, :checkoutTokenRequired, 13
465
+ optional :string, :baseCheckoutUrl, 14
466
+ repeated :string, :tosCheckboxHtml, 37
467
+ optional :int32, :iabPermissionError, 38
468
+ optional ::PurchaseStatusResponse, :purchaseStatusResponse, 39
469
+ optional :string, :purchaseCookie, 46
470
+ optional ::Challenge, :challenge, 49
471
+ end
472
+
473
+ class Challenge < ::ProtocolBuffers::Message
474
+ set_fully_qualified_name "Challenge"
475
+
476
+ optional ::AddressChallenge, :addressChallenge, 1
477
+ optional ::AuthenticationChallenge, :authenticationChallenge, 2
478
+ end
479
+
480
+ class FormCheckbox < ::ProtocolBuffers::Message
481
+ set_fully_qualified_name "FormCheckbox"
482
+
483
+ optional :string, :description, 1
484
+ optional :bool, :checked, 2
485
+ optional :bool, :required, 3
486
+ end
487
+
488
+ class LineItem < ::ProtocolBuffers::Message
489
+ set_fully_qualified_name "LineItem"
490
+
491
+ optional :string, :name, 1
492
+ optional :string, :description, 2
493
+ optional ::Offer, :offer, 3
494
+ optional ::Money, :amount, 4
495
+ end
496
+
497
+ class Money < ::ProtocolBuffers::Message
498
+ set_fully_qualified_name "Money"
499
+
500
+ optional :int64, :micros, 1
501
+ optional :string, :currencyCode, 2
502
+ optional :string, :formattedAmount, 3
503
+ end
504
+
505
+ class PurchaseNotificationResponse < ::ProtocolBuffers::Message
506
+ set_fully_qualified_name "PurchaseNotificationResponse"
507
+
508
+ optional :int32, :status, 1
509
+ optional ::DebugInfo, :debugInfo, 2
510
+ optional :string, :localizedErrorMessage, 3
511
+ optional :string, :purchaseId, 4
512
+ end
513
+
514
+ class PurchaseStatusResponse < ::ProtocolBuffers::Message
515
+ set_fully_qualified_name "PurchaseStatusResponse"
516
+
517
+ optional :int32, :status, 1
518
+ optional :string, :statusMsg, 2
519
+ optional :string, :statusTitle, 3
520
+ optional :string, :briefMessage, 4
521
+ optional :string, :infoUrl, 5
522
+ optional ::LibraryUpdate, :libraryUpdate, 6
523
+ optional ::Instrument, :rejectedInstrument, 7
524
+ optional ::AndroidAppDeliveryData, :appDeliveryData, 8
525
+ end
526
+
527
+ class CheckInstrumentResponse < ::ProtocolBuffers::Message
528
+ set_fully_qualified_name "CheckInstrumentResponse"
529
+
530
+ optional :bool, :userHasValidInstrument, 1
531
+ optional :bool, :checkoutTokenRequired, 2
532
+ repeated ::Instrument, :instrument, 4
533
+ repeated ::Instrument, :eligibleInstrument, 5
534
+ end
535
+
536
+ class UpdateInstrumentRequest < ::ProtocolBuffers::Message
537
+ set_fully_qualified_name "UpdateInstrumentRequest"
538
+
539
+ optional ::Instrument, :instrument, 1
540
+ optional :string, :checkoutToken, 2
541
+ end
542
+
543
+ class UpdateInstrumentResponse < ::ProtocolBuffers::Message
544
+ set_fully_qualified_name "UpdateInstrumentResponse"
545
+
546
+ optional :int32, :result, 1
547
+ optional :string, :instrumentId, 2
548
+ optional :string, :userMessageHtml, 3
549
+ repeated ::InputValidationError, :errorInputField, 4
550
+ optional :bool, :checkoutTokenRequired, 5
551
+ optional ::RedeemedPromoOffer, :redeemedOffer, 6
552
+ end
553
+
554
+ class InitiateAssociationResponse < ::ProtocolBuffers::Message
555
+ set_fully_qualified_name "InitiateAssociationResponse"
556
+
557
+ optional :string, :userToken, 1
558
+ end
559
+
560
+ class VerifyAssociationResponse < ::ProtocolBuffers::Message
561
+ set_fully_qualified_name "VerifyAssociationResponse"
562
+
563
+ optional :int32, :status, 1
564
+ optional ::Address, :billingAddress, 2
565
+ optional ::CarrierTos, :carrierTos, 3
566
+ end
567
+
568
+ class AddCreditCardPromoOffer < ::ProtocolBuffers::Message
569
+ set_fully_qualified_name "AddCreditCardPromoOffer"
570
+
571
+ optional :string, :headerText, 1
572
+ optional :string, :descriptionHtml, 2
573
+ optional ::Image, :image, 3
574
+ optional :string, :introductoryTextHtml, 4
575
+ optional :string, :offerTitle, 5
576
+ optional :string, :noActionDescription, 6
577
+ optional :string, :termsAndConditionsHtml, 7
578
+ end
579
+
580
+ class AvailablePromoOffer < ::ProtocolBuffers::Message
581
+ set_fully_qualified_name "AvailablePromoOffer"
582
+
583
+ optional ::AddCreditCardPromoOffer, :addCreditCardOffer, 1
584
+ end
585
+
586
+ class CheckPromoOfferResponse < ::ProtocolBuffers::Message
587
+ set_fully_qualified_name "CheckPromoOfferResponse"
588
+
589
+ repeated ::AvailablePromoOffer, :availableOffer, 1
590
+ optional ::RedeemedPromoOffer, :redeemedOffer, 2
591
+ optional :bool, :checkoutTokenRequired, 3
592
+ end
593
+
594
+ class RedeemedPromoOffer < ::ProtocolBuffers::Message
595
+ set_fully_qualified_name "RedeemedPromoOffer"
596
+
597
+ optional :string, :headerText, 1
598
+ optional :string, :descriptionHtml, 2
599
+ optional ::Image, :image, 3
600
+ end
601
+
602
+ class Docid < ::ProtocolBuffers::Message
603
+ set_fully_qualified_name "Docid"
604
+
605
+ optional :string, :backendDocid, 1
606
+ optional :int32, :type, 2
607
+ optional :int32, :backend, 3
608
+ end
609
+
610
+ class Install < ::ProtocolBuffers::Message
611
+ set_fully_qualified_name "Install"
612
+
613
+ optional :fixed64, :androidId, 1
614
+ optional :int32, :version, 2
615
+ optional :bool, :bundled, 3
616
+ end
617
+
618
+ class Offer < ::ProtocolBuffers::Message
619
+ set_fully_qualified_name "Offer"
620
+
621
+ optional :int64, :micros, 1
622
+ optional :string, :currencyCode, 2
623
+ optional :string, :formattedAmount, 3
624
+ repeated ::Offer, :convertedPrice, 4
625
+ optional :bool, :checkoutFlowRequired, 5
626
+ optional :int64, :fullPriceMicros, 6
627
+ optional :string, :formattedFullAmount, 7
628
+ optional :int32, :offerType, 8
629
+ optional ::RentalTerms, :rentalTerms, 9
630
+ optional :int64, :onSaleDate, 10
631
+ repeated :string, :promotionLabel, 11
632
+ optional ::SubscriptionTerms, :subscriptionTerms, 12
633
+ optional :string, :formattedName, 13
634
+ optional :string, :formattedDescription, 14
635
+ end
636
+
637
+ class OwnershipInfo < ::ProtocolBuffers::Message
638
+ set_fully_qualified_name "OwnershipInfo"
639
+
640
+ optional :int64, :initiationTimestampMsec, 1
641
+ optional :int64, :validUntilTimestampMsec, 2
642
+ optional :bool, :autoRenewing, 3
643
+ optional :int64, :refundTimeoutTimestampMsec, 4
644
+ optional :int64, :postDeliveryRefundWindowMsec, 5
645
+ end
646
+
647
+ class RentalTerms < ::ProtocolBuffers::Message
648
+ set_fully_qualified_name "RentalTerms"
649
+
650
+ optional :int32, :grantPeriodSeconds, 1
651
+ optional :int32, :activatePeriodSeconds, 2
652
+ end
653
+
654
+ class SubscriptionTerms < ::ProtocolBuffers::Message
655
+ set_fully_qualified_name "SubscriptionTerms"
656
+
657
+ optional ::TimePeriod, :recurringPeriod, 1
658
+ optional ::TimePeriod, :trialPeriod, 2
659
+ end
660
+
661
+ class TimePeriod < ::ProtocolBuffers::Message
662
+ set_fully_qualified_name "TimePeriod"
663
+
664
+ optional :int32, :unit, 1
665
+ optional :int32, :count, 2
666
+ end
667
+
668
+ class BillingAddressSpec < ::ProtocolBuffers::Message
669
+ set_fully_qualified_name "BillingAddressSpec"
670
+
671
+ optional :int32, :billingAddressType, 1
672
+ repeated :int32, :requiredField, 2
673
+ end
674
+
675
+ class CarrierBillingCredentials < ::ProtocolBuffers::Message
676
+ set_fully_qualified_name "CarrierBillingCredentials"
677
+
678
+ optional :string, :value, 1
679
+ optional :int64, :expiration, 2
680
+ end
681
+
682
+ class CarrierBillingInstrument < ::ProtocolBuffers::Message
683
+ set_fully_qualified_name "CarrierBillingInstrument"
684
+
685
+ optional :string, :instrumentKey, 1
686
+ optional :string, :accountType, 2
687
+ optional :string, :currencyCode, 3
688
+ optional :int64, :transactionLimit, 4
689
+ optional :string, :subscriberIdentifier, 5
690
+ optional ::EncryptedSubscriberInfo, :encryptedSubscriberInfo, 6
691
+ optional ::CarrierBillingCredentials, :credentials, 7
692
+ optional ::CarrierTos, :acceptedCarrierTos, 8
693
+ end
694
+
695
+ class CarrierBillingInstrumentStatus < ::ProtocolBuffers::Message
696
+ set_fully_qualified_name "CarrierBillingInstrumentStatus"
697
+
698
+ optional ::CarrierTos, :carrierTos, 1
699
+ optional :bool, :associationRequired, 2
700
+ optional :bool, :passwordRequired, 3
701
+ optional ::PasswordPrompt, :carrierPasswordPrompt, 4
702
+ optional :int32, :apiVersion, 5
703
+ optional :string, :name, 6
704
+ end
705
+
706
+ class CarrierTos < ::ProtocolBuffers::Message
707
+ set_fully_qualified_name "CarrierTos"
708
+
709
+ optional ::CarrierTosEntry, :dcbTos, 1
710
+ optional ::CarrierTosEntry, :piiTos, 2
711
+ optional :bool, :needsDcbTosAcceptance, 3
712
+ optional :bool, :needsPiiTosAcceptance, 4
713
+ end
714
+
715
+ class CarrierTosEntry < ::ProtocolBuffers::Message
716
+ set_fully_qualified_name "CarrierTosEntry"
717
+
718
+ optional :string, :url, 1
719
+ optional :string, :version, 2
720
+ end
721
+
722
+ class CreditCardInstrument < ::ProtocolBuffers::Message
723
+ set_fully_qualified_name "CreditCardInstrument"
724
+
725
+ optional :int32, :type, 1
726
+ optional :string, :escrowHandle, 2
727
+ optional :string, :lastDigits, 3
728
+ optional :int32, :expirationMonth, 4
729
+ optional :int32, :expirationYear, 5
730
+ repeated ::EfeParam, :escrowEfeParam, 6
731
+ end
732
+
733
+ class EfeParam < ::ProtocolBuffers::Message
734
+ set_fully_qualified_name "EfeParam"
735
+
736
+ optional :int32, :key, 1
737
+ optional :string, :value, 2
738
+ end
739
+
740
+ class InputValidationError < ::ProtocolBuffers::Message
741
+ set_fully_qualified_name "InputValidationError"
742
+
743
+ optional :int32, :inputField, 1
744
+ optional :string, :errorMessage, 2
745
+ end
746
+
747
+ class Instrument < ::ProtocolBuffers::Message
748
+ set_fully_qualified_name "Instrument"
749
+
750
+ optional :string, :instrumentId, 1
751
+ optional ::Address, :billingAddress, 2
752
+ optional ::CreditCardInstrument, :creditCard, 3
753
+ optional ::CarrierBillingInstrument, :carrierBilling, 4
754
+ optional ::BillingAddressSpec, :billingAddressSpec, 5
755
+ optional :int32, :instrumentFamily, 6
756
+ optional ::CarrierBillingInstrumentStatus, :carrierBillingStatus, 7
757
+ optional :string, :displayTitle, 8
758
+ end
759
+
760
+ class PasswordPrompt < ::ProtocolBuffers::Message
761
+ set_fully_qualified_name "PasswordPrompt"
762
+
763
+ optional :string, :prompt, 1
764
+ optional :string, :forgotPasswordUrl, 2
765
+ end
766
+
767
+ class ContainerMetadata < ::ProtocolBuffers::Message
768
+ set_fully_qualified_name "ContainerMetadata"
769
+
770
+ optional :string, :browseUrl, 1
771
+ optional :string, :nextPageUrl, 2
772
+ optional :double, :relevance, 3
773
+ optional :int64, :estimatedResults, 4
774
+ optional :string, :analyticsCookie, 5
775
+ optional :bool, :ordered, 6
776
+ end
777
+
778
+ class FlagContentResponse < ::ProtocolBuffers::Message
779
+ set_fully_qualified_name "FlagContentResponse"
780
+
781
+ end
782
+
783
+ class DebugInfo < ::ProtocolBuffers::Message
784
+ # forward declarations
785
+ class Timing < ::ProtocolBuffers::Message; end
786
+
787
+ set_fully_qualified_name "DebugInfo"
788
+
789
+ # nested messages
790
+ class Timing < ::ProtocolBuffers::Message
791
+ set_fully_qualified_name "DebugInfo.Timing"
792
+
793
+ optional :string, :name, 3
794
+ optional :double, :timeInMs, 4
795
+ end
796
+
797
+ repeated :string, :message, 1
798
+ repeated ::DebugInfo::Timing, :timing, 2, :group => true
799
+ end
800
+
801
+ class DeliveryResponse < ::ProtocolBuffers::Message
802
+ set_fully_qualified_name "DeliveryResponse"
803
+
804
+ optional :int32, :status, 1
805
+ optional ::AndroidAppDeliveryData, :appDeliveryData, 2
806
+ end
807
+
808
+ class BulkDetailsEntry < ::ProtocolBuffers::Message
809
+ set_fully_qualified_name "BulkDetailsEntry"
810
+
811
+ optional ::DocV2, :doc, 1
812
+ end
813
+
814
+ class BulkDetailsRequest < ::ProtocolBuffers::Message
815
+ set_fully_qualified_name "BulkDetailsRequest"
816
+
817
+ repeated :string, :docid, 1
818
+ optional :bool, :includeChildDocs, 2
819
+ end
820
+
821
+ class BulkDetailsResponse < ::ProtocolBuffers::Message
822
+ set_fully_qualified_name "BulkDetailsResponse"
823
+
824
+ repeated ::BulkDetailsEntry, :entry, 1
825
+ end
826
+
827
+ class DetailsResponse < ::ProtocolBuffers::Message
828
+ set_fully_qualified_name "DetailsResponse"
829
+
830
+ optional ::DocV1, :docV1, 1
831
+ optional :string, :analyticsCookie, 2
832
+ optional ::Review, :userReview, 3
833
+ optional ::DocV2, :docV2, 4
834
+ optional :string, :footerHtml, 5
835
+ end
836
+
837
+ class DeviceConfigurationProto < ::ProtocolBuffers::Message
838
+ set_fully_qualified_name "DeviceConfigurationProto"
839
+
840
+ optional :int32, :touchScreen, 1
841
+ optional :int32, :keyboard, 2
842
+ optional :int32, :navigation, 3
843
+ optional :int32, :screenLayout, 4
844
+ optional :bool, :hasHardKeyboard, 5
845
+ optional :bool, :hasFiveWayNavigation, 6
846
+ optional :int32, :screenDensity, 7
847
+ optional :int32, :glEsVersion, 8
848
+ repeated :string, :systemSharedLibrary, 9
849
+ repeated :string, :systemAvailableFeature, 10
850
+ repeated :string, :nativePlatform, 11
851
+ optional :int32, :screenWidth, 12
852
+ optional :int32, :screenHeight, 13
853
+ repeated :string, :systemSupportedLocale, 14
854
+ repeated :string, :glExtension, 15
855
+ optional :int32, :deviceClass, 16
856
+ optional :int32, :maxApkDownloadSizeMb, 17
857
+ end
858
+
859
+ class Document < ::ProtocolBuffers::Message
860
+ set_fully_qualified_name "Document"
861
+
862
+ optional ::Docid, :docid, 1
863
+ optional ::Docid, :fetchDocid, 2
864
+ optional ::Docid, :sampleDocid, 3
865
+ optional :string, :title, 4
866
+ optional :string, :url, 5
867
+ repeated :string, :snippet, 6
868
+ optional ::Offer, :priceDeprecated, 7
869
+ optional ::Availability, :availability, 9
870
+ repeated ::Image, :image, 10
871
+ repeated ::Document, :child, 11
872
+ optional ::AggregateRating, :aggregateRating, 13
873
+ repeated ::Offer, :offer, 14
874
+ repeated ::TranslatedText, :translatedSnippet, 15
875
+ repeated ::DocumentVariant, :documentVariant, 16
876
+ repeated :string, :categoryId, 17
877
+ repeated ::Document, :decoration, 18
878
+ repeated ::Document, :parent, 19
879
+ optional :string, :privacyPolicyUrl, 20
880
+ end
881
+
882
+ class DocumentVariant < ::ProtocolBuffers::Message
883
+ set_fully_qualified_name "DocumentVariant"
884
+
885
+ optional :int32, :variationType, 1
886
+ optional ::Rule, :rule, 2
887
+ optional :string, :title, 3
888
+ repeated :string, :snippet, 4
889
+ optional :string, :recentChanges, 5
890
+ repeated ::TranslatedText, :autoTranslation, 6
891
+ repeated ::Offer, :offer, 7
892
+ optional :int64, :channelId, 9
893
+ repeated ::Document, :child, 10
894
+ repeated ::Document, :decoration, 11
895
+ end
896
+
897
+ class Image < ::ProtocolBuffers::Message
898
+ # forward declarations
899
+ class Dimension < ::ProtocolBuffers::Message; end
900
+ class Citation < ::ProtocolBuffers::Message; end
901
+
902
+ set_fully_qualified_name "Image"
903
+
904
+ # nested messages
905
+ class Dimension < ::ProtocolBuffers::Message
906
+ set_fully_qualified_name "Image.Dimension"
907
+
908
+ optional :int32, :width, 3
909
+ optional :int32, :height, 4
910
+ end
911
+
912
+ class Citation < ::ProtocolBuffers::Message
913
+ set_fully_qualified_name "Image.Citation"
914
+
915
+ optional :string, :titleLocalized, 11
916
+ optional :string, :url, 12
917
+ end
918
+
919
+ optional :int32, :imageType, 1
920
+ optional ::Image::Dimension, :dimension, 2, :group => true
921
+ optional :string, :imageUrl, 5
922
+ optional :string, :altTextLocalized, 6
923
+ optional :string, :secureUrl, 7
924
+ optional :int32, :positionInSequence, 8
925
+ optional :bool, :supportsFifeUrlOptions, 9
926
+ optional ::Image::Citation, :citation, 10, :group => true
927
+ end
928
+
929
+ class TranslatedText < ::ProtocolBuffers::Message
930
+ set_fully_qualified_name "TranslatedText"
931
+
932
+ optional :string, :text, 1
933
+ optional :string, :sourceLocale, 2
934
+ optional :string, :targetLocale, 3
935
+ end
936
+
937
+ class Badge < ::ProtocolBuffers::Message
938
+ set_fully_qualified_name "Badge"
939
+
940
+ optional :string, :title, 1
941
+ repeated ::Image, :image, 2
942
+ optional :string, :browseUrl, 3
943
+ end
944
+
945
+ class ContainerWithBanner < ::ProtocolBuffers::Message
946
+ set_fully_qualified_name "ContainerWithBanner"
947
+
948
+ optional :string, :colorThemeArgb, 1
949
+ end
950
+
951
+ class DealOfTheDay < ::ProtocolBuffers::Message
952
+ set_fully_qualified_name "DealOfTheDay"
953
+
954
+ optional :string, :featuredHeader, 1
955
+ optional :string, :colorThemeArgb, 2
956
+ end
957
+
958
+ class EditorialSeriesContainer < ::ProtocolBuffers::Message
959
+ set_fully_qualified_name "EditorialSeriesContainer"
960
+
961
+ optional :string, :seriesTitle, 1
962
+ optional :string, :seriesSubtitle, 2
963
+ optional :string, :episodeTitle, 3
964
+ optional :string, :episodeSubtitle, 4
965
+ optional :string, :colorThemeArgb, 5
966
+ end
967
+
968
+ class Link < ::ProtocolBuffers::Message
969
+ set_fully_qualified_name "Link"
970
+
971
+ optional :string, :uri, 1
972
+ end
973
+
974
+ class PlusOneData < ::ProtocolBuffers::Message
975
+ set_fully_qualified_name "PlusOneData"
976
+
977
+ optional :bool, :setByUser, 1
978
+ optional :int64, :total, 2
979
+ optional :int64, :circlesTotal, 3
980
+ repeated ::PlusPerson, :circlesPeople, 4
981
+ end
982
+
983
+ class PlusPerson < ::ProtocolBuffers::Message
984
+ set_fully_qualified_name "PlusPerson"
985
+
986
+ optional :string, :displayName, 2
987
+ optional :string, :profileImageUrl, 4
988
+ end
989
+
990
+ class PromotedDoc < ::ProtocolBuffers::Message
991
+ set_fully_qualified_name "PromotedDoc"
992
+
993
+ optional :string, :title, 1
994
+ optional :string, :subtitle, 2
995
+ repeated ::Image, :image, 3
996
+ optional :string, :descriptionHtml, 4
997
+ optional :string, :detailsUrl, 5
998
+ end
999
+
1000
+ class Reason < ::ProtocolBuffers::Message
1001
+ set_fully_qualified_name "Reason"
1002
+
1003
+ optional :string, :briefReason, 1
1004
+ optional :string, :detailedReason, 2
1005
+ optional :string, :uniqueId, 3
1006
+ end
1007
+
1008
+ class SectionMetadata < ::ProtocolBuffers::Message
1009
+ set_fully_qualified_name "SectionMetadata"
1010
+
1011
+ optional :string, :header, 1
1012
+ optional :string, :listUrl, 2
1013
+ optional :string, :browseUrl, 3
1014
+ optional :string, :descriptionHtml, 4
1015
+ end
1016
+
1017
+ class SeriesAntenna < ::ProtocolBuffers::Message
1018
+ set_fully_qualified_name "SeriesAntenna"
1019
+
1020
+ optional :string, :seriesTitle, 1
1021
+ optional :string, :seriesSubtitle, 2
1022
+ optional :string, :episodeTitle, 3
1023
+ optional :string, :episodeSubtitle, 4
1024
+ optional :string, :colorThemeArgb, 5
1025
+ optional ::SectionMetadata, :sectionTracks, 6
1026
+ optional ::SectionMetadata, :sectionAlbums, 7
1027
+ end
1028
+
1029
+ class Template < ::ProtocolBuffers::Message
1030
+ set_fully_qualified_name "Template"
1031
+
1032
+ optional ::SeriesAntenna, :seriesAntenna, 1
1033
+ optional ::TileTemplate, :tileGraphic2X1, 2
1034
+ optional ::TileTemplate, :tileGraphic4X2, 3
1035
+ optional ::TileTemplate, :tileGraphicColoredTitle2X1, 4
1036
+ optional ::TileTemplate, :tileGraphicUpperLeftTitle2X1, 5
1037
+ optional ::TileTemplate, :tileDetailsReflectedGraphic2X2, 6
1038
+ optional ::TileTemplate, :tileFourBlock4X2, 7
1039
+ optional ::ContainerWithBanner, :containerWithBanner, 8
1040
+ optional ::DealOfTheDay, :dealOfTheDay, 9
1041
+ optional ::TileTemplate, :tileGraphicColoredTitle4X2, 10
1042
+ optional ::EditorialSeriesContainer, :editorialSeriesContainer, 11
1043
+ end
1044
+
1045
+ class TileTemplate < ::ProtocolBuffers::Message
1046
+ set_fully_qualified_name "TileTemplate"
1047
+
1048
+ optional :string, :colorThemeArgb, 1
1049
+ optional :string, :colorTextArgb, 2
1050
+ end
1051
+
1052
+ class Warning < ::ProtocolBuffers::Message
1053
+ set_fully_qualified_name "Warning"
1054
+
1055
+ optional :string, :localizedMessage, 1
1056
+ end
1057
+
1058
+ class AlbumDetails < ::ProtocolBuffers::Message
1059
+ set_fully_qualified_name "AlbumDetails"
1060
+
1061
+ optional :string, :name, 1
1062
+ optional ::MusicDetails, :details, 2
1063
+ optional ::ArtistDetails, :displayArtist, 3
1064
+ end
1065
+
1066
+ class AppDetails < ::ProtocolBuffers::Message
1067
+ set_fully_qualified_name "AppDetails"
1068
+
1069
+ optional :string, :developerName, 1
1070
+ optional :int32, :majorVersionNumber, 2
1071
+ optional :int32, :versionCode, 3
1072
+ optional :string, :versionString, 4
1073
+ optional :string, :title, 5
1074
+ repeated :string, :appCategory, 7
1075
+ optional :int32, :contentRating, 8
1076
+ optional :int64, :installationSize, 9
1077
+ repeated :string, :permission, 10
1078
+ optional :string, :developerEmail, 11
1079
+ optional :string, :developerWebsite, 12
1080
+ optional :string, :numDownloads, 13
1081
+ optional :string, :packageName, 14
1082
+ optional :string, :recentChangesHtml, 15
1083
+ optional :string, :uploadDate, 16
1084
+ repeated ::FileMetadata, :file, 17
1085
+ optional :string, :appType, 18
1086
+ end
1087
+
1088
+ class ArtistDetails < ::ProtocolBuffers::Message
1089
+ set_fully_qualified_name "ArtistDetails"
1090
+
1091
+ optional :string, :detailsUrl, 1
1092
+ optional :string, :name, 2
1093
+ optional ::ArtistExternalLinks, :externalLinks, 3
1094
+ end
1095
+
1096
+ class ArtistExternalLinks < ::ProtocolBuffers::Message
1097
+ set_fully_qualified_name "ArtistExternalLinks"
1098
+
1099
+ repeated :string, :websiteUrl, 1
1100
+ optional :string, :googlePlusProfileUrl, 2
1101
+ optional :string, :youtubeChannelUrl, 3
1102
+ end
1103
+
1104
+ class DocumentDetails < ::ProtocolBuffers::Message
1105
+ set_fully_qualified_name "DocumentDetails"
1106
+
1107
+ optional ::AppDetails, :appDetails, 1
1108
+ optional ::AlbumDetails, :albumDetails, 2
1109
+ optional ::ArtistDetails, :artistDetails, 3
1110
+ optional ::SongDetails, :songDetails, 4
1111
+ optional ::BookDetails, :bookDetails, 5
1112
+ optional ::VideoDetails, :videoDetails, 6
1113
+ optional ::SubscriptionDetails, :subscriptionDetails, 7
1114
+ optional ::MagazineDetails, :magazineDetails, 8
1115
+ optional ::TvShowDetails, :tvShowDetails, 9
1116
+ optional ::TvSeasonDetails, :tvSeasonDetails, 10
1117
+ optional ::TvEpisodeDetails, :tvEpisodeDetails, 11
1118
+ end
1119
+
1120
+ class FileMetadata < ::ProtocolBuffers::Message
1121
+ set_fully_qualified_name "FileMetadata"
1122
+
1123
+ optional :int32, :fileType, 1
1124
+ optional :int32, :versionCode, 2
1125
+ optional :int64, :size, 3
1126
+ end
1127
+
1128
+ class MagazineDetails < ::ProtocolBuffers::Message
1129
+ set_fully_qualified_name "MagazineDetails"
1130
+
1131
+ optional :string, :parentDetailsUrl, 1
1132
+ optional :string, :deviceAvailabilityDescriptionHtml, 2
1133
+ optional :string, :psvDescription, 3
1134
+ optional :string, :deliveryFrequencyDescription, 4
1135
+ end
1136
+
1137
+ class MusicDetails < ::ProtocolBuffers::Message
1138
+ set_fully_qualified_name "MusicDetails"
1139
+
1140
+ optional :int32, :censoring, 1
1141
+ optional :int32, :durationSec, 2
1142
+ optional :string, :originalReleaseDate, 3
1143
+ optional :string, :label, 4
1144
+ repeated ::ArtistDetails, :artist, 5
1145
+ repeated :string, :genre, 6
1146
+ optional :string, :releaseDate, 7
1147
+ repeated :int32, :releaseType, 8
1148
+ end
1149
+
1150
+ class SongDetails < ::ProtocolBuffers::Message
1151
+ set_fully_qualified_name "SongDetails"
1152
+
1153
+ optional :string, :name, 1
1154
+ optional ::MusicDetails, :details, 2
1155
+ optional :string, :albumName, 3
1156
+ optional :int32, :trackNumber, 4
1157
+ optional :string, :previewUrl, 5
1158
+ optional ::ArtistDetails, :displayArtist, 6
1159
+ end
1160
+
1161
+ class SubscriptionDetails < ::ProtocolBuffers::Message
1162
+ set_fully_qualified_name "SubscriptionDetails"
1163
+
1164
+ optional :int32, :subscriptionPeriod, 1
1165
+ end
1166
+
1167
+ class Trailer < ::ProtocolBuffers::Message
1168
+ set_fully_qualified_name "Trailer"
1169
+
1170
+ optional :string, :trailerId, 1
1171
+ optional :string, :title, 2
1172
+ optional :string, :thumbnailUrl, 3
1173
+ optional :string, :watchUrl, 4
1174
+ optional :string, :duration, 5
1175
+ end
1176
+
1177
+ class TvEpisodeDetails < ::ProtocolBuffers::Message
1178
+ set_fully_qualified_name "TvEpisodeDetails"
1179
+
1180
+ optional :string, :parentDetailsUrl, 1
1181
+ optional :int32, :episodeIndex, 2
1182
+ optional :string, :releaseDate, 3
1183
+ end
1184
+
1185
+ class TvSeasonDetails < ::ProtocolBuffers::Message
1186
+ set_fully_qualified_name "TvSeasonDetails"
1187
+
1188
+ optional :string, :parentDetailsUrl, 1
1189
+ optional :int32, :seasonIndex, 2
1190
+ optional :string, :releaseDate, 3
1191
+ optional :string, :broadcaster, 4
1192
+ end
1193
+
1194
+ class TvShowDetails < ::ProtocolBuffers::Message
1195
+ set_fully_qualified_name "TvShowDetails"
1196
+
1197
+ optional :int32, :seasonCount, 1
1198
+ optional :int32, :startYear, 2
1199
+ optional :int32, :endYear, 3
1200
+ optional :string, :broadcaster, 4
1201
+ end
1202
+
1203
+ class VideoCredit < ::ProtocolBuffers::Message
1204
+ set_fully_qualified_name "VideoCredit"
1205
+
1206
+ optional :int32, :creditType, 1
1207
+ optional :string, :credit, 2
1208
+ repeated :string, :name, 3
1209
+ end
1210
+
1211
+ class VideoDetails < ::ProtocolBuffers::Message
1212
+ set_fully_qualified_name "VideoDetails"
1213
+
1214
+ repeated ::VideoCredit, :credit, 1
1215
+ optional :string, :duration, 2
1216
+ optional :string, :releaseDate, 3
1217
+ optional :string, :contentRating, 4
1218
+ optional :int64, :likes, 5
1219
+ optional :int64, :dislikes, 6
1220
+ repeated :string, :genre, 7
1221
+ repeated ::Trailer, :trailer, 8
1222
+ repeated ::VideoRentalTerm, :rentalTerm, 9
1223
+ end
1224
+
1225
+ class VideoRentalTerm < ::ProtocolBuffers::Message
1226
+ # forward declarations
1227
+ class Term < ::ProtocolBuffers::Message; end
1228
+
1229
+ set_fully_qualified_name "VideoRentalTerm"
1230
+
1231
+ # nested messages
1232
+ class Term < ::ProtocolBuffers::Message
1233
+ set_fully_qualified_name "VideoRentalTerm.Term"
1234
+
1235
+ optional :string, :header, 5
1236
+ optional :string, :body, 6
1237
+ end
1238
+
1239
+ optional :int32, :offerType, 1
1240
+ optional :string, :offerAbbreviation, 2
1241
+ optional :string, :rentalHeader, 3
1242
+ repeated ::VideoRentalTerm::Term, :term, 4, :group => true
1243
+ end
1244
+
1245
+ class Bucket < ::ProtocolBuffers::Message
1246
+ set_fully_qualified_name "Bucket"
1247
+
1248
+ repeated ::DocV1, :document, 1
1249
+ optional :bool, :multiCorpus, 2
1250
+ optional :string, :title, 3
1251
+ optional :string, :iconUrl, 4
1252
+ optional :string, :fullContentsUrl, 5
1253
+ optional :double, :relevance, 6
1254
+ optional :int64, :estimatedResults, 7
1255
+ optional :string, :analyticsCookie, 8
1256
+ optional :string, :fullContentsListUrl, 9
1257
+ optional :string, :nextPageUrl, 10
1258
+ optional :bool, :ordered, 11
1259
+ end
1260
+
1261
+ class ListResponse < ::ProtocolBuffers::Message
1262
+ set_fully_qualified_name "ListResponse"
1263
+
1264
+ repeated ::Bucket, :bucket, 1
1265
+ repeated ::DocV2, :doc, 2
1266
+ end
1267
+
1268
+ class DocV1 < ::ProtocolBuffers::Message
1269
+ set_fully_qualified_name "DocV1"
1270
+
1271
+ optional ::Document, :finskyDoc, 1
1272
+ optional :string, :docid, 2
1273
+ optional :string, :detailsUrl, 3
1274
+ optional :string, :reviewsUrl, 4
1275
+ optional :string, :relatedListUrl, 5
1276
+ optional :string, :moreByListUrl, 6
1277
+ optional :string, :shareUrl, 7
1278
+ optional :string, :creator, 8
1279
+ optional ::DocumentDetails, :details, 9
1280
+ optional :string, :descriptionHtml, 10
1281
+ optional :string, :relatedBrowseUrl, 11
1282
+ optional :string, :moreByBrowseUrl, 12
1283
+ optional :string, :relatedHeader, 13
1284
+ optional :string, :moreByHeader, 14
1285
+ optional :string, :title, 15
1286
+ optional ::PlusOneData, :plusOneData, 16
1287
+ optional :string, :warningMessage, 17
1288
+ end
1289
+
1290
+ class Annotations < ::ProtocolBuffers::Message
1291
+ set_fully_qualified_name "Annotations"
1292
+
1293
+ optional ::SectionMetadata, :sectionRelated, 1
1294
+ optional ::SectionMetadata, :sectionMoreBy, 2
1295
+ optional ::PlusOneData, :plusOneData, 3
1296
+ repeated ::Warning, :warning, 4
1297
+ optional ::SectionMetadata, :sectionBodyOfWork, 5
1298
+ optional ::SectionMetadata, :sectionCoreContent, 6
1299
+ optional ::Template, :template, 7
1300
+ repeated ::Badge, :badgeForCreator, 8
1301
+ repeated ::Badge, :badgeForDoc, 9
1302
+ optional ::Link, :link, 10
1303
+ optional ::SectionMetadata, :sectionCrossSell, 11
1304
+ optional ::SectionMetadata, :sectionRelatedDocType, 12
1305
+ repeated ::PromotedDoc, :promotedDoc, 13
1306
+ optional :string, :offerNote, 14
1307
+ repeated ::DocV2, :subscription, 16
1308
+ optional ::Reason, :reason, 17
1309
+ optional :string, :privacyPolicyUrl, 18
1310
+ end
1311
+
1312
+ class DocV2 < ::ProtocolBuffers::Message
1313
+ set_fully_qualified_name "DocV2"
1314
+
1315
+ optional :string, :docid, 1
1316
+ optional :string, :backendDocid, 2
1317
+ optional :int32, :docType, 3
1318
+ optional :int32, :backendId, 4
1319
+ optional :string, :title, 5
1320
+ optional :string, :creator, 6
1321
+ optional :string, :descriptionHtml, 7
1322
+ repeated ::Offer, :offer, 8
1323
+ optional ::Availability, :availability, 9
1324
+ repeated ::Image, :image, 10
1325
+ repeated ::DocV2, :child, 11
1326
+ optional ::ContainerMetadata, :containerMetadata, 12
1327
+ optional ::DocumentDetails, :details, 13
1328
+ optional ::AggregateRating, :aggregateRating, 14
1329
+ optional ::Annotations, :annotations, 15
1330
+ optional :string, :detailsUrl, 16
1331
+ optional :string, :shareUrl, 17
1332
+ optional :string, :reviewsUrl, 18
1333
+ optional :string, :backendUrl, 19
1334
+ optional :string, :purchaseDetailsUrl, 20
1335
+ optional :bool, :detailsReusable, 21
1336
+ optional :string, :subtitle, 22
1337
+ end
1338
+
1339
+ class EncryptedSubscriberInfo < ::ProtocolBuffers::Message
1340
+ set_fully_qualified_name "EncryptedSubscriberInfo"
1341
+
1342
+ optional :string, :data, 1
1343
+ optional :string, :encryptedKey, 2
1344
+ optional :string, :signature, 3
1345
+ optional :string, :initVector, 4
1346
+ optional :int32, :googleKeyVersion, 5
1347
+ optional :int32, :carrierKeyVersion, 6
1348
+ end
1349
+
1350
+ class Availability < ::ProtocolBuffers::Message
1351
+ # forward declarations
1352
+ class PerDeviceAvailabilityRestriction < ::ProtocolBuffers::Message; end
1353
+
1354
+ set_fully_qualified_name "Availability"
1355
+
1356
+ # nested messages
1357
+ class PerDeviceAvailabilityRestriction < ::ProtocolBuffers::Message
1358
+ set_fully_qualified_name "Availability.PerDeviceAvailabilityRestriction"
1359
+
1360
+ optional :fixed64, :androidId, 10
1361
+ optional :int32, :deviceRestriction, 11
1362
+ optional :int64, :channelId, 12
1363
+ optional ::FilterEvaluationInfo, :filterInfo, 15
1364
+ end
1365
+
1366
+ optional :int32, :restriction, 5
1367
+ optional :int32, :offerType, 6
1368
+ optional ::Rule, :rule, 7
1369
+ repeated ::Availability::PerDeviceAvailabilityRestriction, :perdeviceavailabilityrestriction, 9, :group => true
1370
+ optional :bool, :availableIfOwned, 13
1371
+ repeated ::Install, :install, 14
1372
+ optional ::FilterEvaluationInfo, :filterInfo, 16
1373
+ optional ::OwnershipInfo, :ownershipInfo, 17
1374
+ end
1375
+
1376
+ class FilterEvaluationInfo < ::ProtocolBuffers::Message
1377
+ set_fully_qualified_name "FilterEvaluationInfo"
1378
+
1379
+ repeated ::RuleEvaluation, :ruleEvaluation, 1
1380
+ end
1381
+
1382
+ class Rule < ::ProtocolBuffers::Message
1383
+ set_fully_qualified_name "Rule"
1384
+
1385
+ optional :bool, :negate, 1
1386
+ optional :int32, :operator, 2
1387
+ optional :int32, :key, 3
1388
+ repeated :string, :stringArg, 4
1389
+ repeated :int64, :longArg, 5
1390
+ repeated :double, :doubleArg, 6
1391
+ repeated ::Rule, :subrule, 7
1392
+ optional :int32, :responseCode, 8
1393
+ optional :string, :comment, 9
1394
+ repeated :fixed64, :stringArgHash, 10
1395
+ repeated :int32, :constArg, 11
1396
+ end
1397
+
1398
+ class RuleEvaluation < ::ProtocolBuffers::Message
1399
+ set_fully_qualified_name "RuleEvaluation"
1400
+
1401
+ optional ::Rule, :rule, 1
1402
+ repeated :string, :actualStringValue, 2
1403
+ repeated :int64, :actualLongValue, 3
1404
+ repeated :bool, :actualBoolValue, 4
1405
+ repeated :double, :actualDoubleValue, 5
1406
+ end
1407
+
1408
+ class LibraryAppDetails < ::ProtocolBuffers::Message
1409
+ set_fully_qualified_name "LibraryAppDetails"
1410
+
1411
+ optional :string, :certificateHash, 2
1412
+ optional :int64, :refundTimeoutTimestampMsec, 3
1413
+ optional :int64, :postDeliveryRefundWindowMsec, 4
1414
+ end
1415
+
1416
+ class LibraryMutation < ::ProtocolBuffers::Message
1417
+ set_fully_qualified_name "LibraryMutation"
1418
+
1419
+ optional ::Docid, :docid, 1
1420
+ optional :int32, :offerType, 2
1421
+ optional :int64, :documentHash, 3
1422
+ optional :bool, :deleted, 4
1423
+ optional ::LibraryAppDetails, :appDetails, 5
1424
+ optional ::LibrarySubscriptionDetails, :subscriptionDetails, 6
1425
+ end
1426
+
1427
+ class LibrarySubscriptionDetails < ::ProtocolBuffers::Message
1428
+ set_fully_qualified_name "LibrarySubscriptionDetails"
1429
+
1430
+ optional :int64, :initiationTimestampMsec, 1
1431
+ optional :int64, :validUntilTimestampMsec, 2
1432
+ optional :bool, :autoRenewing, 3
1433
+ optional :int64, :trialUntilTimestampMsec, 4
1434
+ end
1435
+
1436
+ class LibraryUpdate < ::ProtocolBuffers::Message
1437
+ set_fully_qualified_name "LibraryUpdate"
1438
+
1439
+ optional :int32, :status, 1
1440
+ optional :int32, :corpus, 2
1441
+ optional :bytes, :serverToken, 3
1442
+ repeated ::LibraryMutation, :mutation, 4
1443
+ optional :bool, :hasMore, 5
1444
+ optional :string, :libraryId, 6
1445
+ end
1446
+
1447
+ class ClientLibraryState < ::ProtocolBuffers::Message
1448
+ set_fully_qualified_name "ClientLibraryState"
1449
+
1450
+ optional :int32, :corpus, 1
1451
+ optional :bytes, :serverToken, 2
1452
+ optional :int64, :hashCodeSum, 3
1453
+ optional :int32, :librarySize, 4
1454
+ end
1455
+
1456
+ class LibraryReplicationRequest < ::ProtocolBuffers::Message
1457
+ set_fully_qualified_name "LibraryReplicationRequest"
1458
+
1459
+ repeated ::ClientLibraryState, :libraryState, 1
1460
+ end
1461
+
1462
+ class LibraryReplicationResponse < ::ProtocolBuffers::Message
1463
+ set_fully_qualified_name "LibraryReplicationResponse"
1464
+
1465
+ repeated ::LibraryUpdate, :update, 1
1466
+ end
1467
+
1468
+ class ClickLogEvent < ::ProtocolBuffers::Message
1469
+ set_fully_qualified_name "ClickLogEvent"
1470
+
1471
+ optional :int64, :eventTime, 1
1472
+ optional :string, :url, 2
1473
+ optional :string, :listId, 3
1474
+ optional :string, :referrerUrl, 4
1475
+ optional :string, :referrerListId, 5
1476
+ end
1477
+
1478
+ class LogRequest < ::ProtocolBuffers::Message
1479
+ set_fully_qualified_name "LogRequest"
1480
+
1481
+ repeated ::ClickLogEvent, :clickEvent, 1
1482
+ end
1483
+
1484
+ class LogResponse < ::ProtocolBuffers::Message
1485
+ set_fully_qualified_name "LogResponse"
1486
+
1487
+ end
1488
+
1489
+ class AndroidAppNotificationData < ::ProtocolBuffers::Message
1490
+ set_fully_qualified_name "AndroidAppNotificationData"
1491
+
1492
+ optional :int32, :versionCode, 1
1493
+ optional :string, :assetId, 2
1494
+ end
1495
+
1496
+ class InAppNotificationData < ::ProtocolBuffers::Message
1497
+ set_fully_qualified_name "InAppNotificationData"
1498
+
1499
+ optional :string, :checkoutOrderId, 1
1500
+ optional :string, :inAppNotificationId, 2
1501
+ end
1502
+
1503
+ class LibraryDirtyData < ::ProtocolBuffers::Message
1504
+ set_fully_qualified_name "LibraryDirtyData"
1505
+
1506
+ optional :int32, :backend, 1
1507
+ end
1508
+
1509
+ class Notification < ::ProtocolBuffers::Message
1510
+ set_fully_qualified_name "Notification"
1511
+
1512
+ optional :int32, :notificationType, 1
1513
+ optional :int64, :timestamp, 3
1514
+ optional ::Docid, :docid, 4
1515
+ optional :string, :docTitle, 5
1516
+ optional :string, :userEmail, 6
1517
+ optional ::AndroidAppNotificationData, :appData, 7
1518
+ optional ::AndroidAppDeliveryData, :appDeliveryData, 8
1519
+ optional ::PurchaseRemovalData, :purchaseRemovalData, 9
1520
+ optional ::UserNotificationData, :userNotificationData, 10
1521
+ optional ::InAppNotificationData, :inAppNotificationData, 11
1522
+ optional ::PurchaseDeclinedData, :purchaseDeclinedData, 12
1523
+ optional :string, :notificationId, 13
1524
+ optional ::LibraryUpdate, :libraryUpdate, 14
1525
+ optional ::LibraryDirtyData, :libraryDirtyData, 15
1526
+ end
1527
+
1528
+ class PurchaseDeclinedData < ::ProtocolBuffers::Message
1529
+ set_fully_qualified_name "PurchaseDeclinedData"
1530
+
1531
+ optional :int32, :reason, 1
1532
+ optional :bool, :showNotification, 2
1533
+ end
1534
+
1535
+ class PurchaseRemovalData < ::ProtocolBuffers::Message
1536
+ set_fully_qualified_name "PurchaseRemovalData"
1537
+
1538
+ optional :bool, :malicious, 1
1539
+ end
1540
+
1541
+ class UserNotificationData < ::ProtocolBuffers::Message
1542
+ set_fully_qualified_name "UserNotificationData"
1543
+
1544
+ optional :string, :notificationTitle, 1
1545
+ optional :string, :notificationText, 2
1546
+ optional :string, :tickerText, 3
1547
+ optional :string, :dialogTitle, 4
1548
+ optional :string, :dialogText, 5
1549
+ end
1550
+
1551
+ class PlusOneResponse < ::ProtocolBuffers::Message
1552
+ set_fully_qualified_name "PlusOneResponse"
1553
+
1554
+ end
1555
+
1556
+ class RateSuggestedContentResponse < ::ProtocolBuffers::Message
1557
+ set_fully_qualified_name "RateSuggestedContentResponse"
1558
+
1559
+ end
1560
+
1561
+ class AggregateRating < ::ProtocolBuffers::Message
1562
+ set_fully_qualified_name "AggregateRating"
1563
+
1564
+ optional :int32, :type, 1
1565
+ optional :float, :starRating, 2
1566
+ optional :uint64, :ratingsCount, 3
1567
+ optional :uint64, :oneStarRatings, 4
1568
+ optional :uint64, :twoStarRatings, 5
1569
+ optional :uint64, :threeStarRatings, 6
1570
+ optional :uint64, :fourStarRatings, 7
1571
+ optional :uint64, :fiveStarRatings, 8
1572
+ optional :uint64, :thumbsUpCount, 9
1573
+ optional :uint64, :thumbsDownCount, 10
1574
+ optional :uint64, :commentCount, 11
1575
+ optional :double, :bayesianMeanRating, 12
1576
+ end
1577
+
1578
+ class DirectPurchase < ::ProtocolBuffers::Message
1579
+ set_fully_qualified_name "DirectPurchase"
1580
+
1581
+ optional :string, :detailsUrl, 1
1582
+ optional :string, :purchaseDocid, 2
1583
+ optional :string, :parentDocid, 3
1584
+ optional :int32, :offerType, 4
1585
+ end
1586
+
1587
+ class ResolveLinkResponse < ::ProtocolBuffers::Message
1588
+ set_fully_qualified_name "ResolveLinkResponse"
1589
+
1590
+ optional :string, :detailsUrl, 1
1591
+ optional :string, :browseUrl, 2
1592
+ optional :string, :searchUrl, 3
1593
+ optional ::DirectPurchase, :directPurchase, 4
1594
+ optional :string, :homeUrl, 5
1595
+ end
1596
+
1597
+ class Payload < ::ProtocolBuffers::Message
1598
+ set_fully_qualified_name "Payload"
1599
+
1600
+ optional ::ListResponse, :listResponse, 1
1601
+ optional ::DetailsResponse, :detailsResponse, 2
1602
+ optional ::ReviewResponse, :reviewResponse, 3
1603
+ optional ::BuyResponse, :buyResponse, 4
1604
+ optional ::SearchResponse, :searchResponse, 5
1605
+ optional ::TocResponse, :tocResponse, 6
1606
+ optional ::BrowseResponse, :browseResponse, 7
1607
+ optional ::PurchaseStatusResponse, :purchaseStatusResponse, 8
1608
+ optional ::UpdateInstrumentResponse, :updateInstrumentResponse, 9
1609
+ optional ::LogResponse, :logResponse, 10
1610
+ optional ::CheckInstrumentResponse, :checkInstrumentResponse, 11
1611
+ optional ::PlusOneResponse, :plusOneResponse, 12
1612
+ optional ::FlagContentResponse, :flagContentResponse, 13
1613
+ optional ::AckNotificationResponse, :ackNotificationResponse, 14
1614
+ optional ::InitiateAssociationResponse, :initiateAssociationResponse, 15
1615
+ optional ::VerifyAssociationResponse, :verifyAssociationResponse, 16
1616
+ optional ::LibraryReplicationResponse, :libraryReplicationResponse, 17
1617
+ optional ::RevokeResponse, :revokeResponse, 18
1618
+ optional ::BulkDetailsResponse, :bulkDetailsResponse, 19
1619
+ optional ::ResolveLinkResponse, :resolveLinkResponse, 20
1620
+ optional ::DeliveryResponse, :deliveryResponse, 21
1621
+ optional ::AcceptTosResponse, :acceptTosResponse, 22
1622
+ optional ::RateSuggestedContentResponse, :rateSuggestedContentResponse, 23
1623
+ optional ::CheckPromoOfferResponse, :checkPromoOfferResponse, 24
1624
+ end
1625
+
1626
+ class PreFetch < ::ProtocolBuffers::Message
1627
+ set_fully_qualified_name "PreFetch"
1628
+
1629
+ optional :string, :url, 1
1630
+ optional :bytes, :response, 2
1631
+ optional :string, :etag, 3
1632
+ optional :int64, :ttl, 4
1633
+ optional :int64, :softTtl, 5
1634
+ end
1635
+
1636
+ class ResponseWrapper < ::ProtocolBuffers::Message
1637
+ set_fully_qualified_name "ResponseWrapper"
1638
+
1639
+ optional ::Payload, :payload, 1
1640
+ optional ::ServerCommands, :commands, 2
1641
+ repeated ::PreFetch, :preFetch, 3
1642
+ repeated ::Notification, :notification, 4
1643
+ end
1644
+
1645
+ class ServerCommands < ::ProtocolBuffers::Message
1646
+ set_fully_qualified_name "ServerCommands"
1647
+
1648
+ optional :bool, :clearCache, 1
1649
+ optional :string, :displayErrorMessage, 2
1650
+ optional :string, :logErrorStacktrace, 3
1651
+ end
1652
+
1653
+ class GetReviewsResponse < ::ProtocolBuffers::Message
1654
+ set_fully_qualified_name "GetReviewsResponse"
1655
+
1656
+ repeated ::Review, :review, 1
1657
+ optional :int64, :matchingCount, 2
1658
+ end
1659
+
1660
+ class Review < ::ProtocolBuffers::Message
1661
+ set_fully_qualified_name "Review"
1662
+
1663
+ optional :string, :authorName, 1
1664
+ optional :string, :url, 2
1665
+ optional :string, :source, 3
1666
+ optional :string, :documentVersion, 4
1667
+ optional :int64, :timestampMsec, 5
1668
+ optional :int32, :starRating, 6
1669
+ optional :string, :title, 7
1670
+ optional :string, :comment, 8
1671
+ optional :string, :commentId, 9
1672
+ optional :string, :deviceName, 19
1673
+ optional :string, :replyText, 29
1674
+ optional :int64, :replyTimestampMsec, 30
1675
+ end
1676
+
1677
+ class ReviewResponse < ::ProtocolBuffers::Message
1678
+ set_fully_qualified_name "ReviewResponse"
1679
+
1680
+ optional ::GetReviewsResponse, :getResponse, 1
1681
+ optional :string, :nextPageUrl, 2
1682
+ end
1683
+
1684
+ class RevokeResponse < ::ProtocolBuffers::Message
1685
+ set_fully_qualified_name "RevokeResponse"
1686
+
1687
+ optional ::LibraryUpdate, :libraryUpdate, 1
1688
+ end
1689
+
1690
+ class RelatedSearch < ::ProtocolBuffers::Message
1691
+ set_fully_qualified_name "RelatedSearch"
1692
+
1693
+ optional :string, :searchUrl, 1
1694
+ optional :string, :header, 2
1695
+ optional :int32, :backendId, 3
1696
+ optional :int32, :docType, 4
1697
+ optional :bool, :current, 5
1698
+ end
1699
+
1700
+ class SearchResponse < ::ProtocolBuffers::Message
1701
+ set_fully_qualified_name "SearchResponse"
1702
+
1703
+ optional :string, :originalQuery, 1
1704
+ optional :string, :suggestedQuery, 2
1705
+ optional :bool, :aggregateQuery, 3
1706
+ repeated ::Bucket, :bucket, 4
1707
+ repeated ::DocV2, :doc, 5
1708
+ repeated ::RelatedSearch, :relatedSearch, 6
1709
+ end
1710
+
1711
+ class CorpusMetadata < ::ProtocolBuffers::Message
1712
+ set_fully_qualified_name "CorpusMetadata"
1713
+
1714
+ optional :int32, :backend, 1
1715
+ optional :string, :name, 2
1716
+ optional :string, :landingUrl, 3
1717
+ optional :string, :libraryName, 4
1718
+ end
1719
+
1720
+ class Experiments < ::ProtocolBuffers::Message
1721
+ set_fully_qualified_name "Experiments"
1722
+
1723
+ repeated :string, :experimentId, 1
1724
+ end
1725
+
1726
+ class TocResponse < ::ProtocolBuffers::Message
1727
+ set_fully_qualified_name "TocResponse"
1728
+
1729
+ repeated ::CorpusMetadata, :corpus, 1
1730
+ optional :int32, :tosVersionDeprecated, 2
1731
+ optional :string, :tosContent, 3
1732
+ optional :string, :homeUrl, 4
1733
+ optional ::Experiments, :experiments, 5
1734
+ optional :string, :tosCheckboxTextMarketingEmails, 6
1735
+ optional :string, :tosToken, 7
1736
+ optional ::UserSettings, :userSettings, 8
1737
+ optional :string, :iconOverrideUrl, 9
1738
+ end
1739
+
1740
+ class UserSettings < ::ProtocolBuffers::Message
1741
+ set_fully_qualified_name "UserSettings"
1742
+
1743
+ optional :bool, :tosCheckboxMarketingEmailsOptedIn, 1
1744
+ end
1745
+
1746
+ class AcceptTosResponse < ::ProtocolBuffers::Message
1747
+ set_fully_qualified_name "AcceptTosResponse"
1748
+
1749
+ end
1750
+
1751
+ class AckNotificationsRequestProto < ::ProtocolBuffers::Message
1752
+ set_fully_qualified_name "AckNotificationsRequestProto"
1753
+
1754
+ repeated :string, :notificationId, 1
1755
+ optional ::SignatureHashProto, :signatureHash, 2
1756
+ repeated :string, :nackNotificationId, 3
1757
+ end
1758
+
1759
+ class AckNotificationsResponseProto < ::ProtocolBuffers::Message
1760
+ set_fully_qualified_name "AckNotificationsResponseProto"
1761
+
1762
+ end
1763
+
1764
+ class AddressProto < ::ProtocolBuffers::Message
1765
+ set_fully_qualified_name "AddressProto"
1766
+
1767
+ optional :string, :address1, 1
1768
+ optional :string, :address2, 2
1769
+ optional :string, :city, 3
1770
+ optional :string, :state, 4
1771
+ optional :string, :postalCode, 5
1772
+ optional :string, :country, 6
1773
+ optional :string, :name, 7
1774
+ optional :string, :type, 8
1775
+ optional :string, :phone, 9
1776
+ end
1777
+
1778
+ class AppDataProto < ::ProtocolBuffers::Message
1779
+ set_fully_qualified_name "AppDataProto"
1780
+
1781
+ optional :string, :key, 1
1782
+ optional :string, :value, 2
1783
+ end
1784
+
1785
+ class AppSuggestionProto < ::ProtocolBuffers::Message
1786
+ set_fully_qualified_name "AppSuggestionProto"
1787
+
1788
+ optional ::ExternalAssetProto, :assetInfo, 1
1789
+ end
1790
+
1791
+ class AssetIdentifierProto < ::ProtocolBuffers::Message
1792
+ set_fully_qualified_name "AssetIdentifierProto"
1793
+
1794
+ optional :string, :packageName, 1
1795
+ optional :int32, :versionCode, 2
1796
+ optional :string, :assetId, 3
1797
+ end
1798
+
1799
+ class AssetsRequestProto < ::ProtocolBuffers::Message
1800
+ set_fully_qualified_name "AssetsRequestProto"
1801
+
1802
+ optional :int32, :assetType, 1
1803
+ optional :string, :query, 2
1804
+ optional :string, :categoryId, 3
1805
+ repeated :string, :assetId, 4
1806
+ optional :bool, :retrieveVendingHistory, 5
1807
+ optional :bool, :retrieveExtendedInfo, 6
1808
+ optional :int32, :sortOrder, 7
1809
+ optional :int64, :startIndex, 8
1810
+ optional :int64, :numEntries, 9
1811
+ optional :int32, :viewFilter, 10
1812
+ optional :string, :rankingType, 11
1813
+ optional :bool, :retrieveCarrierChannel, 12
1814
+ repeated :string, :pendingDownloadAssetId, 13
1815
+ optional :bool, :reconstructVendingHistory, 14
1816
+ optional :bool, :unfilteredResults, 15
1817
+ repeated :string, :badgeId, 16
1818
+ end
1819
+
1820
+ class AssetsResponseProto < ::ProtocolBuffers::Message
1821
+ set_fully_qualified_name "AssetsResponseProto"
1822
+
1823
+ repeated ::ExternalAssetProto, :asset, 1
1824
+ optional :int64, :numTotalEntries, 2
1825
+ optional :string, :correctedQuery, 3
1826
+ repeated ::ExternalAssetProto, :altAsset, 4
1827
+ optional :int64, :numCorrectedEntries, 5
1828
+ optional :string, :header, 6
1829
+ optional :int32, :listType, 7
1830
+ end
1831
+
1832
+ class BillingEventRequestProto < ::ProtocolBuffers::Message
1833
+ set_fully_qualified_name "BillingEventRequestProto"
1834
+
1835
+ optional :int32, :eventType, 1
1836
+ optional :string, :billingParametersId, 2
1837
+ optional :bool, :resultSuccess, 3
1838
+ optional :string, :clientMessage, 4
1839
+ optional ::ExternalCarrierBillingInstrumentProto, :carrierInstrument, 5
1840
+ end
1841
+
1842
+ class BillingEventResponseProto < ::ProtocolBuffers::Message
1843
+ set_fully_qualified_name "BillingEventResponseProto"
1844
+
1845
+ end
1846
+
1847
+ class BillingParameterProto < ::ProtocolBuffers::Message
1848
+ set_fully_qualified_name "BillingParameterProto"
1849
+
1850
+ optional :string, :id, 1
1851
+ optional :string, :name, 2
1852
+ repeated :string, :mncMcc, 3
1853
+ repeated :string, :backendUrl, 4
1854
+ optional :string, :iconId, 5
1855
+ optional :int32, :billingInstrumentType, 6
1856
+ optional :string, :applicationId, 7
1857
+ optional :string, :tosUrl, 8
1858
+ optional :bool, :instrumentTosRequired, 9
1859
+ optional :int32, :apiVersion, 10
1860
+ optional :bool, :perTransactionCredentialsRequired, 11
1861
+ optional :bool, :sendSubscriberIdWithCarrierBillingRequests, 12
1862
+ optional :int32, :deviceAssociationMethod, 13
1863
+ optional :string, :userTokenRequestMessage, 14
1864
+ optional :string, :userTokenRequestAddress, 15
1865
+ optional :bool, :passphraseRequired, 16
1866
+ end
1867
+
1868
+ class CarrierBillingCredentialsProto < ::ProtocolBuffers::Message
1869
+ set_fully_qualified_name "CarrierBillingCredentialsProto"
1870
+
1871
+ optional :string, :credentials, 1
1872
+ optional :int64, :credentialsTimeout, 2
1873
+ end
1874
+
1875
+ class CategoryProto < ::ProtocolBuffers::Message
1876
+ set_fully_qualified_name "CategoryProto"
1877
+
1878
+ optional :int32, :assetType, 2
1879
+ optional :string, :categoryId, 3
1880
+ optional :string, :categoryDisplay, 4
1881
+ optional :string, :categorySubtitle, 5
1882
+ repeated :string, :promotedAssetsNew, 6
1883
+ repeated :string, :promotedAssetsHome, 7
1884
+ repeated ::CategoryProto, :subCategories, 8
1885
+ repeated :string, :promotedAssetsPaid, 9
1886
+ repeated :string, :promotedAssetsFree, 10
1887
+ end
1888
+
1889
+ class CheckForNotificationsRequestProto < ::ProtocolBuffers::Message
1890
+ set_fully_qualified_name "CheckForNotificationsRequestProto"
1891
+
1892
+ optional :int64, :alarmDuration, 1
1893
+ end
1894
+
1895
+ class CheckForNotificationsResponseProto < ::ProtocolBuffers::Message
1896
+ set_fully_qualified_name "CheckForNotificationsResponseProto"
1897
+
1898
+ end
1899
+
1900
+ class CheckLicenseRequestProto < ::ProtocolBuffers::Message
1901
+ set_fully_qualified_name "CheckLicenseRequestProto"
1902
+
1903
+ optional :string, :packageName, 1
1904
+ optional :int32, :versionCode, 2
1905
+ optional :int64, :nonce, 3
1906
+ end
1907
+
1908
+ class CheckLicenseResponseProto < ::ProtocolBuffers::Message
1909
+ set_fully_qualified_name "CheckLicenseResponseProto"
1910
+
1911
+ optional :int32, :responseCode, 1
1912
+ optional :string, :signedData, 2
1913
+ optional :string, :signature, 3
1914
+ end
1915
+
1916
+ class CommentsRequestProto < ::ProtocolBuffers::Message
1917
+ set_fully_qualified_name "CommentsRequestProto"
1918
+
1919
+ optional :string, :assetId, 1
1920
+ optional :int64, :startIndex, 2
1921
+ optional :int64, :numEntries, 3
1922
+ optional :bool, :shouldReturnSelfComment, 4
1923
+ optional :string, :assetReferrer, 5
1924
+ end
1925
+
1926
+ class CommentsResponseProto < ::ProtocolBuffers::Message
1927
+ set_fully_qualified_name "CommentsResponseProto"
1928
+
1929
+ repeated ::ExternalCommentProto, :comment, 1
1930
+ optional :int64, :numTotalEntries, 2
1931
+ optional ::ExternalCommentProto, :selfComment, 3
1932
+ end
1933
+
1934
+ class ContentSyncRequestProto < ::ProtocolBuffers::Message
1935
+ # forward declarations
1936
+ class AssetInstallState < ::ProtocolBuffers::Message; end
1937
+ class SystemApp < ::ProtocolBuffers::Message; end
1938
+
1939
+ set_fully_qualified_name "ContentSyncRequestProto"
1940
+
1941
+ # nested messages
1942
+ class AssetInstallState < ::ProtocolBuffers::Message
1943
+ set_fully_qualified_name "ContentSyncRequestProto.AssetInstallState"
1944
+
1945
+ optional :string, :assetId, 3
1946
+ optional :int32, :assetState, 4
1947
+ optional :int64, :installTime, 5
1948
+ optional :int64, :uninstallTime, 6
1949
+ optional :string, :packageName, 7
1950
+ optional :int32, :versionCode, 8
1951
+ optional :string, :assetReferrer, 9
1952
+ end
1953
+
1954
+ class SystemApp < ::ProtocolBuffers::Message
1955
+ set_fully_qualified_name "ContentSyncRequestProto.SystemApp"
1956
+
1957
+ optional :string, :packageName, 11
1958
+ optional :int32, :versionCode, 12
1959
+ repeated :string, :certificateHash, 13
1960
+ end
1961
+
1962
+ optional :bool, :incremental, 1
1963
+ repeated ::ContentSyncRequestProto::AssetInstallState, :assetinstallstate, 2, :group => true
1964
+ repeated ::ContentSyncRequestProto::SystemApp, :systemapp, 10, :group => true
1965
+ optional :int32, :sideloadedAppCount, 14
1966
+ end
1967
+
1968
+ class ContentSyncResponseProto < ::ProtocolBuffers::Message
1969
+ set_fully_qualified_name "ContentSyncResponseProto"
1970
+
1971
+ optional :int32, :numUpdatesAvailable, 1
1972
+ end
1973
+
1974
+ class DataMessageProto < ::ProtocolBuffers::Message
1975
+ set_fully_qualified_name "DataMessageProto"
1976
+
1977
+ optional :string, :category, 1
1978
+ repeated ::AppDataProto, :appData, 3
1979
+ end
1980
+
1981
+ class DownloadInfoProto < ::ProtocolBuffers::Message
1982
+ set_fully_qualified_name "DownloadInfoProto"
1983
+
1984
+ optional :int64, :apkSize, 1
1985
+ repeated ::FileMetadataProto, :additionalFile, 2
1986
+ end
1987
+
1988
+ class ExternalAssetProto < ::ProtocolBuffers::Message
1989
+ # forward declarations
1990
+ class PurchaseInformation < ::ProtocolBuffers::Message; end
1991
+ class ExtendedInfo < ::ProtocolBuffers::Message; end
1992
+
1993
+ set_fully_qualified_name "ExternalAssetProto"
1994
+
1995
+ # nested messages
1996
+ class PurchaseInformation < ::ProtocolBuffers::Message
1997
+ set_fully_qualified_name "ExternalAssetProto.PurchaseInformation"
1998
+
1999
+ optional :int64, :purchaseTime, 10
2000
+ optional :int64, :refundTimeoutTime, 11
2001
+ optional :int32, :refundStartPolicy, 45
2002
+ optional :int64, :refundWindowDuration, 46
2003
+ end
2004
+
2005
+ class ExtendedInfo < ::ProtocolBuffers::Message
2006
+ # forward declarations
2007
+ class PackageDependency < ::ProtocolBuffers::Message; end
2008
+
2009
+ set_fully_qualified_name "ExternalAssetProto.ExtendedInfo"
2010
+
2011
+ # nested messages
2012
+ class PackageDependency < ::ProtocolBuffers::Message
2013
+ set_fully_qualified_name "ExternalAssetProto.ExtendedInfo.PackageDependency"
2014
+
2015
+ optional :string, :packageName, 41
2016
+ optional :bool, :skipPermissions, 42
2017
+ end
2018
+
2019
+ optional :string, :description, 13
2020
+ optional :int64, :downloadCount, 14
2021
+ repeated :string, :applicationPermissionId, 15
2022
+ optional :int64, :requiredInstallationSize, 16
2023
+ optional :string, :packageName, 17
2024
+ optional :string, :category, 18
2025
+ optional :bool, :forwardLocked, 19
2026
+ optional :string, :contactEmail, 20
2027
+ optional :bool, :everInstalledByUser, 21
2028
+ optional :string, :downloadCountString, 23
2029
+ optional :string, :contactPhone, 26
2030
+ optional :string, :contactWebsite, 27
2031
+ optional :bool, :nextPurchaseRefundable, 28
2032
+ optional :int32, :numScreenshots, 30
2033
+ optional :string, :promotionalDescription, 31
2034
+ optional :int32, :serverAssetState, 34
2035
+ optional :int32, :contentRatingLevel, 36
2036
+ optional :string, :contentRatingString, 37
2037
+ optional :string, :recentChanges, 38
2038
+ repeated ::ExternalAssetProto::ExtendedInfo::PackageDependency, :packagedependency, 39, :group => true
2039
+ optional :string, :videoLink, 43
2040
+ optional ::DownloadInfoProto, :downloadInfo, 49
2041
+ end
2042
+
2043
+ optional :string, :id, 1
2044
+ optional :string, :title, 2
2045
+ optional :int32, :assetType, 3
2046
+ optional :string, :owner, 4
2047
+ optional :string, :version, 5
2048
+ optional :string, :price, 6
2049
+ optional :string, :averageRating, 7
2050
+ optional :int64, :numRatings, 8
2051
+ optional ::ExternalAssetProto::PurchaseInformation, :purchaseinformation, 9, :group => true
2052
+ optional ::ExternalAssetProto::ExtendedInfo, :extendedinfo, 12, :group => true
2053
+ optional :string, :ownerId, 22
2054
+ optional :string, :packageName, 24
2055
+ optional :int32, :versionCode, 25
2056
+ optional :bool, :bundledAsset, 29
2057
+ optional :string, :priceCurrency, 32
2058
+ optional :int64, :priceMicros, 33
2059
+ optional :string, :filterReason, 35
2060
+ optional :string, :actualSellerPrice, 40
2061
+ repeated ::ExternalBadgeProto, :appBadge, 47
2062
+ repeated ::ExternalBadgeProto, :ownerBadge, 48
2063
+ end
2064
+
2065
+ class ExternalBadgeImageProto < ::ProtocolBuffers::Message
2066
+ set_fully_qualified_name "ExternalBadgeImageProto"
2067
+
2068
+ optional :int32, :usage, 1
2069
+ optional :string, :url, 2
2070
+ end
2071
+
2072
+ class ExternalBadgeProto < ::ProtocolBuffers::Message
2073
+ set_fully_qualified_name "ExternalBadgeProto"
2074
+
2075
+ optional :string, :localizedTitle, 1
2076
+ optional :string, :localizedDescription, 2
2077
+ repeated ::ExternalBadgeImageProto, :badgeImage, 3
2078
+ optional :string, :searchId, 4
2079
+ end
2080
+
2081
+ class ExternalCarrierBillingInstrumentProto < ::ProtocolBuffers::Message
2082
+ set_fully_qualified_name "ExternalCarrierBillingInstrumentProto"
2083
+
2084
+ optional :string, :instrumentKey, 1
2085
+ optional :string, :subscriberIdentifier, 2
2086
+ optional :string, :accountType, 3
2087
+ optional :string, :subscriberCurrency, 4
2088
+ optional :uint64, :transactionLimit, 5
2089
+ optional :string, :subscriberName, 6
2090
+ optional :string, :address1, 7
2091
+ optional :string, :address2, 8
2092
+ optional :string, :city, 9
2093
+ optional :string, :state, 10
2094
+ optional :string, :postalCode, 11
2095
+ optional :string, :country, 12
2096
+ optional ::EncryptedSubscriberInfo, :encryptedSubscriberInfo, 13
2097
+ end
2098
+
2099
+ class ExternalCommentProto < ::ProtocolBuffers::Message
2100
+ set_fully_qualified_name "ExternalCommentProto"
2101
+
2102
+ optional :string, :body, 1
2103
+ optional :int32, :rating, 2
2104
+ optional :string, :creatorName, 3
2105
+ optional :int64, :creationTime, 4
2106
+ optional :string, :creatorId, 5
2107
+ end
2108
+
2109
+ class ExternalCreditCard < ::ProtocolBuffers::Message
2110
+ set_fully_qualified_name "ExternalCreditCard"
2111
+
2112
+ optional :string, :type, 1
2113
+ optional :string, :lastDigits, 2
2114
+ optional :int32, :expYear, 3
2115
+ optional :int32, :expMonth, 4
2116
+ optional :string, :personName, 5
2117
+ optional :string, :countryCode, 6
2118
+ optional :string, :postalCode, 7
2119
+ optional :bool, :makeDefault, 8
2120
+ optional :string, :address1, 9
2121
+ optional :string, :address2, 10
2122
+ optional :string, :city, 11
2123
+ optional :string, :state, 12
2124
+ optional :string, :phone, 13
2125
+ end
2126
+
2127
+ class ExternalPaypalInstrumentProto < ::ProtocolBuffers::Message
2128
+ set_fully_qualified_name "ExternalPaypalInstrumentProto"
2129
+
2130
+ optional :string, :instrumentKey, 1
2131
+ optional :string, :preapprovalKey, 2
2132
+ optional :string, :paypalEmail, 3
2133
+ optional ::AddressProto, :paypalAddress, 4
2134
+ optional :bool, :multiplePaypalInstrumentsSupported, 5
2135
+ end
2136
+
2137
+ class FileMetadataProto < ::ProtocolBuffers::Message
2138
+ set_fully_qualified_name "FileMetadataProto"
2139
+
2140
+ optional :int32, :fileType, 1
2141
+ optional :int32, :versionCode, 2
2142
+ optional :int64, :size, 3
2143
+ optional :string, :downloadUrl, 4
2144
+ end
2145
+
2146
+ class GetAddressSnippetRequestProto < ::ProtocolBuffers::Message
2147
+ set_fully_qualified_name "GetAddressSnippetRequestProto"
2148
+
2149
+ optional ::EncryptedSubscriberInfo, :encryptedSubscriberInfo, 1
2150
+ end
2151
+
2152
+ class GetAddressSnippetResponseProto < ::ProtocolBuffers::Message
2153
+ set_fully_qualified_name "GetAddressSnippetResponseProto"
2154
+
2155
+ optional :string, :addressSnippet, 1
2156
+ end
2157
+
2158
+ class GetAssetRequestProto < ::ProtocolBuffers::Message
2159
+ set_fully_qualified_name "GetAssetRequestProto"
2160
+
2161
+ optional :string, :assetId, 1
2162
+ optional :string, :directDownloadKey, 2
2163
+ end
2164
+
2165
+ class GetAssetResponseProto < ::ProtocolBuffers::Message
2166
+ # forward declarations
2167
+ class InstallAsset < ::ProtocolBuffers::Message; end
2168
+
2169
+ set_fully_qualified_name "GetAssetResponseProto"
2170
+
2171
+ # nested messages
2172
+ class InstallAsset < ::ProtocolBuffers::Message
2173
+ set_fully_qualified_name "GetAssetResponseProto.InstallAsset"
2174
+
2175
+ optional :string, :assetId, 2
2176
+ optional :string, :assetName, 3
2177
+ optional :string, :assetType, 4
2178
+ optional :string, :assetPackage, 5
2179
+ optional :string, :blobUrl, 6
2180
+ optional :string, :assetSignature, 7
2181
+ optional :int64, :assetSize, 8
2182
+ optional :int64, :refundTimeoutMillis, 9
2183
+ optional :bool, :forwardLocked, 10
2184
+ optional :bool, :secured, 11
2185
+ optional :int32, :versionCode, 12
2186
+ optional :string, :downloadAuthCookieName, 13
2187
+ optional :string, :downloadAuthCookieValue, 14
2188
+ optional :int64, :postInstallRefundWindowMillis, 16
2189
+ end
2190
+
2191
+ optional ::GetAssetResponseProto::InstallAsset, :installasset, 1, :group => true
2192
+ repeated ::FileMetadataProto, :additionalFile, 15
2193
+ end
2194
+
2195
+ class GetCarrierInfoRequestProto < ::ProtocolBuffers::Message
2196
+ set_fully_qualified_name "GetCarrierInfoRequestProto"
2197
+
2198
+ end
2199
+
2200
+ class GetCarrierInfoResponseProto < ::ProtocolBuffers::Message
2201
+ set_fully_qualified_name "GetCarrierInfoResponseProto"
2202
+
2203
+ optional :bool, :carrierChannelEnabled, 1
2204
+ optional :bytes, :carrierLogoIcon, 2
2205
+ optional :bytes, :carrierBanner, 3
2206
+ optional :string, :carrierSubtitle, 4
2207
+ optional :string, :carrierTitle, 5
2208
+ optional :int32, :carrierImageDensity, 6
2209
+ end
2210
+
2211
+ class GetCategoriesRequestProto < ::ProtocolBuffers::Message
2212
+ set_fully_qualified_name "GetCategoriesRequestProto"
2213
+
2214
+ optional :bool, :prefetchPromoData, 1
2215
+ end
2216
+
2217
+ class GetCategoriesResponseProto < ::ProtocolBuffers::Message
2218
+ set_fully_qualified_name "GetCategoriesResponseProto"
2219
+
2220
+ repeated ::CategoryProto, :categories, 1
2221
+ end
2222
+
2223
+ class GetImageRequestProto < ::ProtocolBuffers::Message
2224
+ set_fully_qualified_name "GetImageRequestProto"
2225
+
2226
+ optional :string, :assetId, 1
2227
+ optional :int32, :imageUsage, 3
2228
+ optional :string, :imageId, 4
2229
+ optional :int32, :screenPropertyWidth, 5
2230
+ optional :int32, :screenPropertyHeight, 6
2231
+ optional :int32, :screenPropertyDensity, 7
2232
+ optional :int32, :productType, 8
2233
+ end
2234
+
2235
+ class GetImageResponseProto < ::ProtocolBuffers::Message
2236
+ set_fully_qualified_name "GetImageResponseProto"
2237
+
2238
+ optional :bytes, :imageData, 1
2239
+ optional :int32, :imageDensity, 2
2240
+ end
2241
+
2242
+ class GetMarketMetadataRequestProto < ::ProtocolBuffers::Message
2243
+ set_fully_qualified_name "GetMarketMetadataRequestProto"
2244
+
2245
+ optional :int64, :lastRequestTime, 1
2246
+ optional ::DeviceConfigurationProto, :deviceConfiguration, 2
2247
+ optional :bool, :deviceRoaming, 3
2248
+ repeated :string, :marketSignatureHash, 4
2249
+ optional :int32, :contentRating, 5
2250
+ optional :string, :deviceModelName, 6
2251
+ optional :string, :deviceManufacturerName, 7
2252
+ end
2253
+
2254
+ class GetMarketMetadataResponseProto < ::ProtocolBuffers::Message
2255
+ set_fully_qualified_name "GetMarketMetadataResponseProto"
2256
+
2257
+ optional :int32, :latestClientVersionCode, 1
2258
+ optional :string, :latestClientUrl, 2
2259
+ optional :bool, :paidAppsEnabled, 3
2260
+ repeated ::BillingParameterProto, :billingParameter, 4
2261
+ optional :bool, :commentPostEnabled, 5
2262
+ optional :bool, :billingEventsEnabled, 6
2263
+ optional :string, :warningMessage, 7
2264
+ optional :bool, :inAppBillingEnabled, 8
2265
+ optional :int32, :inAppBillingMaxApiVersion, 9
2266
+ end
2267
+
2268
+ class GetSubCategoriesRequestProto < ::ProtocolBuffers::Message
2269
+ set_fully_qualified_name "GetSubCategoriesRequestProto"
2270
+
2271
+ optional :int32, :assetType, 1
2272
+ end
2273
+
2274
+ class GetSubCategoriesResponseProto < ::ProtocolBuffers::Message
2275
+ # forward declarations
2276
+ class SubCategory < ::ProtocolBuffers::Message; end
2277
+
2278
+ set_fully_qualified_name "GetSubCategoriesResponseProto"
2279
+
2280
+ # nested messages
2281
+ class SubCategory < ::ProtocolBuffers::Message
2282
+ set_fully_qualified_name "GetSubCategoriesResponseProto.SubCategory"
2283
+
2284
+ optional :string, :subCategoryDisplay, 2
2285
+ optional :string, :subCategoryId, 3
2286
+ end
2287
+
2288
+ repeated ::GetSubCategoriesResponseProto::SubCategory, :subcategory, 1, :group => true
2289
+ end
2290
+
2291
+ class InAppPurchaseInformationRequestProto < ::ProtocolBuffers::Message
2292
+ set_fully_qualified_name "InAppPurchaseInformationRequestProto"
2293
+
2294
+ optional ::SignatureHashProto, :signatureHash, 1
2295
+ optional :int64, :nonce, 2
2296
+ repeated :string, :notificationId, 3
2297
+ optional :string, :signatureAlgorithm, 4
2298
+ optional :int32, :billingApiVersion, 5
2299
+ end
2300
+
2301
+ class InAppPurchaseInformationResponseProto < ::ProtocolBuffers::Message
2302
+ set_fully_qualified_name "InAppPurchaseInformationResponseProto"
2303
+
2304
+ optional ::SignedDataProto, :signedResponse, 1
2305
+ repeated ::StatusBarNotificationProto, :statusBarNotification, 2
2306
+ optional ::PurchaseResultProto, :purchaseResult, 3
2307
+ end
2308
+
2309
+ class InAppRestoreTransactionsRequestProto < ::ProtocolBuffers::Message
2310
+ set_fully_qualified_name "InAppRestoreTransactionsRequestProto"
2311
+
2312
+ optional ::SignatureHashProto, :signatureHash, 1
2313
+ optional :int64, :nonce, 2
2314
+ optional :string, :signatureAlgorithm, 3
2315
+ optional :int32, :billingApiVersion, 4
2316
+ end
2317
+
2318
+ class InAppRestoreTransactionsResponseProto < ::ProtocolBuffers::Message
2319
+ set_fully_qualified_name "InAppRestoreTransactionsResponseProto"
2320
+
2321
+ optional ::SignedDataProto, :signedResponse, 1
2322
+ optional ::PurchaseResultProto, :purchaseResult, 2
2323
+ end
2324
+
2325
+ class ModifyCommentRequestProto < ::ProtocolBuffers::Message
2326
+ set_fully_qualified_name "ModifyCommentRequestProto"
2327
+
2328
+ optional :string, :assetId, 1
2329
+ optional ::ExternalCommentProto, :comment, 2
2330
+ optional :bool, :deleteComment, 3
2331
+ optional :bool, :flagAsset, 4
2332
+ optional :int32, :flagType, 5
2333
+ optional :string, :flagMessage, 6
2334
+ optional :bool, :nonFlagFlow, 7
2335
+ end
2336
+
2337
+ class ModifyCommentResponseProto < ::ProtocolBuffers::Message
2338
+ set_fully_qualified_name "ModifyCommentResponseProto"
2339
+
2340
+ end
2341
+
2342
+ class PaypalCountryInfoProto < ::ProtocolBuffers::Message
2343
+ set_fully_qualified_name "PaypalCountryInfoProto"
2344
+
2345
+ optional :bool, :birthDateRequired, 1
2346
+ optional :string, :tosText, 2
2347
+ optional :string, :billingAgreementText, 3
2348
+ optional :string, :preTosText, 4
2349
+ end
2350
+
2351
+ class PaypalCreateAccountRequestProto < ::ProtocolBuffers::Message
2352
+ set_fully_qualified_name "PaypalCreateAccountRequestProto"
2353
+
2354
+ optional :string, :firstName, 1
2355
+ optional :string, :lastName, 2
2356
+ optional ::AddressProto, :address, 3
2357
+ optional :string, :birthDate, 4
2358
+ end
2359
+
2360
+ class PaypalCreateAccountResponseProto < ::ProtocolBuffers::Message
2361
+ set_fully_qualified_name "PaypalCreateAccountResponseProto"
2362
+
2363
+ optional :string, :createAccountKey, 1
2364
+ end
2365
+
2366
+ class PaypalCredentialsProto < ::ProtocolBuffers::Message
2367
+ set_fully_qualified_name "PaypalCredentialsProto"
2368
+
2369
+ optional :string, :preapprovalKey, 1
2370
+ optional :string, :paypalEmail, 2
2371
+ end
2372
+
2373
+ class PaypalMassageAddressRequestProto < ::ProtocolBuffers::Message
2374
+ set_fully_qualified_name "PaypalMassageAddressRequestProto"
2375
+
2376
+ optional ::AddressProto, :address, 1
2377
+ end
2378
+
2379
+ class PaypalMassageAddressResponseProto < ::ProtocolBuffers::Message
2380
+ set_fully_qualified_name "PaypalMassageAddressResponseProto"
2381
+
2382
+ optional ::AddressProto, :address, 1
2383
+ end
2384
+
2385
+ class PaypalPreapprovalCredentialsRequestProto < ::ProtocolBuffers::Message
2386
+ set_fully_qualified_name "PaypalPreapprovalCredentialsRequestProto"
2387
+
2388
+ optional :string, :gaiaAuthToken, 1
2389
+ optional :string, :billingInstrumentId, 2
2390
+ end
2391
+
2392
+ class PaypalPreapprovalCredentialsResponseProto < ::ProtocolBuffers::Message
2393
+ set_fully_qualified_name "PaypalPreapprovalCredentialsResponseProto"
2394
+
2395
+ optional :int32, :resultCode, 1
2396
+ optional :string, :paypalAccountKey, 2
2397
+ optional :string, :paypalEmail, 3
2398
+ end
2399
+
2400
+ class PaypalPreapprovalDetailsRequestProto < ::ProtocolBuffers::Message
2401
+ set_fully_qualified_name "PaypalPreapprovalDetailsRequestProto"
2402
+
2403
+ optional :bool, :getAddress, 1
2404
+ optional :string, :preapprovalKey, 2
2405
+ end
2406
+
2407
+ class PaypalPreapprovalDetailsResponseProto < ::ProtocolBuffers::Message
2408
+ set_fully_qualified_name "PaypalPreapprovalDetailsResponseProto"
2409
+
2410
+ optional :string, :paypalEmail, 1
2411
+ optional ::AddressProto, :address, 2
2412
+ end
2413
+
2414
+ class PaypalPreapprovalRequestProto < ::ProtocolBuffers::Message
2415
+ set_fully_qualified_name "PaypalPreapprovalRequestProto"
2416
+
2417
+ end
2418
+
2419
+ class PaypalPreapprovalResponseProto < ::ProtocolBuffers::Message
2420
+ set_fully_qualified_name "PaypalPreapprovalResponseProto"
2421
+
2422
+ optional :string, :preapprovalKey, 1
2423
+ end
2424
+
2425
+ class PendingNotificationsProto < ::ProtocolBuffers::Message
2426
+ set_fully_qualified_name "PendingNotificationsProto"
2427
+
2428
+ repeated ::DataMessageProto, :notification, 1
2429
+ optional :int64, :nextCheckMillis, 2
2430
+ end
2431
+
2432
+ class PrefetchedBundleProto < ::ProtocolBuffers::Message
2433
+ set_fully_qualified_name "PrefetchedBundleProto"
2434
+
2435
+ optional ::SingleRequestProto, :request, 1
2436
+ optional ::SingleResponseProto, :response, 2
2437
+ end
2438
+
2439
+ class PurchaseCartInfoProto < ::ProtocolBuffers::Message
2440
+ set_fully_qualified_name "PurchaseCartInfoProto"
2441
+
2442
+ optional :string, :itemPrice, 1
2443
+ optional :string, :taxInclusive, 2
2444
+ optional :string, :taxExclusive, 3
2445
+ optional :string, :total, 4
2446
+ optional :string, :taxMessage, 5
2447
+ optional :string, :footerMessage, 6
2448
+ optional :string, :priceCurrency, 7
2449
+ optional :int64, :priceMicros, 8
2450
+ end
2451
+
2452
+ class PurchaseInfoProto < ::ProtocolBuffers::Message
2453
+ # forward declarations
2454
+ class BillingInstruments < ::ProtocolBuffers::Message; end
2455
+
2456
+ set_fully_qualified_name "PurchaseInfoProto"
2457
+
2458
+ # nested messages
2459
+ class BillingInstruments < ::ProtocolBuffers::Message
2460
+ # forward declarations
2461
+ class BillingInstrument < ::ProtocolBuffers::Message; end
2462
+
2463
+ set_fully_qualified_name "PurchaseInfoProto.BillingInstruments"
2464
+
2465
+ # nested messages
2466
+ class BillingInstrument < ::ProtocolBuffers::Message
2467
+ set_fully_qualified_name "PurchaseInfoProto.BillingInstruments.BillingInstrument"
2468
+
2469
+ optional :string, :id, 5
2470
+ optional :string, :name, 6
2471
+ optional :bool, :isInvalid, 7
2472
+ optional :int32, :instrumentType, 11
2473
+ optional :int32, :instrumentStatus, 14
2474
+ end
2475
+
2476
+ repeated ::PurchaseInfoProto::BillingInstruments::BillingInstrument, :billinginstrument, 4, :group => true
2477
+ optional :string, :defaultBillingInstrumentId, 8
2478
+ end
2479
+
2480
+ optional :string, :transactionId, 1
2481
+ optional ::PurchaseCartInfoProto, :cartInfo, 2
2482
+ optional ::PurchaseInfoProto::BillingInstruments, :billinginstruments, 3, :group => true
2483
+ repeated :int32, :errorInputFields, 9
2484
+ optional :string, :refundPolicy, 10
2485
+ optional :bool, :userCanAddGdd, 12
2486
+ repeated :int32, :eligibleInstrumentTypes, 13
2487
+ optional :string, :orderId, 15
2488
+ end
2489
+
2490
+ class PurchaseMetadataRequestProto < ::ProtocolBuffers::Message
2491
+ set_fully_qualified_name "PurchaseMetadataRequestProto"
2492
+
2493
+ optional :bool, :deprecatedRetrieveBillingCountries, 1
2494
+ optional :int32, :billingInstrumentType, 2
2495
+ end
2496
+
2497
+ class PurchaseMetadataResponseProto < ::ProtocolBuffers::Message
2498
+ # forward declarations
2499
+ class Countries < ::ProtocolBuffers::Message; end
2500
+
2501
+ set_fully_qualified_name "PurchaseMetadataResponseProto"
2502
+
2503
+ # nested messages
2504
+ class Countries < ::ProtocolBuffers::Message
2505
+ # forward declarations
2506
+ class Country < ::ProtocolBuffers::Message; end
2507
+
2508
+ set_fully_qualified_name "PurchaseMetadataResponseProto.Countries"
2509
+
2510
+ # nested messages
2511
+ class Country < ::ProtocolBuffers::Message
2512
+ # forward declarations
2513
+ class InstrumentAddressSpec < ::ProtocolBuffers::Message; end
2514
+
2515
+ set_fully_qualified_name "PurchaseMetadataResponseProto.Countries.Country"
2516
+
2517
+ # nested messages
2518
+ class InstrumentAddressSpec < ::ProtocolBuffers::Message
2519
+ set_fully_qualified_name "PurchaseMetadataResponseProto.Countries.Country.InstrumentAddressSpec"
2520
+
2521
+ optional :int32, :instrumentFamily, 8
2522
+ optional ::BillingAddressSpec, :billingAddressSpec, 9
2523
+ end
2524
+
2525
+ optional :string, :countryCode, 3
2526
+ optional :string, :countryName, 4
2527
+ optional ::PaypalCountryInfoProto, :paypalCountryInfo, 5
2528
+ optional :bool, :allowsReducedBillingAddress, 6
2529
+ repeated ::PurchaseMetadataResponseProto::Countries::Country::InstrumentAddressSpec, :instrumentaddressspec, 7, :group => true
2530
+ end
2531
+
2532
+ repeated ::PurchaseMetadataResponseProto::Countries::Country, :country, 2, :group => true
2533
+ end
2534
+
2535
+ optional ::PurchaseMetadataResponseProto::Countries, :countries, 1, :group => true
2536
+ end
2537
+
2538
+ class PurchaseOrderRequestProto < ::ProtocolBuffers::Message
2539
+ set_fully_qualified_name "PurchaseOrderRequestProto"
2540
+
2541
+ optional :string, :gaiaAuthToken, 1
2542
+ optional :string, :assetId, 2
2543
+ optional :string, :transactionId, 3
2544
+ optional :string, :billingInstrumentId, 4
2545
+ optional :bool, :tosAccepted, 5
2546
+ optional ::CarrierBillingCredentialsProto, :carrierBillingCredentials, 6
2547
+ optional :string, :existingOrderId, 7
2548
+ optional :int32, :billingInstrumentType, 8
2549
+ optional :string, :billingParametersId, 9
2550
+ optional ::PaypalCredentialsProto, :paypalCredentials, 10
2551
+ optional ::RiskHeaderInfoProto, :riskHeaderInfo, 11
2552
+ optional :int32, :productType, 12
2553
+ optional ::SignatureHashProto, :signatureHash, 13
2554
+ optional :string, :developerPayload, 14
2555
+ end
2556
+
2557
+ class PurchaseOrderResponseProto < ::ProtocolBuffers::Message
2558
+ set_fully_qualified_name "PurchaseOrderResponseProto"
2559
+
2560
+ optional :int32, :deprecatedResultCode, 1
2561
+ optional ::PurchaseInfoProto, :purchaseInfo, 2
2562
+ optional ::ExternalAssetProto, :asset, 3
2563
+ optional ::PurchaseResultProto, :purchaseResult, 4
2564
+ end
2565
+
2566
+ class PurchasePostRequestProto < ::ProtocolBuffers::Message
2567
+ # forward declarations
2568
+ class BillingInstrumentInfo < ::ProtocolBuffers::Message; end
2569
+
2570
+ set_fully_qualified_name "PurchasePostRequestProto"
2571
+
2572
+ # nested messages
2573
+ class BillingInstrumentInfo < ::ProtocolBuffers::Message
2574
+ set_fully_qualified_name "PurchasePostRequestProto.BillingInstrumentInfo"
2575
+
2576
+ optional :string, :billingInstrumentId, 5
2577
+ optional ::ExternalCreditCard, :creditCard, 6
2578
+ optional ::ExternalCarrierBillingInstrumentProto, :carrierInstrument, 9
2579
+ optional ::ExternalPaypalInstrumentProto, :paypalInstrument, 10
2580
+ end
2581
+
2582
+ optional :string, :gaiaAuthToken, 1
2583
+ optional :string, :assetId, 2
2584
+ optional :string, :transactionId, 3
2585
+ optional ::PurchasePostRequestProto::BillingInstrumentInfo, :billinginstrumentinfo, 4, :group => true
2586
+ optional :bool, :tosAccepted, 7
2587
+ optional :string, :cbInstrumentKey, 8
2588
+ optional :bool, :paypalAuthConfirmed, 11
2589
+ optional :int32, :productType, 12
2590
+ optional ::SignatureHashProto, :signatureHash, 13
2591
+ end
2592
+
2593
+ class PurchasePostResponseProto < ::ProtocolBuffers::Message
2594
+ set_fully_qualified_name "PurchasePostResponseProto"
2595
+
2596
+ optional :int32, :deprecatedResultCode, 1
2597
+ optional ::PurchaseInfoProto, :purchaseInfo, 2
2598
+ optional :string, :termsOfServiceUrl, 3
2599
+ optional :string, :termsOfServiceText, 4
2600
+ optional :string, :termsOfServiceName, 5
2601
+ optional :string, :termsOfServiceCheckboxText, 6
2602
+ optional :string, :termsOfServiceHeaderText, 7
2603
+ optional ::PurchaseResultProto, :purchaseResult, 8
2604
+ end
2605
+
2606
+ class PurchaseProductRequestProto < ::ProtocolBuffers::Message
2607
+ set_fully_qualified_name "PurchaseProductRequestProto"
2608
+
2609
+ optional :int32, :productType, 1
2610
+ optional :string, :productId, 2
2611
+ optional ::SignatureHashProto, :signatureHash, 3
2612
+ end
2613
+
2614
+ class PurchaseProductResponseProto < ::ProtocolBuffers::Message
2615
+ set_fully_qualified_name "PurchaseProductResponseProto"
2616
+
2617
+ optional :string, :title, 1
2618
+ optional :string, :itemTitle, 2
2619
+ optional :string, :itemDescription, 3
2620
+ optional :string, :merchantField, 4
2621
+ end
2622
+
2623
+ class PurchaseResultProto < ::ProtocolBuffers::Message
2624
+ set_fully_qualified_name "PurchaseResultProto"
2625
+
2626
+ optional :int32, :resultCode, 1
2627
+ optional :string, :resultCodeMessage, 2
2628
+ end
2629
+
2630
+ class QuerySuggestionProto < ::ProtocolBuffers::Message
2631
+ set_fully_qualified_name "QuerySuggestionProto"
2632
+
2633
+ optional :string, :query, 1
2634
+ optional :int32, :estimatedNumResults, 2
2635
+ optional :int32, :queryWeight, 3
2636
+ end
2637
+
2638
+ class QuerySuggestionRequestProto < ::ProtocolBuffers::Message
2639
+ set_fully_qualified_name "QuerySuggestionRequestProto"
2640
+
2641
+ optional :string, :query, 1
2642
+ optional :int32, :requestType, 2
2643
+ end
2644
+
2645
+ class QuerySuggestionResponseProto < ::ProtocolBuffers::Message
2646
+ # forward declarations
2647
+ class Suggestion < ::ProtocolBuffers::Message; end
2648
+
2649
+ set_fully_qualified_name "QuerySuggestionResponseProto"
2650
+
2651
+ # nested messages
2652
+ class Suggestion < ::ProtocolBuffers::Message
2653
+ set_fully_qualified_name "QuerySuggestionResponseProto.Suggestion"
2654
+
2655
+ optional ::AppSuggestionProto, :appSuggestion, 2
2656
+ optional ::QuerySuggestionProto, :querySuggestion, 3
2657
+ end
2658
+
2659
+ repeated ::QuerySuggestionResponseProto::Suggestion, :suggestion, 1, :group => true
2660
+ optional :int32, :estimatedNumAppSuggestions, 4
2661
+ optional :int32, :estimatedNumQuerySuggestions, 5
2662
+ end
2663
+
2664
+ class RateCommentRequestProto < ::ProtocolBuffers::Message
2665
+ set_fully_qualified_name "RateCommentRequestProto"
2666
+
2667
+ optional :string, :assetId, 1
2668
+ optional :string, :creatorId, 2
2669
+ optional :int32, :commentRating, 3
2670
+ end
2671
+
2672
+ class RateCommentResponseProto < ::ProtocolBuffers::Message
2673
+ set_fully_qualified_name "RateCommentResponseProto"
2674
+
2675
+ end
2676
+
2677
+ class ReconstructDatabaseRequestProto < ::ProtocolBuffers::Message
2678
+ set_fully_qualified_name "ReconstructDatabaseRequestProto"
2679
+
2680
+ optional :bool, :retrieveFullHistory, 1
2681
+ end
2682
+
2683
+ class ReconstructDatabaseResponseProto < ::ProtocolBuffers::Message
2684
+ set_fully_qualified_name "ReconstructDatabaseResponseProto"
2685
+
2686
+ repeated ::AssetIdentifierProto, :asset, 1
2687
+ end
2688
+
2689
+ class RefundRequestProto < ::ProtocolBuffers::Message
2690
+ set_fully_qualified_name "RefundRequestProto"
2691
+
2692
+ optional :string, :assetId, 1
2693
+ end
2694
+
2695
+ class RefundResponseProto < ::ProtocolBuffers::Message
2696
+ set_fully_qualified_name "RefundResponseProto"
2697
+
2698
+ optional :int32, :result, 1
2699
+ optional ::ExternalAssetProto, :asset, 2
2700
+ optional :string, :resultDetail, 3
2701
+ end
2702
+
2703
+ class RemoveAssetRequestProto < ::ProtocolBuffers::Message
2704
+ set_fully_qualified_name "RemoveAssetRequestProto"
2705
+
2706
+ optional :string, :assetId, 1
2707
+ end
2708
+
2709
+ class RequestPropertiesProto < ::ProtocolBuffers::Message
2710
+ set_fully_qualified_name "RequestPropertiesProto"
2711
+
2712
+ optional :string, :userAuthToken, 1
2713
+ optional :bool, :userAuthTokenSecure, 2
2714
+ optional :int32, :softwareVersion, 3
2715
+ optional :string, :aid, 4
2716
+ optional :string, :productNameAndVersion, 5
2717
+ optional :string, :userLanguage, 6
2718
+ optional :string, :userCountry, 7
2719
+ optional :string, :operatorName, 8
2720
+ optional :string, :simOperatorName, 9
2721
+ optional :string, :operatorNumericName, 10
2722
+ optional :string, :simOperatorNumericName, 11
2723
+ optional :string, :clientId, 12
2724
+ optional :string, :loggingId, 13
2725
+ end
2726
+
2727
+ class RequestProto < ::ProtocolBuffers::Message
2728
+ # forward declarations
2729
+ class Request < ::ProtocolBuffers::Message; end
2730
+
2731
+ set_fully_qualified_name "RequestProto"
2732
+
2733
+ # nested messages
2734
+ class Request < ::ProtocolBuffers::Message
2735
+ set_fully_qualified_name "RequestProto.Request"
2736
+
2737
+ optional ::RequestSpecificPropertiesProto, :requestSpecificProperties, 3
2738
+ optional ::AssetsRequestProto, :assetRequest, 4
2739
+ optional ::CommentsRequestProto, :commentsRequest, 5
2740
+ optional ::ModifyCommentRequestProto, :modifyCommentRequest, 6
2741
+ optional ::PurchasePostRequestProto, :purchasePostRequest, 7
2742
+ optional ::PurchaseOrderRequestProto, :purchaseOrderRequest, 8
2743
+ optional ::ContentSyncRequestProto, :contentSyncRequest, 9
2744
+ optional ::GetAssetRequestProto, :getAssetRequest, 10
2745
+ optional ::GetImageRequestProto, :getImageRequest, 11
2746
+ optional ::RefundRequestProto, :refundRequest, 12
2747
+ optional ::PurchaseMetadataRequestProto, :purchaseMetadataRequest, 13
2748
+ optional ::GetSubCategoriesRequestProto, :subCategoriesRequest, 14
2749
+ optional ::UninstallReasonRequestProto, :uninstallReasonRequest, 16
2750
+ optional ::RateCommentRequestProto, :rateCommentRequest, 17
2751
+ optional ::CheckLicenseRequestProto, :checkLicenseRequest, 18
2752
+ optional ::GetMarketMetadataRequestProto, :getMarketMetadataRequest, 19
2753
+ optional ::GetCategoriesRequestProto, :getCategoriesRequest, 21
2754
+ optional ::GetCarrierInfoRequestProto, :getCarrierInfoRequest, 22
2755
+ optional ::RemoveAssetRequestProto, :removeAssetRequest, 23
2756
+ optional ::RestoreApplicationsRequestProto, :restoreApplicationsRequest, 24
2757
+ optional ::QuerySuggestionRequestProto, :querySuggestionRequest, 25
2758
+ optional ::BillingEventRequestProto, :billingEventRequest, 26
2759
+ optional ::PaypalPreapprovalRequestProto, :paypalPreapprovalRequest, 27
2760
+ optional ::PaypalPreapprovalDetailsRequestProto, :paypalPreapprovalDetailsRequest, 28
2761
+ optional ::PaypalCreateAccountRequestProto, :paypalCreateAccountRequest, 29
2762
+ optional ::PaypalPreapprovalCredentialsRequestProto, :paypalPreapprovalCredentialsRequest, 30
2763
+ optional ::InAppRestoreTransactionsRequestProto, :inAppRestoreTransactionsRequest, 31
2764
+ optional ::InAppPurchaseInformationRequestProto, :inAppPurchaseInformationRequest, 32
2765
+ optional ::CheckForNotificationsRequestProto, :checkForNotificationsRequest, 33
2766
+ optional ::AckNotificationsRequestProto, :ackNotificationsRequest, 34
2767
+ optional ::PurchaseProductRequestProto, :purchaseProductRequest, 35
2768
+ optional ::ReconstructDatabaseRequestProto, :reconstructDatabaseRequest, 36
2769
+ optional ::PaypalMassageAddressRequestProto, :paypalMassageAddressRequest, 37
2770
+ optional ::GetAddressSnippetRequestProto, :getAddressSnippetRequest, 38
2771
+ end
2772
+
2773
+ optional ::RequestPropertiesProto, :requestProperties, 1
2774
+ repeated ::RequestProto::Request, :request, 2, :group => true
2775
+ end
2776
+
2777
+ class RequestSpecificPropertiesProto < ::ProtocolBuffers::Message
2778
+ set_fully_qualified_name "RequestSpecificPropertiesProto"
2779
+
2780
+ optional :string, :ifNoneMatch, 1
2781
+ end
2782
+
2783
+ class ResponsePropertiesProto < ::ProtocolBuffers::Message
2784
+ set_fully_qualified_name "ResponsePropertiesProto"
2785
+
2786
+ optional :int32, :result, 1
2787
+ optional :int32, :maxAge, 2
2788
+ optional :string, :etag, 3
2789
+ optional :int32, :serverVersion, 4
2790
+ optional :int32, :maxAgeConsumable, 6
2791
+ optional :string, :errorMessage, 7
2792
+ repeated ::InputValidationError, :errorInputField, 8
2793
+ end
2794
+
2795
+ class ResponseProto < ::ProtocolBuffers::Message
2796
+ # forward declarations
2797
+ class Response < ::ProtocolBuffers::Message; end
2798
+
2799
+ set_fully_qualified_name "ResponseProto"
2800
+
2801
+ # nested messages
2802
+ class Response < ::ProtocolBuffers::Message
2803
+ set_fully_qualified_name "ResponseProto.Response"
2804
+
2805
+ optional ::ResponsePropertiesProto, :responseProperties, 2
2806
+ optional ::AssetsResponseProto, :assetsResponse, 3
2807
+ optional ::CommentsResponseProto, :commentsResponse, 4
2808
+ optional ::ModifyCommentResponseProto, :modifyCommentResponse, 5
2809
+ optional ::PurchasePostResponseProto, :purchasePostResponse, 6
2810
+ optional ::PurchaseOrderResponseProto, :purchaseOrderResponse, 7
2811
+ optional ::ContentSyncResponseProto, :contentSyncResponse, 8
2812
+ optional ::GetAssetResponseProto, :getAssetResponse, 9
2813
+ optional ::GetImageResponseProto, :getImageResponse, 10
2814
+ optional ::RefundResponseProto, :refundResponse, 11
2815
+ optional ::PurchaseMetadataResponseProto, :purchaseMetadataResponse, 12
2816
+ optional ::GetSubCategoriesResponseProto, :subCategoriesResponse, 13
2817
+ optional ::UninstallReasonResponseProto, :uninstallReasonResponse, 15
2818
+ optional ::RateCommentResponseProto, :rateCommentResponse, 16
2819
+ optional ::CheckLicenseResponseProto, :checkLicenseResponse, 17
2820
+ optional ::GetMarketMetadataResponseProto, :getMarketMetadataResponse, 18
2821
+ repeated ::PrefetchedBundleProto, :prefetchedBundle, 19
2822
+ optional ::GetCategoriesResponseProto, :getCategoriesResponse, 20
2823
+ optional ::GetCarrierInfoResponseProto, :getCarrierInfoResponse, 21
2824
+ optional ::RestoreApplicationsResponseProto, :restoreApplicationResponse, 23
2825
+ optional ::QuerySuggestionResponseProto, :querySuggestionResponse, 24
2826
+ optional ::BillingEventResponseProto, :billingEventResponse, 25
2827
+ optional ::PaypalPreapprovalResponseProto, :paypalPreapprovalResponse, 26
2828
+ optional ::PaypalPreapprovalDetailsResponseProto, :paypalPreapprovalDetailsResponse, 27
2829
+ optional ::PaypalCreateAccountResponseProto, :paypalCreateAccountResponse, 28
2830
+ optional ::PaypalPreapprovalCredentialsResponseProto, :paypalPreapprovalCredentialsResponse, 29
2831
+ optional ::InAppRestoreTransactionsResponseProto, :inAppRestoreTransactionsResponse, 30
2832
+ optional ::InAppPurchaseInformationResponseProto, :inAppPurchaseInformationResponse, 31
2833
+ optional ::CheckForNotificationsResponseProto, :checkForNotificationsResponse, 32
2834
+ optional ::AckNotificationsResponseProto, :ackNotificationsResponse, 33
2835
+ optional ::PurchaseProductResponseProto, :purchaseProductResponse, 34
2836
+ optional ::ReconstructDatabaseResponseProto, :reconstructDatabaseResponse, 35
2837
+ optional ::PaypalMassageAddressResponseProto, :paypalMassageAddressResponse, 36
2838
+ optional ::GetAddressSnippetResponseProto, :getAddressSnippetResponse, 37
2839
+ end
2840
+
2841
+ repeated ::ResponseProto::Response, :response, 1, :group => true
2842
+ optional ::PendingNotificationsProto, :pendingNotifications, 38
2843
+ end
2844
+
2845
+ class RestoreApplicationsRequestProto < ::ProtocolBuffers::Message
2846
+ set_fully_qualified_name "RestoreApplicationsRequestProto"
2847
+
2848
+ optional :string, :backupAndroidId, 1
2849
+ optional :string, :tosVersion, 2
2850
+ optional ::DeviceConfigurationProto, :deviceConfiguration, 3
2851
+ end
2852
+
2853
+ class RestoreApplicationsResponseProto < ::ProtocolBuffers::Message
2854
+ set_fully_qualified_name "RestoreApplicationsResponseProto"
2855
+
2856
+ repeated ::GetAssetResponseProto, :asset, 1
2857
+ end
2858
+
2859
+ class RiskHeaderInfoProto < ::ProtocolBuffers::Message
2860
+ set_fully_qualified_name "RiskHeaderInfoProto"
2861
+
2862
+ optional :string, :hashedDeviceInfo, 1
2863
+ end
2864
+
2865
+ class SignatureHashProto < ::ProtocolBuffers::Message
2866
+ set_fully_qualified_name "SignatureHashProto"
2867
+
2868
+ optional :string, :packageName, 1
2869
+ optional :int32, :versionCode, 2
2870
+ optional :bytes, :hash, 3
2871
+ end
2872
+
2873
+ class SignedDataProto < ::ProtocolBuffers::Message
2874
+ set_fully_qualified_name "SignedDataProto"
2875
+
2876
+ optional :string, :signedData, 1
2877
+ optional :string, :signature, 2
2878
+ end
2879
+
2880
+ class SingleRequestProto < ::ProtocolBuffers::Message
2881
+ set_fully_qualified_name "SingleRequestProto"
2882
+
2883
+ optional ::RequestSpecificPropertiesProto, :requestSpecificProperties, 3
2884
+ optional ::AssetsRequestProto, :assetRequest, 4
2885
+ optional ::CommentsRequestProto, :commentsRequest, 5
2886
+ optional ::ModifyCommentRequestProto, :modifyCommentRequest, 6
2887
+ optional ::PurchasePostRequestProto, :purchasePostRequest, 7
2888
+ optional ::PurchaseOrderRequestProto, :purchaseOrderRequest, 8
2889
+ optional ::ContentSyncRequestProto, :contentSyncRequest, 9
2890
+ optional ::GetAssetRequestProto, :getAssetRequest, 10
2891
+ optional ::GetImageRequestProto, :getImageRequest, 11
2892
+ optional ::RefundRequestProto, :refundRequest, 12
2893
+ optional ::PurchaseMetadataRequestProto, :purchaseMetadataRequest, 13
2894
+ optional ::GetSubCategoriesRequestProto, :subCategoriesRequest, 14
2895
+ optional ::UninstallReasonRequestProto, :uninstallReasonRequest, 16
2896
+ optional ::RateCommentRequestProto, :rateCommentRequest, 17
2897
+ optional ::CheckLicenseRequestProto, :checkLicenseRequest, 18
2898
+ optional ::GetMarketMetadataRequestProto, :getMarketMetadataRequest, 19
2899
+ optional ::GetCategoriesRequestProto, :getCategoriesRequest, 21
2900
+ optional ::GetCarrierInfoRequestProto, :getCarrierInfoRequest, 22
2901
+ optional ::RemoveAssetRequestProto, :removeAssetRequest, 23
2902
+ optional ::RestoreApplicationsRequestProto, :restoreApplicationsRequest, 24
2903
+ optional ::QuerySuggestionRequestProto, :querySuggestionRequest, 25
2904
+ optional ::BillingEventRequestProto, :billingEventRequest, 26
2905
+ optional ::PaypalPreapprovalRequestProto, :paypalPreapprovalRequest, 27
2906
+ optional ::PaypalPreapprovalDetailsRequestProto, :paypalPreapprovalDetailsRequest, 28
2907
+ optional ::PaypalCreateAccountRequestProto, :paypalCreateAccountRequest, 29
2908
+ optional ::PaypalPreapprovalCredentialsRequestProto, :paypalPreapprovalCredentialsRequest, 30
2909
+ optional ::InAppRestoreTransactionsRequestProto, :inAppRestoreTransactionsRequest, 31
2910
+ optional ::InAppPurchaseInformationRequestProto, :getInAppPurchaseInformationRequest, 32
2911
+ optional ::CheckForNotificationsRequestProto, :checkForNotificationsRequest, 33
2912
+ optional ::AckNotificationsRequestProto, :ackNotificationsRequest, 34
2913
+ optional ::PurchaseProductRequestProto, :purchaseProductRequest, 35
2914
+ optional ::ReconstructDatabaseRequestProto, :reconstructDatabaseRequest, 36
2915
+ optional ::PaypalMassageAddressRequestProto, :paypalMassageAddressRequest, 37
2916
+ optional ::GetAddressSnippetRequestProto, :getAddressSnippetRequest, 38
2917
+ end
2918
+
2919
+ class SingleResponseProto < ::ProtocolBuffers::Message
2920
+ set_fully_qualified_name "SingleResponseProto"
2921
+
2922
+ optional ::ResponsePropertiesProto, :responseProperties, 2
2923
+ optional ::AssetsResponseProto, :assetsResponse, 3
2924
+ optional ::CommentsResponseProto, :commentsResponse, 4
2925
+ optional ::ModifyCommentResponseProto, :modifyCommentResponse, 5
2926
+ optional ::PurchasePostResponseProto, :purchasePostResponse, 6
2927
+ optional ::PurchaseOrderResponseProto, :purchaseOrderResponse, 7
2928
+ optional ::ContentSyncResponseProto, :contentSyncResponse, 8
2929
+ optional ::GetAssetResponseProto, :getAssetResponse, 9
2930
+ optional ::GetImageResponseProto, :getImageResponse, 10
2931
+ optional ::RefundResponseProto, :refundResponse, 11
2932
+ optional ::PurchaseMetadataResponseProto, :purchaseMetadataResponse, 12
2933
+ optional ::GetSubCategoriesResponseProto, :subCategoriesResponse, 13
2934
+ optional ::UninstallReasonResponseProto, :uninstallReasonResponse, 15
2935
+ optional ::RateCommentResponseProto, :rateCommentResponse, 16
2936
+ optional ::CheckLicenseResponseProto, :checkLicenseResponse, 17
2937
+ optional ::GetMarketMetadataResponseProto, :getMarketMetadataResponse, 18
2938
+ optional ::GetCategoriesResponseProto, :getCategoriesResponse, 20
2939
+ optional ::GetCarrierInfoResponseProto, :getCarrierInfoResponse, 21
2940
+ optional ::RestoreApplicationsResponseProto, :restoreApplicationResponse, 23
2941
+ optional ::QuerySuggestionResponseProto, :querySuggestionResponse, 24
2942
+ optional ::BillingEventResponseProto, :billingEventResponse, 25
2943
+ optional ::PaypalPreapprovalResponseProto, :paypalPreapprovalResponse, 26
2944
+ optional ::PaypalPreapprovalDetailsResponseProto, :paypalPreapprovalDetailsResponse, 27
2945
+ optional ::PaypalCreateAccountResponseProto, :paypalCreateAccountResponse, 28
2946
+ optional ::PaypalPreapprovalCredentialsResponseProto, :paypalPreapprovalCredentialsResponse, 29
2947
+ optional ::InAppRestoreTransactionsResponseProto, :inAppRestoreTransactionsResponse, 30
2948
+ optional ::InAppPurchaseInformationResponseProto, :getInAppPurchaseInformationResponse, 31
2949
+ optional ::CheckForNotificationsResponseProto, :checkForNotificationsResponse, 32
2950
+ optional ::AckNotificationsResponseProto, :ackNotificationsResponse, 33
2951
+ optional ::PurchaseProductResponseProto, :purchaseProductResponse, 34
2952
+ optional ::ReconstructDatabaseResponseProto, :reconstructDatabaseResponse, 35
2953
+ optional ::PaypalMassageAddressResponseProto, :paypalMassageAddressResponse, 36
2954
+ optional ::GetAddressSnippetResponseProto, :getAddressSnippetResponse, 37
2955
+ end
2956
+
2957
+ class StatusBarNotificationProto < ::ProtocolBuffers::Message
2958
+ set_fully_qualified_name "StatusBarNotificationProto"
2959
+
2960
+ optional :string, :tickerText, 1
2961
+ optional :string, :contentTitle, 2
2962
+ optional :string, :contentText, 3
2963
+ end
2964
+
2965
+ class UninstallReasonRequestProto < ::ProtocolBuffers::Message
2966
+ set_fully_qualified_name "UninstallReasonRequestProto"
2967
+
2968
+ optional :string, :assetId, 1
2969
+ optional :int32, :reason, 2
2970
+ end
2971
+
2972
+ class UninstallReasonResponseProto < ::ProtocolBuffers::Message
2973
+ set_fully_qualified_name "UninstallReasonResponseProto"
2974
+
2975
+ end
2976
+