google-apis-androidpublisher_v3 0.1.0 → 0.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,6 +22,97 @@ module Google
22
22
  module Apis
23
23
  module AndroidpublisherV3
24
24
 
25
+ # Represents an Abi.
26
+ class Abi
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Alias for an abi.
30
+ # Corresponds to the JSON property `alias`
31
+ # @return [String]
32
+ attr_accessor :alias
33
+
34
+ def initialize(**args)
35
+ update!(**args)
36
+ end
37
+
38
+ # Update properties of this object
39
+ def update!(**args)
40
+ @alias = args[:alias] if args.key?(:alias)
41
+ end
42
+ end
43
+
44
+ # Targeting based on Abi.
45
+ class AbiTargeting
46
+ include Google::Apis::Core::Hashable
47
+
48
+ # Targeting of other sibling directories that were in the Bundle. For main
49
+ # splits this is targeting of other main splits.
50
+ # Corresponds to the JSON property `alternatives`
51
+ # @return [Array<Google::Apis::AndroidpublisherV3::Abi>]
52
+ attr_accessor :alternatives
53
+
54
+ # Value of an abi.
55
+ # Corresponds to the JSON property `value`
56
+ # @return [Array<Google::Apis::AndroidpublisherV3::Abi>]
57
+ attr_accessor :value
58
+
59
+ def initialize(**args)
60
+ update!(**args)
61
+ end
62
+
63
+ # Update properties of this object
64
+ def update!(**args)
65
+ @alternatives = args[:alternatives] if args.key?(:alternatives)
66
+ @value = args[:value] if args.key?(:value)
67
+ end
68
+ end
69
+
70
+ # Represents a targeting rule of the form: User never had `scope` before.
71
+ class AcquisitionTargetingRule
72
+ include Google::Apis::Core::Hashable
73
+
74
+ # Defines the scope of subscriptions which a targeting rule can match to target
75
+ # offers to users based on past or current entitlement.
76
+ # Corresponds to the JSON property `scope`
77
+ # @return [Google::Apis::AndroidpublisherV3::TargetingRuleScope]
78
+ attr_accessor :scope
79
+
80
+ def initialize(**args)
81
+ update!(**args)
82
+ end
83
+
84
+ # Update properties of this object
85
+ def update!(**args)
86
+ @scope = args[:scope] if args.key?(:scope)
87
+ end
88
+ end
89
+
90
+ # Request message for ActivateBasePlan.
91
+ class ActivateBasePlanRequest
92
+ include Google::Apis::Core::Hashable
93
+
94
+ def initialize(**args)
95
+ update!(**args)
96
+ end
97
+
98
+ # Update properties of this object
99
+ def update!(**args)
100
+ end
101
+ end
102
+
103
+ # Request message for ActivateSubscriptionOffer.
104
+ class ActivateSubscriptionOfferRequest
105
+ include Google::Apis::Core::Hashable
106
+
107
+ def initialize(**args)
108
+ update!(**args)
109
+ end
110
+
111
+ # Update properties of this object
112
+ def update!(**args)
113
+ end
114
+ end
115
+
25
116
  # Information about an APK. The resource for ApksService.
26
117
  class Apk
27
118
  include Google::Apis::Core::Hashable
@@ -74,6 +165,130 @@ module Google
74
165
  end
75
166
  end
76
167
 
168
+ # Description of the created apks.
169
+ class ApkDescription
170
+ include Google::Apis::Core::Hashable
171
+
172
+ # Holds data specific to Split APKs.
173
+ # Corresponds to the JSON property `assetSliceMetadata`
174
+ # @return [Google::Apis::AndroidpublisherV3::SplitApkMetadata]
175
+ attr_accessor :asset_slice_metadata
176
+
177
+ # Holds data specific to Split APKs.
178
+ # Corresponds to the JSON property `instantApkMetadata`
179
+ # @return [Google::Apis::AndroidpublisherV3::SplitApkMetadata]
180
+ attr_accessor :instant_apk_metadata
181
+
182
+ # Path of the Apk, will be in the following format: .apk where DownloadId is the
183
+ # ID used to download the apk using GeneratedApks.Download API.
184
+ # Corresponds to the JSON property `path`
185
+ # @return [String]
186
+ attr_accessor :path
187
+
188
+ # Holds data specific to Split APKs.
189
+ # Corresponds to the JSON property `splitApkMetadata`
190
+ # @return [Google::Apis::AndroidpublisherV3::SplitApkMetadata]
191
+ attr_accessor :split_apk_metadata
192
+
193
+ # Holds data specific to Standalone APKs.
194
+ # Corresponds to the JSON property `standaloneApkMetadata`
195
+ # @return [Google::Apis::AndroidpublisherV3::StandaloneApkMetadata]
196
+ attr_accessor :standalone_apk_metadata
197
+
198
+ # Represents a set of apk-level targetings.
199
+ # Corresponds to the JSON property `targeting`
200
+ # @return [Google::Apis::AndroidpublisherV3::ApkTargeting]
201
+ attr_accessor :targeting
202
+
203
+ def initialize(**args)
204
+ update!(**args)
205
+ end
206
+
207
+ # Update properties of this object
208
+ def update!(**args)
209
+ @asset_slice_metadata = args[:asset_slice_metadata] if args.key?(:asset_slice_metadata)
210
+ @instant_apk_metadata = args[:instant_apk_metadata] if args.key?(:instant_apk_metadata)
211
+ @path = args[:path] if args.key?(:path)
212
+ @split_apk_metadata = args[:split_apk_metadata] if args.key?(:split_apk_metadata)
213
+ @standalone_apk_metadata = args[:standalone_apk_metadata] if args.key?(:standalone_apk_metadata)
214
+ @targeting = args[:targeting] if args.key?(:targeting)
215
+ end
216
+ end
217
+
218
+ # A set of apks representing a module.
219
+ class ApkSet
220
+ include Google::Apis::Core::Hashable
221
+
222
+ # Description of the generated apks.
223
+ # Corresponds to the JSON property `apkDescription`
224
+ # @return [Array<Google::Apis::AndroidpublisherV3::ApkDescription>]
225
+ attr_accessor :apk_description
226
+
227
+ # Metadata of a module.
228
+ # Corresponds to the JSON property `moduleMetadata`
229
+ # @return [Google::Apis::AndroidpublisherV3::ModuleMetadata]
230
+ attr_accessor :module_metadata
231
+
232
+ def initialize(**args)
233
+ update!(**args)
234
+ end
235
+
236
+ # Update properties of this object
237
+ def update!(**args)
238
+ @apk_description = args[:apk_description] if args.key?(:apk_description)
239
+ @module_metadata = args[:module_metadata] if args.key?(:module_metadata)
240
+ end
241
+ end
242
+
243
+ # Represents a set of apk-level targetings.
244
+ class ApkTargeting
245
+ include Google::Apis::Core::Hashable
246
+
247
+ # Targeting based on Abi.
248
+ # Corresponds to the JSON property `abiTargeting`
249
+ # @return [Google::Apis::AndroidpublisherV3::AbiTargeting]
250
+ attr_accessor :abi_targeting
251
+
252
+ # Targeting based on language.
253
+ # Corresponds to the JSON property `languageTargeting`
254
+ # @return [Google::Apis::AndroidpublisherV3::LanguageTargeting]
255
+ attr_accessor :language_targeting
256
+
257
+ # Targeting based on multiple abis.
258
+ # Corresponds to the JSON property `multiAbiTargeting`
259
+ # @return [Google::Apis::AndroidpublisherV3::MultiAbiTargeting]
260
+ attr_accessor :multi_abi_targeting
261
+
262
+ # Targeting based on screen density.
263
+ # Corresponds to the JSON property `screenDensityTargeting`
264
+ # @return [Google::Apis::AndroidpublisherV3::ScreenDensityTargeting]
265
+ attr_accessor :screen_density_targeting
266
+
267
+ # Targeting based on sdk version.
268
+ # Corresponds to the JSON property `sdkVersionTargeting`
269
+ # @return [Google::Apis::AndroidpublisherV3::SdkVersionTargeting]
270
+ attr_accessor :sdk_version_targeting
271
+
272
+ # Targeting by a texture compression format.
273
+ # Corresponds to the JSON property `textureCompressionFormatTargeting`
274
+ # @return [Google::Apis::AndroidpublisherV3::TextureCompressionFormatTargeting]
275
+ attr_accessor :texture_compression_format_targeting
276
+
277
+ def initialize(**args)
278
+ update!(**args)
279
+ end
280
+
281
+ # Update properties of this object
282
+ def update!(**args)
283
+ @abi_targeting = args[:abi_targeting] if args.key?(:abi_targeting)
284
+ @language_targeting = args[:language_targeting] if args.key?(:language_targeting)
285
+ @multi_abi_targeting = args[:multi_abi_targeting] if args.key?(:multi_abi_targeting)
286
+ @screen_density_targeting = args[:screen_density_targeting] if args.key?(:screen_density_targeting)
287
+ @sdk_version_targeting = args[:sdk_version_targeting] if args.key?(:sdk_version_targeting)
288
+ @texture_compression_format_targeting = args[:texture_compression_format_targeting] if args.key?(:texture_compression_format_targeting)
289
+ end
290
+ end
291
+
77
292
  # Request to create a new externally hosted APK.
78
293
  class ApksAddExternallyHostedRequest
79
294
  include Google::Apis::Core::Hashable
@@ -206,7 +421,227 @@ module Google
206
421
  end
207
422
  end
208
423
 
209
- # Information about a bundle. The resource for BundlesService.
424
+ # Request message for ArchiveSubscription.
425
+ class ArchiveSubscriptionRequest
426
+ include Google::Apis::Core::Hashable
427
+
428
+ def initialize(**args)
429
+ update!(**args)
430
+ end
431
+
432
+ # Update properties of this object
433
+ def update!(**args)
434
+ end
435
+ end
436
+
437
+ # Metadata of an asset module.
438
+ class AssetModuleMetadata
439
+ include Google::Apis::Core::Hashable
440
+
441
+ # Indicates the delivery type for persistent install.
442
+ # Corresponds to the JSON property `deliveryType`
443
+ # @return [String]
444
+ attr_accessor :delivery_type
445
+
446
+ # Module name.
447
+ # Corresponds to the JSON property `name`
448
+ # @return [String]
449
+ attr_accessor :name
450
+
451
+ def initialize(**args)
452
+ update!(**args)
453
+ end
454
+
455
+ # Update properties of this object
456
+ def update!(**args)
457
+ @delivery_type = args[:delivery_type] if args.key?(:delivery_type)
458
+ @name = args[:name] if args.key?(:name)
459
+ end
460
+ end
461
+
462
+ # Set of asset slices belonging to a single asset module.
463
+ class AssetSliceSet
464
+ include Google::Apis::Core::Hashable
465
+
466
+ # Asset slices.
467
+ # Corresponds to the JSON property `apkDescription`
468
+ # @return [Array<Google::Apis::AndroidpublisherV3::ApkDescription>]
469
+ attr_accessor :apk_description
470
+
471
+ # Metadata of an asset module.
472
+ # Corresponds to the JSON property `assetModuleMetadata`
473
+ # @return [Google::Apis::AndroidpublisherV3::AssetModuleMetadata]
474
+ attr_accessor :asset_module_metadata
475
+
476
+ def initialize(**args)
477
+ update!(**args)
478
+ end
479
+
480
+ # Update properties of this object
481
+ def update!(**args)
482
+ @apk_description = args[:apk_description] if args.key?(:apk_description)
483
+ @asset_module_metadata = args[:asset_module_metadata] if args.key?(:asset_module_metadata)
484
+ end
485
+ end
486
+
487
+ # Represents a base plan that automatically renews at the end of its
488
+ # subscription period.
489
+ class AutoRenewingBasePlanType
490
+ include Google::Apis::Core::Hashable
491
+
492
+ # Required. Subscription period, specified in ISO 8601 format. For a list of
493
+ # acceptable billing periods, refer to the help center.
494
+ # Corresponds to the JSON property `billingPeriodDuration`
495
+ # @return [String]
496
+ attr_accessor :billing_period_duration
497
+
498
+ # Grace period of the subscription, specified in ISO 8601 format. Acceptable
499
+ # values are P0D (zero days), P3D (3 days), P7D (7 days), P14D (14 days), and
500
+ # P30D (30 days). If not specified, a default value will be used based on the
501
+ # recurring period duration.
502
+ # Corresponds to the JSON property `gracePeriodDuration`
503
+ # @return [String]
504
+ attr_accessor :grace_period_duration
505
+
506
+ # Whether the renewing base plan is backward compatible. The backward compatible
507
+ # base plan is returned by the Google Play Billing Library deprecated method
508
+ # querySkuDetailsAsync(). Only one renewing base plan can be marked as legacy
509
+ # compatible for a given subscription.
510
+ # Corresponds to the JSON property `legacyCompatible`
511
+ # @return [Boolean]
512
+ attr_accessor :legacy_compatible
513
+ alias_method :legacy_compatible?, :legacy_compatible
514
+
515
+ # Subscription offer id which is legacy compatible. The backward compatible
516
+ # subscription offer is returned by the Google Play Billing Library deprecated
517
+ # method querySkuDetailsAsync(). Only one subscription offer can be marked as
518
+ # legacy compatible for a given renewing base plan. To have no Subscription
519
+ # offer as legacy compatible set this field as empty string.
520
+ # Corresponds to the JSON property `legacyCompatibleSubscriptionOfferId`
521
+ # @return [String]
522
+ attr_accessor :legacy_compatible_subscription_offer_id
523
+
524
+ # The proration mode for the base plan determines what happens when a user
525
+ # switches to this plan from another base plan. If unspecified, defaults to
526
+ # CHARGE_ON_NEXT_BILLING_DATE.
527
+ # Corresponds to the JSON property `prorationMode`
528
+ # @return [String]
529
+ attr_accessor :proration_mode
530
+
531
+ # Whether users should be able to resubscribe to this base plan in Google Play
532
+ # surfaces. Defaults to RESUBSCRIBE_STATE_ACTIVE if not specified.
533
+ # Corresponds to the JSON property `resubscribeState`
534
+ # @return [String]
535
+ attr_accessor :resubscribe_state
536
+
537
+ def initialize(**args)
538
+ update!(**args)
539
+ end
540
+
541
+ # Update properties of this object
542
+ def update!(**args)
543
+ @billing_period_duration = args[:billing_period_duration] if args.key?(:billing_period_duration)
544
+ @grace_period_duration = args[:grace_period_duration] if args.key?(:grace_period_duration)
545
+ @legacy_compatible = args[:legacy_compatible] if args.key?(:legacy_compatible)
546
+ @legacy_compatible_subscription_offer_id = args[:legacy_compatible_subscription_offer_id] if args.key?(:legacy_compatible_subscription_offer_id)
547
+ @proration_mode = args[:proration_mode] if args.key?(:proration_mode)
548
+ @resubscribe_state = args[:resubscribe_state] if args.key?(:resubscribe_state)
549
+ end
550
+ end
551
+
552
+ # Information related to an auto renewing plan.
553
+ class AutoRenewingPlan
554
+ include Google::Apis::Core::Hashable
555
+
556
+ # If the subscription is currently set to auto-renew, e.g. the user has not
557
+ # canceled the subscription
558
+ # Corresponds to the JSON property `autoRenewEnabled`
559
+ # @return [Boolean]
560
+ attr_accessor :auto_renew_enabled
561
+ alias_method :auto_renew_enabled?, :auto_renew_enabled
562
+
563
+ # Price change related information of a subscription item.
564
+ # Corresponds to the JSON property `priceChangeDetails`
565
+ # @return [Google::Apis::AndroidpublisherV3::SubscriptionItemPriceChangeDetails]
566
+ attr_accessor :price_change_details
567
+
568
+ def initialize(**args)
569
+ update!(**args)
570
+ end
571
+
572
+ # Update properties of this object
573
+ def update!(**args)
574
+ @auto_renew_enabled = args[:auto_renew_enabled] if args.key?(:auto_renew_enabled)
575
+ @price_change_details = args[:price_change_details] if args.key?(:price_change_details)
576
+ end
577
+ end
578
+
579
+ # A single base plan for a subscription.
580
+ class BasePlan
581
+ include Google::Apis::Core::Hashable
582
+
583
+ # Represents a base plan that automatically renews at the end of its
584
+ # subscription period.
585
+ # Corresponds to the JSON property `autoRenewingBasePlanType`
586
+ # @return [Google::Apis::AndroidpublisherV3::AutoRenewingBasePlanType]
587
+ attr_accessor :auto_renewing_base_plan_type
588
+
589
+ # Required. Immutable. The unique identifier of this base plan. Must be unique
590
+ # within the subscription, and conform with RFC-1034. That is, this ID can only
591
+ # contain lower-case letters (a-z), numbers (0-9), and hyphens (-), and be at
592
+ # most 63 characters.
593
+ # Corresponds to the JSON property `basePlanId`
594
+ # @return [String]
595
+ attr_accessor :base_plan_id
596
+
597
+ # List of up to 20 custom tags specified for this base plan, and returned to the
598
+ # app through the billing library. Subscription offers for this base plan will
599
+ # also receive these offer tags in the billing library.
600
+ # Corresponds to the JSON property `offerTags`
601
+ # @return [Array<Google::Apis::AndroidpublisherV3::OfferTag>]
602
+ attr_accessor :offer_tags
603
+
604
+ # Pricing information for any new locations Play may launch in.
605
+ # Corresponds to the JSON property `otherRegionsConfig`
606
+ # @return [Google::Apis::AndroidpublisherV3::OtherRegionsBasePlanConfig]
607
+ attr_accessor :other_regions_config
608
+
609
+ # Represents a base plan that does not automatically renew at the end of the
610
+ # base plan, and must be manually renewed by the user.
611
+ # Corresponds to the JSON property `prepaidBasePlanType`
612
+ # @return [Google::Apis::AndroidpublisherV3::PrepaidBasePlanType]
613
+ attr_accessor :prepaid_base_plan_type
614
+
615
+ # Region-specific information for this base plan.
616
+ # Corresponds to the JSON property `regionalConfigs`
617
+ # @return [Array<Google::Apis::AndroidpublisherV3::RegionalBasePlanConfig>]
618
+ attr_accessor :regional_configs
619
+
620
+ # Output only. The state of the base plan, i.e. whether it's active. Draft and
621
+ # inactive base plans can be activated or deleted. Active base plans can be made
622
+ # inactive. Inactive base plans can be canceled. This field cannot be changed by
623
+ # updating the resource. Use the dedicated endpoints instead.
624
+ # Corresponds to the JSON property `state`
625
+ # @return [String]
626
+ attr_accessor :state
627
+
628
+ def initialize(**args)
629
+ update!(**args)
630
+ end
631
+
632
+ # Update properties of this object
633
+ def update!(**args)
634
+ @auto_renewing_base_plan_type = args[:auto_renewing_base_plan_type] if args.key?(:auto_renewing_base_plan_type)
635
+ @base_plan_id = args[:base_plan_id] if args.key?(:base_plan_id)
636
+ @offer_tags = args[:offer_tags] if args.key?(:offer_tags)
637
+ @other_regions_config = args[:other_regions_config] if args.key?(:other_regions_config)
638
+ @prepaid_base_plan_type = args[:prepaid_base_plan_type] if args.key?(:prepaid_base_plan_type)
639
+ @regional_configs = args[:regional_configs] if args.key?(:regional_configs)
640
+ @state = args[:state] if args.key?(:state)
641
+ end
642
+ end
643
+
644
+ # Information about an app bundle. The resource for BundlesService.
210
645
  class Bundle
211
646
  include Google::Apis::Core::Hashable
212
647
 
@@ -240,11 +675,11 @@ module Google
240
675
  end
241
676
  end
242
677
 
243
- # Response listing all bundles.
678
+ # Response listing all app bundles.
244
679
  class BundlesListResponse
245
680
  include Google::Apis::Core::Hashable
246
681
 
247
- # All bundles.
682
+ # All app bundles.
248
683
  # Corresponds to the JSON property `bundles`
249
684
  # @return [Array<Google::Apis::AndroidpublisherV3::Bundle>]
250
685
  attr_accessor :bundles
@@ -265,6 +700,69 @@ module Google
265
700
  end
266
701
  end
267
702
 
703
+ # Result of the cancel survey when the subscription was canceled by the user.
704
+ class CancelSurveyResult
705
+ include Google::Apis::Core::Hashable
706
+
707
+ # The reason the user selected in the cancel survey.
708
+ # Corresponds to the JSON property `reason`
709
+ # @return [String]
710
+ attr_accessor :reason
711
+
712
+ # Only set for CANCEL_SURVEY_REASON_OTHERS. This is the user's freeform response
713
+ # to the survey.
714
+ # Corresponds to the JSON property `reasonUserInput`
715
+ # @return [String]
716
+ attr_accessor :reason_user_input
717
+
718
+ def initialize(**args)
719
+ update!(**args)
720
+ end
721
+
722
+ # Update properties of this object
723
+ def update!(**args)
724
+ @reason = args[:reason] if args.key?(:reason)
725
+ @reason_user_input = args[:reason_user_input] if args.key?(:reason_user_input)
726
+ end
727
+ end
728
+
729
+ # Information specific to a subscription in canceled state.
730
+ class CanceledStateContext
731
+ include Google::Apis::Core::Hashable
732
+
733
+ # Information specific to cancellations initiated by developers.
734
+ # Corresponds to the JSON property `developerInitiatedCancellation`
735
+ # @return [Google::Apis::AndroidpublisherV3::DeveloperInitiatedCancellation]
736
+ attr_accessor :developer_initiated_cancellation
737
+
738
+ # Information specific to cancellations caused by subscription replacement.
739
+ # Corresponds to the JSON property `replacementCancellation`
740
+ # @return [Google::Apis::AndroidpublisherV3::ReplacementCancellation]
741
+ attr_accessor :replacement_cancellation
742
+
743
+ # Information specific to cancellations initiated by Google system.
744
+ # Corresponds to the JSON property `systemInitiatedCancellation`
745
+ # @return [Google::Apis::AndroidpublisherV3::SystemInitiatedCancellation]
746
+ attr_accessor :system_initiated_cancellation
747
+
748
+ # Information specific to cancellations initiated by users.
749
+ # Corresponds to the JSON property `userInitiatedCancellation`
750
+ # @return [Google::Apis::AndroidpublisherV3::UserInitiatedCancellation]
751
+ attr_accessor :user_initiated_cancellation
752
+
753
+ def initialize(**args)
754
+ update!(**args)
755
+ end
756
+
757
+ # Update properties of this object
758
+ def update!(**args)
759
+ @developer_initiated_cancellation = args[:developer_initiated_cancellation] if args.key?(:developer_initiated_cancellation)
760
+ @replacement_cancellation = args[:replacement_cancellation] if args.key?(:replacement_cancellation)
761
+ @system_initiated_cancellation = args[:system_initiated_cancellation] if args.key?(:system_initiated_cancellation)
762
+ @user_initiated_cancellation = args[:user_initiated_cancellation] if args.key?(:user_initiated_cancellation)
763
+ end
764
+ end
765
+
268
766
  # An entry of conversation between user and developer.
269
767
  class Comment
270
768
  include Google::Apis::Core::Hashable
@@ -290,21 +788,14 @@ module Google
290
788
  end
291
789
  end
292
790
 
293
- # Country targeting specification.
294
- class CountryTargeting
791
+ # Request message for ConvertRegionPrices.
792
+ class ConvertRegionPricesRequest
295
793
  include Google::Apis::Core::Hashable
296
794
 
297
- # Countries to target, specified as two letter [CLDR codes](https://unicode.org/
298
- # cldr/charts/latest/supplemental/territory_containment_un_m_49.html).
299
- # Corresponds to the JSON property `countries`
300
- # @return [Array<String>]
301
- attr_accessor :countries
302
-
303
- # Include "rest of world" as well as explicitly targeted countries.
304
- # Corresponds to the JSON property `includeRestOfWorld`
305
- # @return [Boolean]
306
- attr_accessor :include_rest_of_world
307
- alias_method :include_rest_of_world?, :include_rest_of_world
795
+ # Represents an amount of money with its currency type.
796
+ # Corresponds to the JSON property `price`
797
+ # @return [Google::Apis::AndroidpublisherV3::Money]
798
+ attr_accessor :price
308
799
 
309
800
  def initialize(**args)
310
801
  update!(**args)
@@ -312,19 +803,23 @@ module Google
312
803
 
313
804
  # Update properties of this object
314
805
  def update!(**args)
315
- @countries = args[:countries] if args.key?(:countries)
316
- @include_rest_of_world = args[:include_rest_of_world] if args.key?(:include_rest_of_world)
806
+ @price = args[:price] if args.key?(:price)
317
807
  end
318
808
  end
319
809
 
320
- # Represents a deobfuscation file.
321
- class DeobfuscationFile
810
+ # Response message for ConvertRegionPrices.
811
+ class ConvertRegionPricesResponse
322
812
  include Google::Apis::Core::Hashable
323
813
 
324
- # The type of the deobfuscation file.
325
- # Corresponds to the JSON property `symbolType`
326
- # @return [String]
327
- attr_accessor :symbol_type
814
+ # Converted other regions prices.
815
+ # Corresponds to the JSON property `convertedOtherRegionsPrice`
816
+ # @return [Google::Apis::AndroidpublisherV3::ConvertedOtherRegionsPrice]
817
+ attr_accessor :converted_other_regions_price
818
+
819
+ # Map from region code to converted region price.
820
+ # Corresponds to the JSON property `convertedRegionPrices`
821
+ # @return [Hash<String,Google::Apis::AndroidpublisherV3::ConvertedRegionPrice>]
822
+ attr_accessor :converted_region_prices
328
823
 
329
824
  def initialize(**args)
330
825
  update!(**args)
@@ -332,7 +827,155 @@ module Google
332
827
 
333
828
  # Update properties of this object
334
829
  def update!(**args)
335
- @symbol_type = args[:symbol_type] if args.key?(:symbol_type)
830
+ @converted_other_regions_price = args[:converted_other_regions_price] if args.key?(:converted_other_regions_price)
831
+ @converted_region_prices = args[:converted_region_prices] if args.key?(:converted_region_prices)
832
+ end
833
+ end
834
+
835
+ # Converted other regions prices.
836
+ class ConvertedOtherRegionsPrice
837
+ include Google::Apis::Core::Hashable
838
+
839
+ # Represents an amount of money with its currency type.
840
+ # Corresponds to the JSON property `eurPrice`
841
+ # @return [Google::Apis::AndroidpublisherV3::Money]
842
+ attr_accessor :eur_price
843
+
844
+ # Represents an amount of money with its currency type.
845
+ # Corresponds to the JSON property `usdPrice`
846
+ # @return [Google::Apis::AndroidpublisherV3::Money]
847
+ attr_accessor :usd_price
848
+
849
+ def initialize(**args)
850
+ update!(**args)
851
+ end
852
+
853
+ # Update properties of this object
854
+ def update!(**args)
855
+ @eur_price = args[:eur_price] if args.key?(:eur_price)
856
+ @usd_price = args[:usd_price] if args.key?(:usd_price)
857
+ end
858
+ end
859
+
860
+ # A converted region price.
861
+ class ConvertedRegionPrice
862
+ include Google::Apis::Core::Hashable
863
+
864
+ # Represents an amount of money with its currency type.
865
+ # Corresponds to the JSON property `price`
866
+ # @return [Google::Apis::AndroidpublisherV3::Money]
867
+ attr_accessor :price
868
+
869
+ # The region code of the region.
870
+ # Corresponds to the JSON property `regionCode`
871
+ # @return [String]
872
+ attr_accessor :region_code
873
+
874
+ # Represents an amount of money with its currency type.
875
+ # Corresponds to the JSON property `taxAmount`
876
+ # @return [Google::Apis::AndroidpublisherV3::Money]
877
+ attr_accessor :tax_amount
878
+
879
+ def initialize(**args)
880
+ update!(**args)
881
+ end
882
+
883
+ # Update properties of this object
884
+ def update!(**args)
885
+ @price = args[:price] if args.key?(:price)
886
+ @region_code = args[:region_code] if args.key?(:region_code)
887
+ @tax_amount = args[:tax_amount] if args.key?(:tax_amount)
888
+ end
889
+ end
890
+
891
+ # Country targeting specification.
892
+ class CountryTargeting
893
+ include Google::Apis::Core::Hashable
894
+
895
+ # Countries to target, specified as two letter [CLDR codes](https://unicode.org/
896
+ # cldr/charts/latest/supplemental/territory_containment_un_m_49.html).
897
+ # Corresponds to the JSON property `countries`
898
+ # @return [Array<String>]
899
+ attr_accessor :countries
900
+
901
+ # Include "rest of world" as well as explicitly targeted countries.
902
+ # Corresponds to the JSON property `includeRestOfWorld`
903
+ # @return [Boolean]
904
+ attr_accessor :include_rest_of_world
905
+ alias_method :include_rest_of_world?, :include_rest_of_world
906
+
907
+ def initialize(**args)
908
+ update!(**args)
909
+ end
910
+
911
+ # Update properties of this object
912
+ def update!(**args)
913
+ @countries = args[:countries] if args.key?(:countries)
914
+ @include_rest_of_world = args[:include_rest_of_world] if args.key?(:include_rest_of_world)
915
+ end
916
+ end
917
+
918
+ # Request message for DeactivateBasePlan.
919
+ class DeactivateBasePlanRequest
920
+ include Google::Apis::Core::Hashable
921
+
922
+ def initialize(**args)
923
+ update!(**args)
924
+ end
925
+
926
+ # Update properties of this object
927
+ def update!(**args)
928
+ end
929
+ end
930
+
931
+ # Request message for DeactivateSubscriptionOffer.
932
+ class DeactivateSubscriptionOfferRequest
933
+ include Google::Apis::Core::Hashable
934
+
935
+ def initialize(**args)
936
+ update!(**args)
937
+ end
938
+
939
+ # Update properties of this object
940
+ def update!(**args)
941
+ end
942
+ end
943
+
944
+ # Information related to deferred item replacement.
945
+ class DeferredItemReplacement
946
+ include Google::Apis::Core::Hashable
947
+
948
+ # The product_id going to replace the existing product_id.
949
+ # Corresponds to the JSON property `productId`
950
+ # @return [String]
951
+ attr_accessor :product_id
952
+
953
+ def initialize(**args)
954
+ update!(**args)
955
+ end
956
+
957
+ # Update properties of this object
958
+ def update!(**args)
959
+ @product_id = args[:product_id] if args.key?(:product_id)
960
+ end
961
+ end
962
+
963
+ # Represents a deobfuscation file.
964
+ class DeobfuscationFile
965
+ include Google::Apis::Core::Hashable
966
+
967
+ # The type of the deobfuscation file.
968
+ # Corresponds to the JSON property `symbolType`
969
+ # @return [String]
970
+ attr_accessor :symbol_type
971
+
972
+ def initialize(**args)
973
+ update!(**args)
974
+ end
975
+
976
+ # Update properties of this object
977
+ def update!(**args)
978
+ @symbol_type = args[:symbol_type] if args.key?(:symbol_type)
336
979
  end
337
980
  end
338
981
 
@@ -383,6 +1026,116 @@ module Google
383
1026
  end
384
1027
  end
385
1028
 
1029
+ # Information specific to cancellations initiated by developers.
1030
+ class DeveloperInitiatedCancellation
1031
+ include Google::Apis::Core::Hashable
1032
+
1033
+ def initialize(**args)
1034
+ update!(**args)
1035
+ end
1036
+
1037
+ # Update properties of this object
1038
+ def update!(**args)
1039
+ end
1040
+ end
1041
+
1042
+ # Represents a device feature.
1043
+ class DeviceFeature
1044
+ include Google::Apis::Core::Hashable
1045
+
1046
+ # Name of the feature.
1047
+ # Corresponds to the JSON property `featureName`
1048
+ # @return [String]
1049
+ attr_accessor :feature_name
1050
+
1051
+ # The feature version specified by android:glEsVersion or android:version in in
1052
+ # the AndroidManifest.
1053
+ # Corresponds to the JSON property `featureVersion`
1054
+ # @return [Fixnum]
1055
+ attr_accessor :feature_version
1056
+
1057
+ def initialize(**args)
1058
+ update!(**args)
1059
+ end
1060
+
1061
+ # Update properties of this object
1062
+ def update!(**args)
1063
+ @feature_name = args[:feature_name] if args.key?(:feature_name)
1064
+ @feature_version = args[:feature_version] if args.key?(:feature_version)
1065
+ end
1066
+ end
1067
+
1068
+ # Targeting for a device feature.
1069
+ class DeviceFeatureTargeting
1070
+ include Google::Apis::Core::Hashable
1071
+
1072
+ # Represents a device feature.
1073
+ # Corresponds to the JSON property `requiredFeature`
1074
+ # @return [Google::Apis::AndroidpublisherV3::DeviceFeature]
1075
+ attr_accessor :required_feature
1076
+
1077
+ def initialize(**args)
1078
+ update!(**args)
1079
+ end
1080
+
1081
+ # Update properties of this object
1082
+ def update!(**args)
1083
+ @required_feature = args[:required_feature] if args.key?(:required_feature)
1084
+ end
1085
+ end
1086
+
1087
+ # A group of devices. A group is defined by a set of device selectors. A device
1088
+ # belongs to the group if it matches any selector (logical OR).
1089
+ class DeviceGroup
1090
+ include Google::Apis::Core::Hashable
1091
+
1092
+ # Device selectors for this group. A device matching any of the selectors is
1093
+ # included in this group.
1094
+ # Corresponds to the JSON property `deviceSelectors`
1095
+ # @return [Array<Google::Apis::AndroidpublisherV3::DeviceSelector>]
1096
+ attr_accessor :device_selectors
1097
+
1098
+ # The name of the group.
1099
+ # Corresponds to the JSON property `name`
1100
+ # @return [String]
1101
+ attr_accessor :name
1102
+
1103
+ def initialize(**args)
1104
+ update!(**args)
1105
+ end
1106
+
1107
+ # Update properties of this object
1108
+ def update!(**args)
1109
+ @device_selectors = args[:device_selectors] if args.key?(:device_selectors)
1110
+ @name = args[:name] if args.key?(:name)
1111
+ end
1112
+ end
1113
+
1114
+ # Identifier of a device.
1115
+ class DeviceId
1116
+ include Google::Apis::Core::Hashable
1117
+
1118
+ # Value of Build.BRAND.
1119
+ # Corresponds to the JSON property `buildBrand`
1120
+ # @return [String]
1121
+ attr_accessor :build_brand
1122
+
1123
+ # Value of Build.DEVICE.
1124
+ # Corresponds to the JSON property `buildDevice`
1125
+ # @return [String]
1126
+ attr_accessor :build_device
1127
+
1128
+ def initialize(**args)
1129
+ update!(**args)
1130
+ end
1131
+
1132
+ # Update properties of this object
1133
+ def update!(**args)
1134
+ @build_brand = args[:build_brand] if args.key?(:build_brand)
1135
+ @build_device = args[:build_device] if args.key?(:build_device)
1136
+ end
1137
+ end
1138
+
386
1139
  # Characteristics of the user's device.
387
1140
  class DeviceMetadata
388
1141
  include Google::Apis::Core::Hashable
@@ -462,6 +1215,82 @@ module Google
462
1215
  end
463
1216
  end
464
1217
 
1218
+ # Conditions about a device's RAM capabilities.
1219
+ class DeviceRam
1220
+ include Google::Apis::Core::Hashable
1221
+
1222
+ # Maximum RAM in bytes (bound excluded).
1223
+ # Corresponds to the JSON property `maxBytes`
1224
+ # @return [Fixnum]
1225
+ attr_accessor :max_bytes
1226
+
1227
+ # Minimum RAM in bytes (bound included).
1228
+ # Corresponds to the JSON property `minBytes`
1229
+ # @return [Fixnum]
1230
+ attr_accessor :min_bytes
1231
+
1232
+ def initialize(**args)
1233
+ update!(**args)
1234
+ end
1235
+
1236
+ # Update properties of this object
1237
+ def update!(**args)
1238
+ @max_bytes = args[:max_bytes] if args.key?(:max_bytes)
1239
+ @min_bytes = args[:min_bytes] if args.key?(:min_bytes)
1240
+ end
1241
+ end
1242
+
1243
+ # Selector for a device group. A selector consists of a set of conditions on the
1244
+ # device that should all match (logical AND) to determine a device group
1245
+ # eligibility. For instance, if a selector specifies RAM conditions, device
1246
+ # model inclusion and device model exclusion, a device is considered to match if:
1247
+ # device matches RAM conditions AND device matches one of the included device
1248
+ # models AND device doesn't match excluded device models
1249
+ class DeviceSelector
1250
+ include Google::Apis::Core::Hashable
1251
+
1252
+ # Conditions about a device's RAM capabilities.
1253
+ # Corresponds to the JSON property `deviceRam`
1254
+ # @return [Google::Apis::AndroidpublisherV3::DeviceRam]
1255
+ attr_accessor :device_ram
1256
+
1257
+ # Device models excluded by this selector, even if they match all other
1258
+ # conditions.
1259
+ # Corresponds to the JSON property `excludedDeviceIds`
1260
+ # @return [Array<Google::Apis::AndroidpublisherV3::DeviceId>]
1261
+ attr_accessor :excluded_device_ids
1262
+
1263
+ # A device that has any of these system features is excluded by this selector,
1264
+ # even if it matches all other conditions.
1265
+ # Corresponds to the JSON property `forbiddenSystemFeatures`
1266
+ # @return [Array<Google::Apis::AndroidpublisherV3::SystemFeature>]
1267
+ attr_accessor :forbidden_system_features
1268
+
1269
+ # Device models included by this selector.
1270
+ # Corresponds to the JSON property `includedDeviceIds`
1271
+ # @return [Array<Google::Apis::AndroidpublisherV3::DeviceId>]
1272
+ attr_accessor :included_device_ids
1273
+
1274
+ # A device needs to have all these system features to be included by the
1275
+ # selector.
1276
+ # Corresponds to the JSON property `requiredSystemFeatures`
1277
+ # @return [Array<Google::Apis::AndroidpublisherV3::SystemFeature>]
1278
+ attr_accessor :required_system_features
1279
+
1280
+ def initialize(**args)
1281
+ update!(**args)
1282
+ end
1283
+
1284
+ # Update properties of this object
1285
+ def update!(**args)
1286
+ @device_ram = args[:device_ram] if args.key?(:device_ram)
1287
+ @excluded_device_ids = args[:excluded_device_ids] if args.key?(:excluded_device_ids)
1288
+ @forbidden_system_features = args[:forbidden_system_features] if args.key?(:forbidden_system_features)
1289
+ @included_device_ids = args[:included_device_ids] if args.key?(:included_device_ids)
1290
+ @required_system_features = args[:required_system_features] if args.key?(:required_system_features)
1291
+ end
1292
+ end
1293
+
465
1294
  # The device spec used to generate a system APK.
466
1295
  class DeviceSpec
467
1296
  include Google::Apis::Core::Hashable
@@ -494,6 +1323,105 @@ module Google
494
1323
  end
495
1324
  end
496
1325
 
1326
+ # A single device tier. Devices matching any of the device groups in
1327
+ # device_group_names are considered to match the tier.
1328
+ class DeviceTier
1329
+ include Google::Apis::Core::Hashable
1330
+
1331
+ # Groups of devices included in this tier. These groups must be defined
1332
+ # explicitly under device_groups in this configuration.
1333
+ # Corresponds to the JSON property `deviceGroupNames`
1334
+ # @return [Array<String>]
1335
+ attr_accessor :device_group_names
1336
+
1337
+ # The priority level of the tier. Tiers are evaluated in descending order of
1338
+ # level: the highest level tier has the highest priority. The highest tier
1339
+ # matching a given device is selected for that device. You should use a
1340
+ # contiguous range of levels for your tiers in a tier set; tier levels in a tier
1341
+ # set must be unique. For instance, if your tier set has 4 tiers (including the
1342
+ # global fallback), you should define tiers 1, 2 and 3 in this configuration.
1343
+ # Note: tier 0 is implicitly defined as a global fallback and selected for
1344
+ # devices that don't match any of the tiers explicitly defined here. You mustn't
1345
+ # define level 0 explicitly in this configuration.
1346
+ # Corresponds to the JSON property `level`
1347
+ # @return [Fixnum]
1348
+ attr_accessor :level
1349
+
1350
+ def initialize(**args)
1351
+ update!(**args)
1352
+ end
1353
+
1354
+ # Update properties of this object
1355
+ def update!(**args)
1356
+ @device_group_names = args[:device_group_names] if args.key?(:device_group_names)
1357
+ @level = args[:level] if args.key?(:level)
1358
+ end
1359
+ end
1360
+
1361
+ # Configuration describing device targeting criteria for the content of an app.
1362
+ class DeviceTierConfig
1363
+ include Google::Apis::Core::Hashable
1364
+
1365
+ # Definition of device groups for the app.
1366
+ # Corresponds to the JSON property `deviceGroups`
1367
+ # @return [Array<Google::Apis::AndroidpublisherV3::DeviceGroup>]
1368
+ attr_accessor :device_groups
1369
+
1370
+ # Output only. The device tier config ID.
1371
+ # Corresponds to the JSON property `deviceTierConfigId`
1372
+ # @return [Fixnum]
1373
+ attr_accessor :device_tier_config_id
1374
+
1375
+ # A set of device tiers. A tier set determines what variation of app content
1376
+ # gets served to a specific device, for device-targeted content. You should
1377
+ # assign a priority level to each tier, which determines the ordering by which
1378
+ # they are evaluated by Play. See the documentation of DeviceTier.level for more
1379
+ # details.
1380
+ # Corresponds to the JSON property `deviceTierSet`
1381
+ # @return [Google::Apis::AndroidpublisherV3::DeviceTierSet]
1382
+ attr_accessor :device_tier_set
1383
+
1384
+ # Definition of user country sets for the app.
1385
+ # Corresponds to the JSON property `userCountrySets`
1386
+ # @return [Array<Google::Apis::AndroidpublisherV3::UserCountrySet>]
1387
+ attr_accessor :user_country_sets
1388
+
1389
+ def initialize(**args)
1390
+ update!(**args)
1391
+ end
1392
+
1393
+ # Update properties of this object
1394
+ def update!(**args)
1395
+ @device_groups = args[:device_groups] if args.key?(:device_groups)
1396
+ @device_tier_config_id = args[:device_tier_config_id] if args.key?(:device_tier_config_id)
1397
+ @device_tier_set = args[:device_tier_set] if args.key?(:device_tier_set)
1398
+ @user_country_sets = args[:user_country_sets] if args.key?(:user_country_sets)
1399
+ end
1400
+ end
1401
+
1402
+ # A set of device tiers. A tier set determines what variation of app content
1403
+ # gets served to a specific device, for device-targeted content. You should
1404
+ # assign a priority level to each tier, which determines the ordering by which
1405
+ # they are evaluated by Play. See the documentation of DeviceTier.level for more
1406
+ # details.
1407
+ class DeviceTierSet
1408
+ include Google::Apis::Core::Hashable
1409
+
1410
+ # Device tiers belonging to the set.
1411
+ # Corresponds to the JSON property `deviceTiers`
1412
+ # @return [Array<Google::Apis::AndroidpublisherV3::DeviceTier>]
1413
+ attr_accessor :device_tiers
1414
+
1415
+ def initialize(**args)
1416
+ update!(**args)
1417
+ end
1418
+
1419
+ # Update properties of this object
1420
+ def update!(**args)
1421
+ @device_tiers = args[:device_tiers] if args.key?(:device_tiers)
1422
+ end
1423
+ end
1424
+
497
1425
  # An expansion file. The resource for ExpansionFilesService.
498
1426
  class ExpansionFile
499
1427
  include Google::Apis::Core::Hashable
@@ -541,10 +1469,198 @@ module Google
541
1469
  end
542
1470
  end
543
1471
 
544
- # Defines an APK available for this application that is hosted externally and
545
- # not uploaded to Google Play. This function is only available to organizations
546
- # using Managed Play whose application is configured to restrict distribution to
547
- # the organizations.
1472
+ # User account identifier in the third-party service.
1473
+ class ExternalAccountIdentifiers
1474
+ include Google::Apis::Core::Hashable
1475
+
1476
+ # User account identifier in the third-party service. Only present if account
1477
+ # linking happened as part of the subscription purchase flow.
1478
+ # Corresponds to the JSON property `externalAccountId`
1479
+ # @return [String]
1480
+ attr_accessor :external_account_id
1481
+
1482
+ # An obfuscated version of the id that is uniquely associated with the user's
1483
+ # account in your app. Present for the following purchases: * If account linking
1484
+ # happened as part of the subscription purchase flow. * It was specified using
1485
+ # https://developer.android.com/reference/com/android/billingclient/api/
1486
+ # BillingFlowParams.Builder#setobfuscatedaccountid when the purchase was made.
1487
+ # Corresponds to the JSON property `obfuscatedExternalAccountId`
1488
+ # @return [String]
1489
+ attr_accessor :obfuscated_external_account_id
1490
+
1491
+ # An obfuscated version of the id that is uniquely associated with the user's
1492
+ # profile in your app. Only present if specified using https://developer.android.
1493
+ # com/reference/com/android/billingclient/api/BillingFlowParams.Builder#
1494
+ # setobfuscatedprofileid when the purchase was made.
1495
+ # Corresponds to the JSON property `obfuscatedExternalProfileId`
1496
+ # @return [String]
1497
+ attr_accessor :obfuscated_external_profile_id
1498
+
1499
+ def initialize(**args)
1500
+ update!(**args)
1501
+ end
1502
+
1503
+ # Update properties of this object
1504
+ def update!(**args)
1505
+ @external_account_id = args[:external_account_id] if args.key?(:external_account_id)
1506
+ @obfuscated_external_account_id = args[:obfuscated_external_account_id] if args.key?(:obfuscated_external_account_id)
1507
+ @obfuscated_external_profile_id = args[:obfuscated_external_profile_id] if args.key?(:obfuscated_external_profile_id)
1508
+ end
1509
+ end
1510
+
1511
+ # Details of an external subscription.
1512
+ class ExternalSubscription
1513
+ include Google::Apis::Core::Hashable
1514
+
1515
+ # Required. The type of the external subscription.
1516
+ # Corresponds to the JSON property `subscriptionType`
1517
+ # @return [String]
1518
+ attr_accessor :subscription_type
1519
+
1520
+ def initialize(**args)
1521
+ update!(**args)
1522
+ end
1523
+
1524
+ # Update properties of this object
1525
+ def update!(**args)
1526
+ @subscription_type = args[:subscription_type] if args.key?(:subscription_type)
1527
+ end
1528
+ end
1529
+
1530
+ # The details of an external transaction.
1531
+ class ExternalTransaction
1532
+ include Google::Apis::Core::Hashable
1533
+
1534
+ # Output only. The time when this transaction was created. This is the time when
1535
+ # Google was notified of the transaction.
1536
+ # Corresponds to the JSON property `createTime`
1537
+ # @return [String]
1538
+ attr_accessor :create_time
1539
+
1540
+ # Definition of a price, i.e. currency and units.
1541
+ # Corresponds to the JSON property `currentPreTaxAmount`
1542
+ # @return [Google::Apis::AndroidpublisherV3::Price]
1543
+ attr_accessor :current_pre_tax_amount
1544
+
1545
+ # Definition of a price, i.e. currency and units.
1546
+ # Corresponds to the JSON property `currentTaxAmount`
1547
+ # @return [Google::Apis::AndroidpublisherV3::Price]
1548
+ attr_accessor :current_tax_amount
1549
+
1550
+ # Output only. The id of this transaction. All transaction ids under the same
1551
+ # package name must be unique. Set when creating the external transaction.
1552
+ # Corresponds to the JSON property `externalTransactionId`
1553
+ # @return [String]
1554
+ attr_accessor :external_transaction_id
1555
+
1556
+ # Represents a one-time transaction.
1557
+ # Corresponds to the JSON property `oneTimeTransaction`
1558
+ # @return [Google::Apis::AndroidpublisherV3::OneTimeExternalTransaction]
1559
+ attr_accessor :one_time_transaction
1560
+
1561
+ # Definition of a price, i.e. currency and units.
1562
+ # Corresponds to the JSON property `originalPreTaxAmount`
1563
+ # @return [Google::Apis::AndroidpublisherV3::Price]
1564
+ attr_accessor :original_pre_tax_amount
1565
+
1566
+ # Definition of a price, i.e. currency and units.
1567
+ # Corresponds to the JSON property `originalTaxAmount`
1568
+ # @return [Google::Apis::AndroidpublisherV3::Price]
1569
+ attr_accessor :original_tax_amount
1570
+
1571
+ # Output only. The resource name of the external transaction. The package name
1572
+ # of the application the inapp products were sold (for example, 'com.some.app').
1573
+ # Corresponds to the JSON property `packageName`
1574
+ # @return [String]
1575
+ attr_accessor :package_name
1576
+
1577
+ # Represents a transaction that is part of a recurring series of payments. This
1578
+ # can be a subscription or a one-time product with multiple payments (such as
1579
+ # preorder).
1580
+ # Corresponds to the JSON property `recurringTransaction`
1581
+ # @return [Google::Apis::AndroidpublisherV3::RecurringExternalTransaction]
1582
+ attr_accessor :recurring_transaction
1583
+
1584
+ # Represents a transaction performed using a test account. These transactions
1585
+ # will not be charged by Google.
1586
+ # Corresponds to the JSON property `testPurchase`
1587
+ # @return [Google::Apis::AndroidpublisherV3::ExternalTransactionTestPurchase]
1588
+ attr_accessor :test_purchase
1589
+
1590
+ # Output only. The current state of the transaction.
1591
+ # Corresponds to the JSON property `transactionState`
1592
+ # @return [String]
1593
+ attr_accessor :transaction_state
1594
+
1595
+ # Required. The time when the transaction was completed.
1596
+ # Corresponds to the JSON property `transactionTime`
1597
+ # @return [String]
1598
+ attr_accessor :transaction_time
1599
+
1600
+ # User's address for the external transaction.
1601
+ # Corresponds to the JSON property `userTaxAddress`
1602
+ # @return [Google::Apis::AndroidpublisherV3::ExternalTransactionAddress]
1603
+ attr_accessor :user_tax_address
1604
+
1605
+ def initialize(**args)
1606
+ update!(**args)
1607
+ end
1608
+
1609
+ # Update properties of this object
1610
+ def update!(**args)
1611
+ @create_time = args[:create_time] if args.key?(:create_time)
1612
+ @current_pre_tax_amount = args[:current_pre_tax_amount] if args.key?(:current_pre_tax_amount)
1613
+ @current_tax_amount = args[:current_tax_amount] if args.key?(:current_tax_amount)
1614
+ @external_transaction_id = args[:external_transaction_id] if args.key?(:external_transaction_id)
1615
+ @one_time_transaction = args[:one_time_transaction] if args.key?(:one_time_transaction)
1616
+ @original_pre_tax_amount = args[:original_pre_tax_amount] if args.key?(:original_pre_tax_amount)
1617
+ @original_tax_amount = args[:original_tax_amount] if args.key?(:original_tax_amount)
1618
+ @package_name = args[:package_name] if args.key?(:package_name)
1619
+ @recurring_transaction = args[:recurring_transaction] if args.key?(:recurring_transaction)
1620
+ @test_purchase = args[:test_purchase] if args.key?(:test_purchase)
1621
+ @transaction_state = args[:transaction_state] if args.key?(:transaction_state)
1622
+ @transaction_time = args[:transaction_time] if args.key?(:transaction_time)
1623
+ @user_tax_address = args[:user_tax_address] if args.key?(:user_tax_address)
1624
+ end
1625
+ end
1626
+
1627
+ # User's address for the external transaction.
1628
+ class ExternalTransactionAddress
1629
+ include Google::Apis::Core::Hashable
1630
+
1631
+ # Required. Two letter region code based on ISO-3166-1 Alpha-2 (UN region codes).
1632
+ # Corresponds to the JSON property `regionCode`
1633
+ # @return [String]
1634
+ attr_accessor :region_code
1635
+
1636
+ def initialize(**args)
1637
+ update!(**args)
1638
+ end
1639
+
1640
+ # Update properties of this object
1641
+ def update!(**args)
1642
+ @region_code = args[:region_code] if args.key?(:region_code)
1643
+ end
1644
+ end
1645
+
1646
+ # Represents a transaction performed using a test account. These transactions
1647
+ # will not be charged by Google.
1648
+ class ExternalTransactionTestPurchase
1649
+ include Google::Apis::Core::Hashable
1650
+
1651
+ def initialize(**args)
1652
+ update!(**args)
1653
+ end
1654
+
1655
+ # Update properties of this object
1656
+ def update!(**args)
1657
+ end
1658
+ end
1659
+
1660
+ # Defines an APK available for this application that is hosted externally and
1661
+ # not uploaded to Google Play. This function is only available to organizations
1662
+ # using Managed Play whose application is configured to restrict distribution to
1663
+ # the organizations.
548
1664
  class ExternallyHostedApk
549
1665
  include Google::Apis::Core::Hashable
550
1666
 
@@ -648,6 +1764,246 @@ module Google
648
1764
  end
649
1765
  end
650
1766
 
1767
+ # A full refund of the remaining amount of a transaction.
1768
+ class FullRefund
1769
+ include Google::Apis::Core::Hashable
1770
+
1771
+ def initialize(**args)
1772
+ update!(**args)
1773
+ end
1774
+
1775
+ # Update properties of this object
1776
+ def update!(**args)
1777
+ end
1778
+ end
1779
+
1780
+ # Response to list generated APKs.
1781
+ class GeneratedApksListResponse
1782
+ include Google::Apis::Core::Hashable
1783
+
1784
+ # All generated APKs, grouped by the APK signing key.
1785
+ # Corresponds to the JSON property `generatedApks`
1786
+ # @return [Array<Google::Apis::AndroidpublisherV3::GeneratedApksPerSigningKey>]
1787
+ attr_accessor :generated_apks
1788
+
1789
+ def initialize(**args)
1790
+ update!(**args)
1791
+ end
1792
+
1793
+ # Update properties of this object
1794
+ def update!(**args)
1795
+ @generated_apks = args[:generated_apks] if args.key?(:generated_apks)
1796
+ end
1797
+ end
1798
+
1799
+ # Download metadata for split, standalone and universal APKs, as well as asset
1800
+ # pack slices, signed with a given key.
1801
+ class GeneratedApksPerSigningKey
1802
+ include Google::Apis::Core::Hashable
1803
+
1804
+ # SHA256 hash of the APK signing public key certificate.
1805
+ # Corresponds to the JSON property `certificateSha256Hash`
1806
+ # @return [String]
1807
+ attr_accessor :certificate_sha256_hash
1808
+
1809
+ # List of asset pack slices which will be served for this app bundle, signed
1810
+ # with a key corresponding to certificate_sha256_hash.
1811
+ # Corresponds to the JSON property `generatedAssetPackSlices`
1812
+ # @return [Array<Google::Apis::AndroidpublisherV3::GeneratedAssetPackSlice>]
1813
+ attr_accessor :generated_asset_pack_slices
1814
+
1815
+ # List of generated split APKs, signed with a key corresponding to
1816
+ # certificate_sha256_hash.
1817
+ # Corresponds to the JSON property `generatedSplitApks`
1818
+ # @return [Array<Google::Apis::AndroidpublisherV3::GeneratedSplitApk>]
1819
+ attr_accessor :generated_split_apks
1820
+
1821
+ # List of generated standalone APKs, signed with a key corresponding to
1822
+ # certificate_sha256_hash.
1823
+ # Corresponds to the JSON property `generatedStandaloneApks`
1824
+ # @return [Array<Google::Apis::AndroidpublisherV3::GeneratedStandaloneApk>]
1825
+ attr_accessor :generated_standalone_apks
1826
+
1827
+ # Download metadata for a universal APK.
1828
+ # Corresponds to the JSON property `generatedUniversalApk`
1829
+ # @return [Google::Apis::AndroidpublisherV3::GeneratedUniversalApk]
1830
+ attr_accessor :generated_universal_apk
1831
+
1832
+ # Targeting information about the generated apks.
1833
+ # Corresponds to the JSON property `targetingInfo`
1834
+ # @return [Google::Apis::AndroidpublisherV3::TargetingInfo]
1835
+ attr_accessor :targeting_info
1836
+
1837
+ def initialize(**args)
1838
+ update!(**args)
1839
+ end
1840
+
1841
+ # Update properties of this object
1842
+ def update!(**args)
1843
+ @certificate_sha256_hash = args[:certificate_sha256_hash] if args.key?(:certificate_sha256_hash)
1844
+ @generated_asset_pack_slices = args[:generated_asset_pack_slices] if args.key?(:generated_asset_pack_slices)
1845
+ @generated_split_apks = args[:generated_split_apks] if args.key?(:generated_split_apks)
1846
+ @generated_standalone_apks = args[:generated_standalone_apks] if args.key?(:generated_standalone_apks)
1847
+ @generated_universal_apk = args[:generated_universal_apk] if args.key?(:generated_universal_apk)
1848
+ @targeting_info = args[:targeting_info] if args.key?(:targeting_info)
1849
+ end
1850
+ end
1851
+
1852
+ # Download metadata for an asset pack slice.
1853
+ class GeneratedAssetPackSlice
1854
+ include Google::Apis::Core::Hashable
1855
+
1856
+ # Download ID, which uniquely identifies the APK to download. Should be supplied
1857
+ # to `generatedapks.download` method.
1858
+ # Corresponds to the JSON property `downloadId`
1859
+ # @return [String]
1860
+ attr_accessor :download_id
1861
+
1862
+ # Name of the module that this asset slice belongs to.
1863
+ # Corresponds to the JSON property `moduleName`
1864
+ # @return [String]
1865
+ attr_accessor :module_name
1866
+
1867
+ # Asset slice ID.
1868
+ # Corresponds to the JSON property `sliceId`
1869
+ # @return [String]
1870
+ attr_accessor :slice_id
1871
+
1872
+ # Asset module version.
1873
+ # Corresponds to the JSON property `version`
1874
+ # @return [Fixnum]
1875
+ attr_accessor :version
1876
+
1877
+ def initialize(**args)
1878
+ update!(**args)
1879
+ end
1880
+
1881
+ # Update properties of this object
1882
+ def update!(**args)
1883
+ @download_id = args[:download_id] if args.key?(:download_id)
1884
+ @module_name = args[:module_name] if args.key?(:module_name)
1885
+ @slice_id = args[:slice_id] if args.key?(:slice_id)
1886
+ @version = args[:version] if args.key?(:version)
1887
+ end
1888
+ end
1889
+
1890
+ # Download metadata for a split APK.
1891
+ class GeneratedSplitApk
1892
+ include Google::Apis::Core::Hashable
1893
+
1894
+ # Download ID, which uniquely identifies the APK to download. Should be supplied
1895
+ # to `generatedapks.download` method.
1896
+ # Corresponds to the JSON property `downloadId`
1897
+ # @return [String]
1898
+ attr_accessor :download_id
1899
+
1900
+ # Name of the module that this APK belongs to.
1901
+ # Corresponds to the JSON property `moduleName`
1902
+ # @return [String]
1903
+ attr_accessor :module_name
1904
+
1905
+ # Split ID. Empty for the main split of the base module.
1906
+ # Corresponds to the JSON property `splitId`
1907
+ # @return [String]
1908
+ attr_accessor :split_id
1909
+
1910
+ # ID of the generated variant.
1911
+ # Corresponds to the JSON property `variantId`
1912
+ # @return [Fixnum]
1913
+ attr_accessor :variant_id
1914
+
1915
+ def initialize(**args)
1916
+ update!(**args)
1917
+ end
1918
+
1919
+ # Update properties of this object
1920
+ def update!(**args)
1921
+ @download_id = args[:download_id] if args.key?(:download_id)
1922
+ @module_name = args[:module_name] if args.key?(:module_name)
1923
+ @split_id = args[:split_id] if args.key?(:split_id)
1924
+ @variant_id = args[:variant_id] if args.key?(:variant_id)
1925
+ end
1926
+ end
1927
+
1928
+ # Download metadata for a standalone APK.
1929
+ class GeneratedStandaloneApk
1930
+ include Google::Apis::Core::Hashable
1931
+
1932
+ # Download ID, which uniquely identifies the APK to download. Should be supplied
1933
+ # to `generatedapks.download` method.
1934
+ # Corresponds to the JSON property `downloadId`
1935
+ # @return [String]
1936
+ attr_accessor :download_id
1937
+
1938
+ # ID of the generated variant.
1939
+ # Corresponds to the JSON property `variantId`
1940
+ # @return [Fixnum]
1941
+ attr_accessor :variant_id
1942
+
1943
+ def initialize(**args)
1944
+ update!(**args)
1945
+ end
1946
+
1947
+ # Update properties of this object
1948
+ def update!(**args)
1949
+ @download_id = args[:download_id] if args.key?(:download_id)
1950
+ @variant_id = args[:variant_id] if args.key?(:variant_id)
1951
+ end
1952
+ end
1953
+
1954
+ # Download metadata for a universal APK.
1955
+ class GeneratedUniversalApk
1956
+ include Google::Apis::Core::Hashable
1957
+
1958
+ # Download ID, which uniquely identifies the APK to download. Should be supplied
1959
+ # to `generatedapks.download` method.
1960
+ # Corresponds to the JSON property `downloadId`
1961
+ # @return [String]
1962
+ attr_accessor :download_id
1963
+
1964
+ def initialize(**args)
1965
+ update!(**args)
1966
+ end
1967
+
1968
+ # Update properties of this object
1969
+ def update!(**args)
1970
+ @download_id = args[:download_id] if args.key?(:download_id)
1971
+ end
1972
+ end
1973
+
1974
+ # An access grant resource.
1975
+ class Grant
1976
+ include Google::Apis::Core::Hashable
1977
+
1978
+ # The permissions granted to the user for this app.
1979
+ # Corresponds to the JSON property `appLevelPermissions`
1980
+ # @return [Array<String>]
1981
+ attr_accessor :app_level_permissions
1982
+
1983
+ # Required. Resource name for this grant, following the pattern "developers/`
1984
+ # developer`/users/`email`/grants/`package_name`". If this grant is for a draft
1985
+ # app, the app ID will be used in this resource name instead of the package name.
1986
+ # Corresponds to the JSON property `name`
1987
+ # @return [String]
1988
+ attr_accessor :name
1989
+
1990
+ # Immutable. The package name of the app. This will be empty for draft apps.
1991
+ # Corresponds to the JSON property `packageName`
1992
+ # @return [String]
1993
+ attr_accessor :package_name
1994
+
1995
+ def initialize(**args)
1996
+ update!(**args)
1997
+ end
1998
+
1999
+ # Update properties of this object
2000
+ def update!(**args)
2001
+ @app_level_permissions = args[:app_level_permissions] if args.key?(:app_level_permissions)
2002
+ @name = args[:name] if args.key?(:name)
2003
+ @package_name = args[:package_name] if args.key?(:package_name)
2004
+ end
2005
+ end
2006
+
651
2007
  # An uploaded image. The resource for ImagesService.
652
2008
  class Image
653
2009
  include Google::Apis::Core::Hashable
@@ -770,6 +2126,11 @@ module Google
770
2126
  # @return [Hash<String,Google::Apis::AndroidpublisherV3::InAppProductListing>]
771
2127
  attr_accessor :listings
772
2128
 
2129
+ # Details about taxation and legal compliance for managed products.
2130
+ # Corresponds to the JSON property `managedProductTaxesAndComplianceSettings`
2131
+ # @return [Google::Apis::AndroidpublisherV3::ManagedProductTaxAndComplianceSettings]
2132
+ attr_accessor :managed_product_taxes_and_compliance_settings
2133
+
773
2134
  # Package name of the parent app.
774
2135
  # Corresponds to the JSON property `packageName`
775
2136
  # @return [String]
@@ -803,6 +2164,12 @@ module Google
803
2164
  # @return [String]
804
2165
  attr_accessor :subscription_period
805
2166
 
2167
+ # Details about taxation, Google Play policy and legal compliance for
2168
+ # subscription products.
2169
+ # Corresponds to the JSON property `subscriptionTaxesAndComplianceSettings`
2170
+ # @return [Google::Apis::AndroidpublisherV3::SubscriptionTaxAndComplianceSettings]
2171
+ attr_accessor :subscription_taxes_and_compliance_settings
2172
+
806
2173
  # Trial period, specified in ISO 8601 format. Acceptable values are anything
807
2174
  # between P7D (seven days) and P999D (999 days).
808
2175
  # Corresponds to the JSON property `trialPeriod`
@@ -819,12 +2186,14 @@ module Google
819
2186
  @default_price = args[:default_price] if args.key?(:default_price)
820
2187
  @grace_period = args[:grace_period] if args.key?(:grace_period)
821
2188
  @listings = args[:listings] if args.key?(:listings)
2189
+ @managed_product_taxes_and_compliance_settings = args[:managed_product_taxes_and_compliance_settings] if args.key?(:managed_product_taxes_and_compliance_settings)
822
2190
  @package_name = args[:package_name] if args.key?(:package_name)
823
2191
  @prices = args[:prices] if args.key?(:prices)
824
2192
  @purchase_type = args[:purchase_type] if args.key?(:purchase_type)
825
2193
  @sku = args[:sku] if args.key?(:sku)
826
2194
  @status = args[:status] if args.key?(:status)
827
2195
  @subscription_period = args[:subscription_period] if args.key?(:subscription_period)
2196
+ @subscription_taxes_and_compliance_settings = args[:subscription_taxes_and_compliance_settings] if args.key?(:subscription_taxes_and_compliance_settings)
828
2197
  @trial_period = args[:trial_period] if args.key?(:trial_period)
829
2198
  end
830
2199
  end
@@ -984,12 +2353,141 @@ module Google
984
2353
  end
985
2354
  end
986
2355
 
987
- # A localized store listing. The resource for ListingsService.
988
- class Listing
2356
+ # Targeting based on language.
2357
+ class LanguageTargeting
989
2358
  include Google::Apis::Core::Hashable
990
2359
 
991
- # Full description of the app.
992
- # Corresponds to the JSON property `fullDescription`
2360
+ # Alternative languages.
2361
+ # Corresponds to the JSON property `alternatives`
2362
+ # @return [Array<String>]
2363
+ attr_accessor :alternatives
2364
+
2365
+ # ISO-639: 2 or 3 letter language code.
2366
+ # Corresponds to the JSON property `value`
2367
+ # @return [Array<String>]
2368
+ attr_accessor :value
2369
+
2370
+ def initialize(**args)
2371
+ update!(**args)
2372
+ end
2373
+
2374
+ # Update properties of this object
2375
+ def update!(**args)
2376
+ @alternatives = args[:alternatives] if args.key?(:alternatives)
2377
+ @value = args[:value] if args.key?(:value)
2378
+ end
2379
+ end
2380
+
2381
+ # Response listing existing device tier configs.
2382
+ class ListDeviceTierConfigsResponse
2383
+ include Google::Apis::Core::Hashable
2384
+
2385
+ # Device tier configs created by the developer.
2386
+ # Corresponds to the JSON property `deviceTierConfigs`
2387
+ # @return [Array<Google::Apis::AndroidpublisherV3::DeviceTierConfig>]
2388
+ attr_accessor :device_tier_configs
2389
+
2390
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2391
+ # field is omitted, there are no subsequent pages.
2392
+ # Corresponds to the JSON property `nextPageToken`
2393
+ # @return [String]
2394
+ attr_accessor :next_page_token
2395
+
2396
+ def initialize(**args)
2397
+ update!(**args)
2398
+ end
2399
+
2400
+ # Update properties of this object
2401
+ def update!(**args)
2402
+ @device_tier_configs = args[:device_tier_configs] if args.key?(:device_tier_configs)
2403
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2404
+ end
2405
+ end
2406
+
2407
+ # Response message for ListSubscriptionOffers.
2408
+ class ListSubscriptionOffersResponse
2409
+ include Google::Apis::Core::Hashable
2410
+
2411
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2412
+ # field is omitted, there are no subsequent pages.
2413
+ # Corresponds to the JSON property `nextPageToken`
2414
+ # @return [String]
2415
+ attr_accessor :next_page_token
2416
+
2417
+ # The subscription offers from the specified subscription.
2418
+ # Corresponds to the JSON property `subscriptionOffers`
2419
+ # @return [Array<Google::Apis::AndroidpublisherV3::SubscriptionOffer>]
2420
+ attr_accessor :subscription_offers
2421
+
2422
+ def initialize(**args)
2423
+ update!(**args)
2424
+ end
2425
+
2426
+ # Update properties of this object
2427
+ def update!(**args)
2428
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2429
+ @subscription_offers = args[:subscription_offers] if args.key?(:subscription_offers)
2430
+ end
2431
+ end
2432
+
2433
+ # Response message for ListSubscriptions.
2434
+ class ListSubscriptionsResponse
2435
+ include Google::Apis::Core::Hashable
2436
+
2437
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2438
+ # field is omitted, there are no subsequent pages.
2439
+ # Corresponds to the JSON property `nextPageToken`
2440
+ # @return [String]
2441
+ attr_accessor :next_page_token
2442
+
2443
+ # The subscriptions from the specified app.
2444
+ # Corresponds to the JSON property `subscriptions`
2445
+ # @return [Array<Google::Apis::AndroidpublisherV3::Subscription>]
2446
+ attr_accessor :subscriptions
2447
+
2448
+ def initialize(**args)
2449
+ update!(**args)
2450
+ end
2451
+
2452
+ # Update properties of this object
2453
+ def update!(**args)
2454
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2455
+ @subscriptions = args[:subscriptions] if args.key?(:subscriptions)
2456
+ end
2457
+ end
2458
+
2459
+ # A response containing one or more users with access to an account.
2460
+ class ListUsersResponse
2461
+ include Google::Apis::Core::Hashable
2462
+
2463
+ # A token to pass to subsequent calls in order to retrieve subsequent results.
2464
+ # This will not be set if there are no more results to return.
2465
+ # Corresponds to the JSON property `nextPageToken`
2466
+ # @return [String]
2467
+ attr_accessor :next_page_token
2468
+
2469
+ # The resulting users.
2470
+ # Corresponds to the JSON property `users`
2471
+ # @return [Array<Google::Apis::AndroidpublisherV3::User>]
2472
+ attr_accessor :users
2473
+
2474
+ def initialize(**args)
2475
+ update!(**args)
2476
+ end
2477
+
2478
+ # Update properties of this object
2479
+ def update!(**args)
2480
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2481
+ @users = args[:users] if args.key?(:users)
2482
+ end
2483
+ end
2484
+
2485
+ # A localized store listing. The resource for ListingsService.
2486
+ class Listing
2487
+ include Google::Apis::Core::Hashable
2488
+
2489
+ # Full description of the app.
2490
+ # Corresponds to the JSON property `fullDescription`
993
2491
  # @return [String]
994
2492
  attr_accessor :full_description
995
2493
 
@@ -1053,7 +2551,7 @@ module Google
1053
2551
  end
1054
2552
  end
1055
2553
 
1056
- # Release notes specification, i.e. language and text.
2554
+ # Localized text in given language.
1057
2555
  class LocalizedText
1058
2556
  include Google::Apis::Core::Hashable
1059
2557
 
@@ -1079,28 +2577,31 @@ module Google
1079
2577
  end
1080
2578
  end
1081
2579
 
1082
- # Information about the current page. List operations that supports paging
1083
- # return only one "page" of results. This protocol buffer message describes the
1084
- # page that has been returned.
1085
- class PageInfo
2580
+ # Details about taxation and legal compliance for managed products.
2581
+ class ManagedProductTaxAndComplianceSettings
1086
2582
  include Google::Apis::Core::Hashable
1087
2583
 
1088
- # Maximum number of results returned in one page. ! The number of results
1089
- # included in the API response.
1090
- # Corresponds to the JSON property `resultPerPage`
1091
- # @return [Fixnum]
1092
- attr_accessor :result_per_page
2584
+ # Digital content or service classification for products distributed to users in
2585
+ # the European Economic Area (EEA). The withdrawal regime under EEA consumer
2586
+ # laws depends on this classification. Refer to the [Help Center article](https:/
2587
+ # /support.google.com/googleplay/android-developer/answer/10463498) for more
2588
+ # information.
2589
+ # Corresponds to the JSON property `eeaWithdrawalRightType`
2590
+ # @return [String]
2591
+ attr_accessor :eea_withdrawal_right_type
1093
2592
 
1094
- # Index of the first result returned in the current page.
1095
- # Corresponds to the JSON property `startIndex`
1096
- # @return [Fixnum]
1097
- attr_accessor :start_index
2593
+ # Whether this in-app product is declared as a product representing a tokenized
2594
+ # digital asset.
2595
+ # Corresponds to the JSON property `isTokenizedDigitalAsset`
2596
+ # @return [Boolean]
2597
+ attr_accessor :is_tokenized_digital_asset
2598
+ alias_method :is_tokenized_digital_asset?, :is_tokenized_digital_asset
1098
2599
 
1099
- # Total number of results available on the backend ! The total number of results
1100
- # in the result set.
1101
- # Corresponds to the JSON property `totalResults`
1102
- # @return [Fixnum]
1103
- attr_accessor :total_results
2600
+ # A mapping from region code to tax rate details. The keys are region codes as
2601
+ # defined by Unicode's "CLDR".
2602
+ # Corresponds to the JSON property `taxRateInfoByRegionCode`
2603
+ # @return [Hash<String,Google::Apis::AndroidpublisherV3::RegionalTaxRateInfo>]
2604
+ attr_accessor :tax_rate_info_by_region_code
1104
2605
 
1105
2606
  def initialize(**args)
1106
2607
  update!(**args)
@@ -1108,26 +2609,29 @@ module Google
1108
2609
 
1109
2610
  # Update properties of this object
1110
2611
  def update!(**args)
1111
- @result_per_page = args[:result_per_page] if args.key?(:result_per_page)
1112
- @start_index = args[:start_index] if args.key?(:start_index)
1113
- @total_results = args[:total_results] if args.key?(:total_results)
2612
+ @eea_withdrawal_right_type = args[:eea_withdrawal_right_type] if args.key?(:eea_withdrawal_right_type)
2613
+ @is_tokenized_digital_asset = args[:is_tokenized_digital_asset] if args.key?(:is_tokenized_digital_asset)
2614
+ @tax_rate_info_by_region_code = args[:tax_rate_info_by_region_code] if args.key?(:tax_rate_info_by_region_code)
1114
2615
  end
1115
2616
  end
1116
2617
 
1117
- # Definition of a price, i.e. currency and units.
1118
- class Price
2618
+ # Request message for MigrateBasePlanPrices.
2619
+ class MigrateBasePlanPricesRequest
1119
2620
  include Google::Apis::Core::Hashable
1120
2621
 
1121
- # 3 letter Currency code, as defined by ISO 4217. See java/com/google/common/
1122
- # money/CurrencyCode.java
1123
- # Corresponds to the JSON property `currency`
1124
- # @return [String]
1125
- attr_accessor :currency
2622
+ # Required. The regional prices to update.
2623
+ # Corresponds to the JSON property `regionalPriceMigrations`
2624
+ # @return [Array<Google::Apis::AndroidpublisherV3::RegionalPriceMigrationConfig>]
2625
+ attr_accessor :regional_price_migrations
1126
2626
 
1127
- # Price in 1/million of the currency base unit, represented as a string.
1128
- # Corresponds to the JSON property `priceMicros`
1129
- # @return [String]
1130
- attr_accessor :price_micros
2627
+ # The version of the available regions being used for the specified resource. A
2628
+ # string representing the version of available regions being used for the
2629
+ # specified resource. Regional prices for the resource have to be specified
2630
+ # according to the information published in [this article](https://support.
2631
+ # google.com/googleplay/android-developer/answer/10532353).
2632
+ # Corresponds to the JSON property `regionsVersion`
2633
+ # @return [Google::Apis::AndroidpublisherV3::RegionsVersion]
2634
+ attr_accessor :regions_version
1131
2635
 
1132
2636
  def initialize(**args)
1133
2637
  update!(**args)
@@ -1135,101 +2639,53 @@ module Google
1135
2639
 
1136
2640
  # Update properties of this object
1137
2641
  def update!(**args)
1138
- @currency = args[:currency] if args.key?(:currency)
1139
- @price_micros = args[:price_micros] if args.key?(:price_micros)
2642
+ @regional_price_migrations = args[:regional_price_migrations] if args.key?(:regional_price_migrations)
2643
+ @regions_version = args[:regions_version] if args.key?(:regions_version)
1140
2644
  end
1141
2645
  end
1142
2646
 
1143
- # A ProductPurchase resource indicates the status of a user's inapp product
1144
- # purchase.
1145
- class ProductPurchase
2647
+ # Response message for MigrateBasePlanPrices.
2648
+ class MigrateBasePlanPricesResponse
1146
2649
  include Google::Apis::Core::Hashable
1147
2650
 
1148
- # The acknowledgement state of the inapp product. Possible values are: 0. Yet to
1149
- # be acknowledged 1. Acknowledged
1150
- # Corresponds to the JSON property `acknowledgementState`
1151
- # @return [Fixnum]
1152
- attr_accessor :acknowledgement_state
1153
-
1154
- # The consumption state of the inapp product. Possible values are: 0. Yet to be
1155
- # consumed 1. Consumed
1156
- # Corresponds to the JSON property `consumptionState`
1157
- # @return [Fixnum]
1158
- attr_accessor :consumption_state
1159
-
1160
- # A developer-specified string that contains supplemental information about an
1161
- # order.
1162
- # Corresponds to the JSON property `developerPayload`
1163
- # @return [String]
1164
- attr_accessor :developer_payload
2651
+ def initialize(**args)
2652
+ update!(**args)
2653
+ end
1165
2654
 
1166
- # This kind represents an inappPurchase object in the androidpublisher service.
1167
- # Corresponds to the JSON property `kind`
1168
- # @return [String]
1169
- attr_accessor :kind
2655
+ # Update properties of this object
2656
+ def update!(**args)
2657
+ end
2658
+ end
1170
2659
 
1171
- # An obfuscated version of the id that is uniquely associated with the user's
1172
- # account in your app. Only present if specified using https://developer.android.
1173
- # com/reference/com/android/billingclient/api/BillingFlowParams.Builder#
1174
- # setobfuscatedaccountid when the purchase was made.
1175
- # Corresponds to the JSON property `obfuscatedExternalAccountId`
1176
- # @return [String]
1177
- attr_accessor :obfuscated_external_account_id
2660
+ # Metadata of a module.
2661
+ class ModuleMetadata
2662
+ include Google::Apis::Core::Hashable
1178
2663
 
1179
- # An obfuscated version of the id that is uniquely associated with the user's
1180
- # profile in your app. Only present if specified using https://developer.android.
1181
- # com/reference/com/android/billingclient/api/BillingFlowParams.Builder#
1182
- # setobfuscatedprofileid when the purchase was made.
1183
- # Corresponds to the JSON property `obfuscatedExternalProfileId`
2664
+ # Indicates the delivery type (e.g. on-demand) of the module.
2665
+ # Corresponds to the JSON property `deliveryType`
1184
2666
  # @return [String]
1185
- attr_accessor :obfuscated_external_profile_id
2667
+ attr_accessor :delivery_type
1186
2668
 
1187
- # The order id associated with the purchase of the inapp product.
1188
- # Corresponds to the JSON property `orderId`
1189
- # @return [String]
1190
- attr_accessor :order_id
2669
+ # Names of the modules that this module directly depends on. Each module
2670
+ # implicitly depends on the base module.
2671
+ # Corresponds to the JSON property `dependencies`
2672
+ # @return [Array<String>]
2673
+ attr_accessor :dependencies
1191
2674
 
1192
- # The inapp product SKU.
1193
- # Corresponds to the JSON property `productId`
2675
+ # Indicates the type of this feature module.
2676
+ # Corresponds to the JSON property `moduleType`
1194
2677
  # @return [String]
1195
- attr_accessor :product_id
1196
-
1197
- # The purchase state of the order. Possible values are: 0. Purchased 1. Canceled
1198
- # 2. Pending
1199
- # Corresponds to the JSON property `purchaseState`
1200
- # @return [Fixnum]
1201
- attr_accessor :purchase_state
1202
-
1203
- # The time the product was purchased, in milliseconds since the epoch (Jan 1,
1204
- # 1970).
1205
- # Corresponds to the JSON property `purchaseTimeMillis`
1206
- # @return [Fixnum]
1207
- attr_accessor :purchase_time_millis
2678
+ attr_accessor :module_type
1208
2679
 
1209
- # The purchase token generated to identify this purchase.
1210
- # Corresponds to the JSON property `purchaseToken`
2680
+ # Module name.
2681
+ # Corresponds to the JSON property `name`
1211
2682
  # @return [String]
1212
- attr_accessor :purchase_token
1213
-
1214
- # The type of purchase of the inapp product. This field is only set if this
1215
- # purchase was not made using the standard in-app billing flow. Possible values
1216
- # are: 0. Test (i.e. purchased from a license testing account) 1. Promo (i.e.
1217
- # purchased using a promo code) 2. Rewarded (i.e. from watching a video ad
1218
- # instead of paying)
1219
- # Corresponds to the JSON property `purchaseType`
1220
- # @return [Fixnum]
1221
- attr_accessor :purchase_type
1222
-
1223
- # The quantity associated with the purchase of the inapp product.
1224
- # Corresponds to the JSON property `quantity`
1225
- # @return [Fixnum]
1226
- attr_accessor :quantity
2683
+ attr_accessor :name
1227
2684
 
1228
- # ISO 3166-1 alpha-2 billing region code of the user at the time the product was
1229
- # granted.
1230
- # Corresponds to the JSON property `regionCode`
1231
- # @return [String]
1232
- attr_accessor :region_code
2685
+ # Targeting on the module level.
2686
+ # Corresponds to the JSON property `targeting`
2687
+ # @return [Google::Apis::AndroidpublisherV3::ModuleTargeting]
2688
+ attr_accessor :targeting
1233
2689
 
1234
2690
  def initialize(**args)
1235
2691
  update!(**args)
@@ -1237,31 +2693,32 @@ module Google
1237
2693
 
1238
2694
  # Update properties of this object
1239
2695
  def update!(**args)
1240
- @acknowledgement_state = args[:acknowledgement_state] if args.key?(:acknowledgement_state)
1241
- @consumption_state = args[:consumption_state] if args.key?(:consumption_state)
1242
- @developer_payload = args[:developer_payload] if args.key?(:developer_payload)
1243
- @kind = args[:kind] if args.key?(:kind)
1244
- @obfuscated_external_account_id = args[:obfuscated_external_account_id] if args.key?(:obfuscated_external_account_id)
1245
- @obfuscated_external_profile_id = args[:obfuscated_external_profile_id] if args.key?(:obfuscated_external_profile_id)
1246
- @order_id = args[:order_id] if args.key?(:order_id)
1247
- @product_id = args[:product_id] if args.key?(:product_id)
1248
- @purchase_state = args[:purchase_state] if args.key?(:purchase_state)
1249
- @purchase_time_millis = args[:purchase_time_millis] if args.key?(:purchase_time_millis)
1250
- @purchase_token = args[:purchase_token] if args.key?(:purchase_token)
1251
- @purchase_type = args[:purchase_type] if args.key?(:purchase_type)
1252
- @quantity = args[:quantity] if args.key?(:quantity)
1253
- @region_code = args[:region_code] if args.key?(:region_code)
2696
+ @delivery_type = args[:delivery_type] if args.key?(:delivery_type)
2697
+ @dependencies = args[:dependencies] if args.key?(:dependencies)
2698
+ @module_type = args[:module_type] if args.key?(:module_type)
2699
+ @name = args[:name] if args.key?(:name)
2700
+ @targeting = args[:targeting] if args.key?(:targeting)
1254
2701
  end
1255
2702
  end
1256
2703
 
1257
- # Request for the product.purchases.acknowledge API.
1258
- class ProductPurchasesAcknowledgeRequest
2704
+ # Targeting on the module level.
2705
+ class ModuleTargeting
1259
2706
  include Google::Apis::Core::Hashable
1260
2707
 
1261
- # Payload to attach to the purchase.
1262
- # Corresponds to the JSON property `developerPayload`
1263
- # @return [String]
1264
- attr_accessor :developer_payload
2708
+ # Targeting for device features.
2709
+ # Corresponds to the JSON property `deviceFeatureTargeting`
2710
+ # @return [Array<Google::Apis::AndroidpublisherV3::DeviceFeatureTargeting>]
2711
+ attr_accessor :device_feature_targeting
2712
+
2713
+ # Targeting based on sdk version.
2714
+ # Corresponds to the JSON property `sdkVersionTargeting`
2715
+ # @return [Google::Apis::AndroidpublisherV3::SdkVersionTargeting]
2716
+ attr_accessor :sdk_version_targeting
2717
+
2718
+ # Describes an inclusive/exclusive list of country codes that module targets.
2719
+ # Corresponds to the JSON property `userCountriesTargeting`
2720
+ # @return [Google::Apis::AndroidpublisherV3::UserCountriesTargeting]
2721
+ attr_accessor :user_countries_targeting
1265
2722
 
1266
2723
  def initialize(**args)
1267
2724
  update!(**args)
@@ -1269,28 +2726,35 @@ module Google
1269
2726
 
1270
2727
  # Update properties of this object
1271
2728
  def update!(**args)
1272
- @developer_payload = args[:developer_payload] if args.key?(:developer_payload)
2729
+ @device_feature_targeting = args[:device_feature_targeting] if args.key?(:device_feature_targeting)
2730
+ @sdk_version_targeting = args[:sdk_version_targeting] if args.key?(:sdk_version_targeting)
2731
+ @user_countries_targeting = args[:user_countries_targeting] if args.key?(:user_countries_targeting)
1273
2732
  end
1274
2733
  end
1275
2734
 
1276
- # An Android app review.
1277
- class Review
2735
+ # Represents an amount of money with its currency type.
2736
+ class Money
1278
2737
  include Google::Apis::Core::Hashable
1279
2738
 
1280
- # The name of the user who wrote the review.
1281
- # Corresponds to the JSON property `authorName`
2739
+ # The three-letter currency code defined in ISO 4217.
2740
+ # Corresponds to the JSON property `currencyCode`
1282
2741
  # @return [String]
1283
- attr_accessor :author_name
2742
+ attr_accessor :currency_code
1284
2743
 
1285
- # A repeated field containing comments for the review.
1286
- # Corresponds to the JSON property `comments`
1287
- # @return [Array<Google::Apis::AndroidpublisherV3::Comment>]
1288
- attr_accessor :comments
2744
+ # Number of nano (10^-9) units of the amount. The value must be between -999,999,
2745
+ # 999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be
2746
+ # positive or zero. If `units` is zero, `nanos` can be positive, zero, or
2747
+ # negative. If `units` is negative, `nanos` must be negative or zero. For
2748
+ # example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
2749
+ # Corresponds to the JSON property `nanos`
2750
+ # @return [Fixnum]
2751
+ attr_accessor :nanos
1289
2752
 
1290
- # Unique identifier for this review.
1291
- # Corresponds to the JSON property `reviewId`
1292
- # @return [String]
1293
- attr_accessor :review_id
2753
+ # The whole units of the amount. For example if `currencyCode` is `"USD"`, then
2754
+ # 1 unit is one US dollar.
2755
+ # Corresponds to the JSON property `units`
2756
+ # @return [Fixnum]
2757
+ attr_accessor :units
1294
2758
 
1295
2759
  def initialize(**args)
1296
2760
  update!(**args)
@@ -1298,14 +2762,862 @@ module Google
1298
2762
 
1299
2763
  # Update properties of this object
1300
2764
  def update!(**args)
1301
- @author_name = args[:author_name] if args.key?(:author_name)
1302
- @comments = args[:comments] if args.key?(:comments)
1303
- @review_id = args[:review_id] if args.key?(:review_id)
2765
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
2766
+ @nanos = args[:nanos] if args.key?(:nanos)
2767
+ @units = args[:units] if args.key?(:units)
1304
2768
  end
1305
2769
  end
1306
2770
 
1307
- # The result of replying/updating a reply to review.
1308
- class ReviewReplyResult
2771
+ # Represents a list of apis.
2772
+ class MultiAbi
2773
+ include Google::Apis::Core::Hashable
2774
+
2775
+ # A list of targeted ABIs, as represented by the Android Platform
2776
+ # Corresponds to the JSON property `abi`
2777
+ # @return [Array<Google::Apis::AndroidpublisherV3::Abi>]
2778
+ attr_accessor :abi
2779
+
2780
+ def initialize(**args)
2781
+ update!(**args)
2782
+ end
2783
+
2784
+ # Update properties of this object
2785
+ def update!(**args)
2786
+ @abi = args[:abi] if args.key?(:abi)
2787
+ end
2788
+ end
2789
+
2790
+ # Targeting based on multiple abis.
2791
+ class MultiAbiTargeting
2792
+ include Google::Apis::Core::Hashable
2793
+
2794
+ # Targeting of other sibling directories that were in the Bundle. For main
2795
+ # splits this is targeting of other main splits.
2796
+ # Corresponds to the JSON property `alternatives`
2797
+ # @return [Array<Google::Apis::AndroidpublisherV3::MultiAbi>]
2798
+ attr_accessor :alternatives
2799
+
2800
+ # Value of a multi abi.
2801
+ # Corresponds to the JSON property `value`
2802
+ # @return [Array<Google::Apis::AndroidpublisherV3::MultiAbi>]
2803
+ attr_accessor :value
2804
+
2805
+ def initialize(**args)
2806
+ update!(**args)
2807
+ end
2808
+
2809
+ # Update properties of this object
2810
+ def update!(**args)
2811
+ @alternatives = args[:alternatives] if args.key?(:alternatives)
2812
+ @value = args[:value] if args.key?(:value)
2813
+ end
2814
+ end
2815
+
2816
+ # Offer details information related to a purchase line item.
2817
+ class OfferDetails
2818
+ include Google::Apis::Core::Hashable
2819
+
2820
+ # The base plan ID. Present for all base plan and offers.
2821
+ # Corresponds to the JSON property `basePlanId`
2822
+ # @return [String]
2823
+ attr_accessor :base_plan_id
2824
+
2825
+ # The offer ID. Only present for discounted offers.
2826
+ # Corresponds to the JSON property `offerId`
2827
+ # @return [String]
2828
+ attr_accessor :offer_id
2829
+
2830
+ # The latest offer tags associated with the offer. It includes tags inherited
2831
+ # from the base plan.
2832
+ # Corresponds to the JSON property `offerTags`
2833
+ # @return [Array<String>]
2834
+ attr_accessor :offer_tags
2835
+
2836
+ def initialize(**args)
2837
+ update!(**args)
2838
+ end
2839
+
2840
+ # Update properties of this object
2841
+ def update!(**args)
2842
+ @base_plan_id = args[:base_plan_id] if args.key?(:base_plan_id)
2843
+ @offer_id = args[:offer_id] if args.key?(:offer_id)
2844
+ @offer_tags = args[:offer_tags] if args.key?(:offer_tags)
2845
+ end
2846
+ end
2847
+
2848
+ # Represents a custom tag specified for base plans and subscription offers.
2849
+ class OfferTag
2850
+ include Google::Apis::Core::Hashable
2851
+
2852
+ # Must conform with RFC-1034. That is, this string can only contain lower-case
2853
+ # letters (a-z), numbers (0-9), and hyphens (-), and be at most 20 characters.
2854
+ # Corresponds to the JSON property `tag`
2855
+ # @return [String]
2856
+ attr_accessor :tag
2857
+
2858
+ def initialize(**args)
2859
+ update!(**args)
2860
+ end
2861
+
2862
+ # Update properties of this object
2863
+ def update!(**args)
2864
+ @tag = args[:tag] if args.key?(:tag)
2865
+ end
2866
+ end
2867
+
2868
+ # Represents a one-time transaction.
2869
+ class OneTimeExternalTransaction
2870
+ include Google::Apis::Core::Hashable
2871
+
2872
+ # Input only. Provided during the call to Create. Retrieved from the client when
2873
+ # the alternative billing flow is launched.
2874
+ # Corresponds to the JSON property `externalTransactionToken`
2875
+ # @return [String]
2876
+ attr_accessor :external_transaction_token
2877
+
2878
+ def initialize(**args)
2879
+ update!(**args)
2880
+ end
2881
+
2882
+ # Update properties of this object
2883
+ def update!(**args)
2884
+ @external_transaction_token = args[:external_transaction_token] if args.key?(:external_transaction_token)
2885
+ end
2886
+ end
2887
+
2888
+ # Pricing information for any new locations Play may launch in.
2889
+ class OtherRegionsBasePlanConfig
2890
+ include Google::Apis::Core::Hashable
2891
+
2892
+ # Represents an amount of money with its currency type.
2893
+ # Corresponds to the JSON property `eurPrice`
2894
+ # @return [Google::Apis::AndroidpublisherV3::Money]
2895
+ attr_accessor :eur_price
2896
+
2897
+ # Whether the base plan is available for new subscribers in any new locations
2898
+ # Play may launch in. If not specified, this will default to false.
2899
+ # Corresponds to the JSON property `newSubscriberAvailability`
2900
+ # @return [Boolean]
2901
+ attr_accessor :new_subscriber_availability
2902
+ alias_method :new_subscriber_availability?, :new_subscriber_availability
2903
+
2904
+ # Represents an amount of money with its currency type.
2905
+ # Corresponds to the JSON property `usdPrice`
2906
+ # @return [Google::Apis::AndroidpublisherV3::Money]
2907
+ attr_accessor :usd_price
2908
+
2909
+ def initialize(**args)
2910
+ update!(**args)
2911
+ end
2912
+
2913
+ # Update properties of this object
2914
+ def update!(**args)
2915
+ @eur_price = args[:eur_price] if args.key?(:eur_price)
2916
+ @new_subscriber_availability = args[:new_subscriber_availability] if args.key?(:new_subscriber_availability)
2917
+ @usd_price = args[:usd_price] if args.key?(:usd_price)
2918
+ end
2919
+ end
2920
+
2921
+ # Configuration for any new locations Play may launch in specified on a
2922
+ # subscription offer.
2923
+ class OtherRegionsSubscriptionOfferConfig
2924
+ include Google::Apis::Core::Hashable
2925
+
2926
+ # Whether the subscription offer in any new locations Play may launch in the
2927
+ # future. If not specified, this will default to false.
2928
+ # Corresponds to the JSON property `otherRegionsNewSubscriberAvailability`
2929
+ # @return [Boolean]
2930
+ attr_accessor :other_regions_new_subscriber_availability
2931
+ alias_method :other_regions_new_subscriber_availability?, :other_regions_new_subscriber_availability
2932
+
2933
+ def initialize(**args)
2934
+ update!(**args)
2935
+ end
2936
+
2937
+ # Update properties of this object
2938
+ def update!(**args)
2939
+ @other_regions_new_subscriber_availability = args[:other_regions_new_subscriber_availability] if args.key?(:other_regions_new_subscriber_availability)
2940
+ end
2941
+ end
2942
+
2943
+ # Configuration for any new locations Play may launch in for a single offer
2944
+ # phase.
2945
+ class OtherRegionsSubscriptionOfferPhaseConfig
2946
+ include Google::Apis::Core::Hashable
2947
+
2948
+ # Pricing information for any new locations Play may launch in.
2949
+ # Corresponds to the JSON property `absoluteDiscounts`
2950
+ # @return [Google::Apis::AndroidpublisherV3::OtherRegionsSubscriptionOfferPhasePrices]
2951
+ attr_accessor :absolute_discounts
2952
+
2953
+ # Pricing information for any new locations Play may launch in.
2954
+ # Corresponds to the JSON property `otherRegionsPrices`
2955
+ # @return [Google::Apis::AndroidpublisherV3::OtherRegionsSubscriptionOfferPhasePrices]
2956
+ attr_accessor :other_regions_prices
2957
+
2958
+ # The fraction of the base plan price prorated over the phase duration that the
2959
+ # user pays for this offer phase. For example, if the base plan price for this
2960
+ # region is $12 for a period of 1 year, then a 50% discount for a phase of a
2961
+ # duration of 3 months would correspond to a price of $1.50. The discount must
2962
+ # be specified as a fraction strictly larger than 0 and strictly smaller than 1.
2963
+ # The resulting price will be rounded to the nearest billable unit (e.g. cents
2964
+ # for USD). The relative discount is considered invalid if the discounted price
2965
+ # ends up being smaller than the minimum price allowed in any new locations Play
2966
+ # may launch in.
2967
+ # Corresponds to the JSON property `relativeDiscount`
2968
+ # @return [Float]
2969
+ attr_accessor :relative_discount
2970
+
2971
+ def initialize(**args)
2972
+ update!(**args)
2973
+ end
2974
+
2975
+ # Update properties of this object
2976
+ def update!(**args)
2977
+ @absolute_discounts = args[:absolute_discounts] if args.key?(:absolute_discounts)
2978
+ @other_regions_prices = args[:other_regions_prices] if args.key?(:other_regions_prices)
2979
+ @relative_discount = args[:relative_discount] if args.key?(:relative_discount)
2980
+ end
2981
+ end
2982
+
2983
+ # Pricing information for any new locations Play may launch in.
2984
+ class OtherRegionsSubscriptionOfferPhasePrices
2985
+ include Google::Apis::Core::Hashable
2986
+
2987
+ # Represents an amount of money with its currency type.
2988
+ # Corresponds to the JSON property `eurPrice`
2989
+ # @return [Google::Apis::AndroidpublisherV3::Money]
2990
+ attr_accessor :eur_price
2991
+
2992
+ # Represents an amount of money with its currency type.
2993
+ # Corresponds to the JSON property `usdPrice`
2994
+ # @return [Google::Apis::AndroidpublisherV3::Money]
2995
+ attr_accessor :usd_price
2996
+
2997
+ def initialize(**args)
2998
+ update!(**args)
2999
+ end
3000
+
3001
+ # Update properties of this object
3002
+ def update!(**args)
3003
+ @eur_price = args[:eur_price] if args.key?(:eur_price)
3004
+ @usd_price = args[:usd_price] if args.key?(:usd_price)
3005
+ end
3006
+ end
3007
+
3008
+ # Information about the current page. List operations that supports paging
3009
+ # return only one "page" of results. This protocol buffer message describes the
3010
+ # page that has been returned.
3011
+ class PageInfo
3012
+ include Google::Apis::Core::Hashable
3013
+
3014
+ # Maximum number of results returned in one page. ! The number of results
3015
+ # included in the API response.
3016
+ # Corresponds to the JSON property `resultPerPage`
3017
+ # @return [Fixnum]
3018
+ attr_accessor :result_per_page
3019
+
3020
+ # Index of the first result returned in the current page.
3021
+ # Corresponds to the JSON property `startIndex`
3022
+ # @return [Fixnum]
3023
+ attr_accessor :start_index
3024
+
3025
+ # Total number of results available on the backend ! The total number of results
3026
+ # in the result set.
3027
+ # Corresponds to the JSON property `totalResults`
3028
+ # @return [Fixnum]
3029
+ attr_accessor :total_results
3030
+
3031
+ def initialize(**args)
3032
+ update!(**args)
3033
+ end
3034
+
3035
+ # Update properties of this object
3036
+ def update!(**args)
3037
+ @result_per_page = args[:result_per_page] if args.key?(:result_per_page)
3038
+ @start_index = args[:start_index] if args.key?(:start_index)
3039
+ @total_results = args[:total_results] if args.key?(:total_results)
3040
+ end
3041
+ end
3042
+
3043
+ # A partial refund of a transaction.
3044
+ class PartialRefund
3045
+ include Google::Apis::Core::Hashable
3046
+
3047
+ # Required. A unique id distinguishing this partial refund. If the refund is
3048
+ # successful, subsequent refunds with the same id will fail. Must be unique
3049
+ # across refunds for one individual transaction.
3050
+ # Corresponds to the JSON property `refundId`
3051
+ # @return [String]
3052
+ attr_accessor :refund_id
3053
+
3054
+ # Definition of a price, i.e. currency and units.
3055
+ # Corresponds to the JSON property `refundPreTaxAmount`
3056
+ # @return [Google::Apis::AndroidpublisherV3::Price]
3057
+ attr_accessor :refund_pre_tax_amount
3058
+
3059
+ def initialize(**args)
3060
+ update!(**args)
3061
+ end
3062
+
3063
+ # Update properties of this object
3064
+ def update!(**args)
3065
+ @refund_id = args[:refund_id] if args.key?(:refund_id)
3066
+ @refund_pre_tax_amount = args[:refund_pre_tax_amount] if args.key?(:refund_pre_tax_amount)
3067
+ end
3068
+ end
3069
+
3070
+ # Information specific to a subscription in paused state.
3071
+ class PausedStateContext
3072
+ include Google::Apis::Core::Hashable
3073
+
3074
+ # Time at which the subscription will be automatically resumed.
3075
+ # Corresponds to the JSON property `autoResumeTime`
3076
+ # @return [String]
3077
+ attr_accessor :auto_resume_time
3078
+
3079
+ def initialize(**args)
3080
+ update!(**args)
3081
+ end
3082
+
3083
+ # Update properties of this object
3084
+ def update!(**args)
3085
+ @auto_resume_time = args[:auto_resume_time] if args.key?(:auto_resume_time)
3086
+ end
3087
+ end
3088
+
3089
+ # Represents a base plan that does not automatically renew at the end of the
3090
+ # base plan, and must be manually renewed by the user.
3091
+ class PrepaidBasePlanType
3092
+ include Google::Apis::Core::Hashable
3093
+
3094
+ # Required. Subscription period, specified in ISO 8601 format. For a list of
3095
+ # acceptable billing periods, refer to the help center.
3096
+ # Corresponds to the JSON property `billingPeriodDuration`
3097
+ # @return [String]
3098
+ attr_accessor :billing_period_duration
3099
+
3100
+ # Whether users should be able to extend this prepaid base plan in Google Play
3101
+ # surfaces. Defaults to TIME_EXTENSION_ACTIVE if not specified.
3102
+ # Corresponds to the JSON property `timeExtension`
3103
+ # @return [String]
3104
+ attr_accessor :time_extension
3105
+
3106
+ def initialize(**args)
3107
+ update!(**args)
3108
+ end
3109
+
3110
+ # Update properties of this object
3111
+ def update!(**args)
3112
+ @billing_period_duration = args[:billing_period_duration] if args.key?(:billing_period_duration)
3113
+ @time_extension = args[:time_extension] if args.key?(:time_extension)
3114
+ end
3115
+ end
3116
+
3117
+ # Information related to a prepaid plan.
3118
+ class PrepaidPlan
3119
+ include Google::Apis::Core::Hashable
3120
+
3121
+ # If present, this is the time after which top up purchases are allowed for the
3122
+ # prepaid plan. Will not be present for expired prepaid plans.
3123
+ # Corresponds to the JSON property `allowExtendAfterTime`
3124
+ # @return [String]
3125
+ attr_accessor :allow_extend_after_time
3126
+
3127
+ def initialize(**args)
3128
+ update!(**args)
3129
+ end
3130
+
3131
+ # Update properties of this object
3132
+ def update!(**args)
3133
+ @allow_extend_after_time = args[:allow_extend_after_time] if args.key?(:allow_extend_after_time)
3134
+ end
3135
+ end
3136
+
3137
+ # Definition of a price, i.e. currency and units.
3138
+ class Price
3139
+ include Google::Apis::Core::Hashable
3140
+
3141
+ # 3 letter Currency code, as defined by ISO 4217. See java/com/google/common/
3142
+ # money/CurrencyCode.java
3143
+ # Corresponds to the JSON property `currency`
3144
+ # @return [String]
3145
+ attr_accessor :currency
3146
+
3147
+ # Price in 1/million of the currency base unit, represented as a string.
3148
+ # Corresponds to the JSON property `priceMicros`
3149
+ # @return [String]
3150
+ attr_accessor :price_micros
3151
+
3152
+ def initialize(**args)
3153
+ update!(**args)
3154
+ end
3155
+
3156
+ # Update properties of this object
3157
+ def update!(**args)
3158
+ @currency = args[:currency] if args.key?(:currency)
3159
+ @price_micros = args[:price_micros] if args.key?(:price_micros)
3160
+ end
3161
+ end
3162
+
3163
+ # A ProductPurchase resource indicates the status of a user's inapp product
3164
+ # purchase.
3165
+ class ProductPurchase
3166
+ include Google::Apis::Core::Hashable
3167
+
3168
+ # The acknowledgement state of the inapp product. Possible values are: 0. Yet to
3169
+ # be acknowledged 1. Acknowledged
3170
+ # Corresponds to the JSON property `acknowledgementState`
3171
+ # @return [Fixnum]
3172
+ attr_accessor :acknowledgement_state
3173
+
3174
+ # The consumption state of the inapp product. Possible values are: 0. Yet to be
3175
+ # consumed 1. Consumed
3176
+ # Corresponds to the JSON property `consumptionState`
3177
+ # @return [Fixnum]
3178
+ attr_accessor :consumption_state
3179
+
3180
+ # A developer-specified string that contains supplemental information about an
3181
+ # order.
3182
+ # Corresponds to the JSON property `developerPayload`
3183
+ # @return [String]
3184
+ attr_accessor :developer_payload
3185
+
3186
+ # This kind represents an inappPurchase object in the androidpublisher service.
3187
+ # Corresponds to the JSON property `kind`
3188
+ # @return [String]
3189
+ attr_accessor :kind
3190
+
3191
+ # An obfuscated version of the id that is uniquely associated with the user's
3192
+ # account in your app. Only present if specified using https://developer.android.
3193
+ # com/reference/com/android/billingclient/api/BillingFlowParams.Builder#
3194
+ # setobfuscatedaccountid when the purchase was made.
3195
+ # Corresponds to the JSON property `obfuscatedExternalAccountId`
3196
+ # @return [String]
3197
+ attr_accessor :obfuscated_external_account_id
3198
+
3199
+ # An obfuscated version of the id that is uniquely associated with the user's
3200
+ # profile in your app. Only present if specified using https://developer.android.
3201
+ # com/reference/com/android/billingclient/api/BillingFlowParams.Builder#
3202
+ # setobfuscatedprofileid when the purchase was made.
3203
+ # Corresponds to the JSON property `obfuscatedExternalProfileId`
3204
+ # @return [String]
3205
+ attr_accessor :obfuscated_external_profile_id
3206
+
3207
+ # The order id associated with the purchase of the inapp product.
3208
+ # Corresponds to the JSON property `orderId`
3209
+ # @return [String]
3210
+ attr_accessor :order_id
3211
+
3212
+ # The inapp product SKU. May not be present.
3213
+ # Corresponds to the JSON property `productId`
3214
+ # @return [String]
3215
+ attr_accessor :product_id
3216
+
3217
+ # The purchase state of the order. Possible values are: 0. Purchased 1. Canceled
3218
+ # 2. Pending
3219
+ # Corresponds to the JSON property `purchaseState`
3220
+ # @return [Fixnum]
3221
+ attr_accessor :purchase_state
3222
+
3223
+ # The time the product was purchased, in milliseconds since the epoch (Jan 1,
3224
+ # 1970).
3225
+ # Corresponds to the JSON property `purchaseTimeMillis`
3226
+ # @return [Fixnum]
3227
+ attr_accessor :purchase_time_millis
3228
+
3229
+ # The purchase token generated to identify this purchase. May not be present.
3230
+ # Corresponds to the JSON property `purchaseToken`
3231
+ # @return [String]
3232
+ attr_accessor :purchase_token
3233
+
3234
+ # The type of purchase of the inapp product. This field is only set if this
3235
+ # purchase was not made using the standard in-app billing flow. Possible values
3236
+ # are: 0. Test (i.e. purchased from a license testing account) 1. Promo (i.e.
3237
+ # purchased using a promo code) 2. Rewarded (i.e. from watching a video ad
3238
+ # instead of paying)
3239
+ # Corresponds to the JSON property `purchaseType`
3240
+ # @return [Fixnum]
3241
+ attr_accessor :purchase_type
3242
+
3243
+ # The quantity associated with the purchase of the inapp product. If not present,
3244
+ # the quantity is 1.
3245
+ # Corresponds to the JSON property `quantity`
3246
+ # @return [Fixnum]
3247
+ attr_accessor :quantity
3248
+
3249
+ # ISO 3166-1 alpha-2 billing region code of the user at the time the product was
3250
+ # granted.
3251
+ # Corresponds to the JSON property `regionCode`
3252
+ # @return [String]
3253
+ attr_accessor :region_code
3254
+
3255
+ def initialize(**args)
3256
+ update!(**args)
3257
+ end
3258
+
3259
+ # Update properties of this object
3260
+ def update!(**args)
3261
+ @acknowledgement_state = args[:acknowledgement_state] if args.key?(:acknowledgement_state)
3262
+ @consumption_state = args[:consumption_state] if args.key?(:consumption_state)
3263
+ @developer_payload = args[:developer_payload] if args.key?(:developer_payload)
3264
+ @kind = args[:kind] if args.key?(:kind)
3265
+ @obfuscated_external_account_id = args[:obfuscated_external_account_id] if args.key?(:obfuscated_external_account_id)
3266
+ @obfuscated_external_profile_id = args[:obfuscated_external_profile_id] if args.key?(:obfuscated_external_profile_id)
3267
+ @order_id = args[:order_id] if args.key?(:order_id)
3268
+ @product_id = args[:product_id] if args.key?(:product_id)
3269
+ @purchase_state = args[:purchase_state] if args.key?(:purchase_state)
3270
+ @purchase_time_millis = args[:purchase_time_millis] if args.key?(:purchase_time_millis)
3271
+ @purchase_token = args[:purchase_token] if args.key?(:purchase_token)
3272
+ @purchase_type = args[:purchase_type] if args.key?(:purchase_type)
3273
+ @quantity = args[:quantity] if args.key?(:quantity)
3274
+ @region_code = args[:region_code] if args.key?(:region_code)
3275
+ end
3276
+ end
3277
+
3278
+ # Request for the product.purchases.acknowledge API.
3279
+ class ProductPurchasesAcknowledgeRequest
3280
+ include Google::Apis::Core::Hashable
3281
+
3282
+ # Payload to attach to the purchase.
3283
+ # Corresponds to the JSON property `developerPayload`
3284
+ # @return [String]
3285
+ attr_accessor :developer_payload
3286
+
3287
+ def initialize(**args)
3288
+ update!(**args)
3289
+ end
3290
+
3291
+ # Update properties of this object
3292
+ def update!(**args)
3293
+ @developer_payload = args[:developer_payload] if args.key?(:developer_payload)
3294
+ end
3295
+ end
3296
+
3297
+ # Represents a transaction that is part of a recurring series of payments. This
3298
+ # can be a subscription or a one-time product with multiple payments (such as
3299
+ # preorder).
3300
+ class RecurringExternalTransaction
3301
+ include Google::Apis::Core::Hashable
3302
+
3303
+ # Details of an external subscription.
3304
+ # Corresponds to the JSON property `externalSubscription`
3305
+ # @return [Google::Apis::AndroidpublisherV3::ExternalSubscription]
3306
+ attr_accessor :external_subscription
3307
+
3308
+ # Input only. Provided during the call to Create. Retrieved from the client when
3309
+ # the alternative billing flow is launched. Required only for the initial
3310
+ # purchase.
3311
+ # Corresponds to the JSON property `externalTransactionToken`
3312
+ # @return [String]
3313
+ attr_accessor :external_transaction_token
3314
+
3315
+ # The external transaction id of the first transaction of this recurring series
3316
+ # of transactions. For example, for a subscription this would be the transaction
3317
+ # id of the first payment. Required when creating recurring external
3318
+ # transactions.
3319
+ # Corresponds to the JSON property `initialExternalTransactionId`
3320
+ # @return [String]
3321
+ attr_accessor :initial_external_transaction_id
3322
+
3323
+ def initialize(**args)
3324
+ update!(**args)
3325
+ end
3326
+
3327
+ # Update properties of this object
3328
+ def update!(**args)
3329
+ @external_subscription = args[:external_subscription] if args.key?(:external_subscription)
3330
+ @external_transaction_token = args[:external_transaction_token] if args.key?(:external_transaction_token)
3331
+ @initial_external_transaction_id = args[:initial_external_transaction_id] if args.key?(:initial_external_transaction_id)
3332
+ end
3333
+ end
3334
+
3335
+ # A request to refund an existing external transaction.
3336
+ class RefundExternalTransactionRequest
3337
+ include Google::Apis::Core::Hashable
3338
+
3339
+ # A full refund of the remaining amount of a transaction.
3340
+ # Corresponds to the JSON property `fullRefund`
3341
+ # @return [Google::Apis::AndroidpublisherV3::FullRefund]
3342
+ attr_accessor :full_refund
3343
+
3344
+ # A partial refund of a transaction.
3345
+ # Corresponds to the JSON property `partialRefund`
3346
+ # @return [Google::Apis::AndroidpublisherV3::PartialRefund]
3347
+ attr_accessor :partial_refund
3348
+
3349
+ # Required. The time that the transaction was refunded.
3350
+ # Corresponds to the JSON property `refundTime`
3351
+ # @return [String]
3352
+ attr_accessor :refund_time
3353
+
3354
+ def initialize(**args)
3355
+ update!(**args)
3356
+ end
3357
+
3358
+ # Update properties of this object
3359
+ def update!(**args)
3360
+ @full_refund = args[:full_refund] if args.key?(:full_refund)
3361
+ @partial_refund = args[:partial_refund] if args.key?(:partial_refund)
3362
+ @refund_time = args[:refund_time] if args.key?(:refund_time)
3363
+ end
3364
+ end
3365
+
3366
+ # Configuration for a base plan specific to a region.
3367
+ class RegionalBasePlanConfig
3368
+ include Google::Apis::Core::Hashable
3369
+
3370
+ # Whether the base plan in the specified region is available for new subscribers.
3371
+ # Existing subscribers will not have their subscription canceled if this value
3372
+ # is set to false. If not specified, this will default to false.
3373
+ # Corresponds to the JSON property `newSubscriberAvailability`
3374
+ # @return [Boolean]
3375
+ attr_accessor :new_subscriber_availability
3376
+ alias_method :new_subscriber_availability?, :new_subscriber_availability
3377
+
3378
+ # Represents an amount of money with its currency type.
3379
+ # Corresponds to the JSON property `price`
3380
+ # @return [Google::Apis::AndroidpublisherV3::Money]
3381
+ attr_accessor :price
3382
+
3383
+ # Required. Region code this configuration applies to, as defined by ISO 3166-2,
3384
+ # e.g. "US".
3385
+ # Corresponds to the JSON property `regionCode`
3386
+ # @return [String]
3387
+ attr_accessor :region_code
3388
+
3389
+ def initialize(**args)
3390
+ update!(**args)
3391
+ end
3392
+
3393
+ # Update properties of this object
3394
+ def update!(**args)
3395
+ @new_subscriber_availability = args[:new_subscriber_availability] if args.key?(:new_subscriber_availability)
3396
+ @price = args[:price] if args.key?(:price)
3397
+ @region_code = args[:region_code] if args.key?(:region_code)
3398
+ end
3399
+ end
3400
+
3401
+ # Configuration for a price migration.
3402
+ class RegionalPriceMigrationConfig
3403
+ include Google::Apis::Core::Hashable
3404
+
3405
+ # Required. The cutoff time for historical prices that subscribers can remain
3406
+ # paying. Subscribers who are on a price that was created before this cutoff
3407
+ # time will be migrated to the currently-offered price. These subscribers will
3408
+ # receive a notification that they will be paying a different price. Subscribers
3409
+ # who do not agree to the new price will have their subscription ended at the
3410
+ # next renewal.
3411
+ # Corresponds to the JSON property `oldestAllowedPriceVersionTime`
3412
+ # @return [String]
3413
+ attr_accessor :oldest_allowed_price_version_time
3414
+
3415
+ # Optional. The behavior the caller wants users to see when there is a price
3416
+ # increase during migration. If left unset, the behavior defaults to
3417
+ # PRICE_INCREASE_TYPE_OPT_IN. Note that the first opt-out price increase
3418
+ # migration for each app must be initiated in Play Console.
3419
+ # Corresponds to the JSON property `priceIncreaseType`
3420
+ # @return [String]
3421
+ attr_accessor :price_increase_type
3422
+
3423
+ # Required. Region code this configuration applies to, as defined by ISO 3166-2,
3424
+ # e.g. "US".
3425
+ # Corresponds to the JSON property `regionCode`
3426
+ # @return [String]
3427
+ attr_accessor :region_code
3428
+
3429
+ def initialize(**args)
3430
+ update!(**args)
3431
+ end
3432
+
3433
+ # Update properties of this object
3434
+ def update!(**args)
3435
+ @oldest_allowed_price_version_time = args[:oldest_allowed_price_version_time] if args.key?(:oldest_allowed_price_version_time)
3436
+ @price_increase_type = args[:price_increase_type] if args.key?(:price_increase_type)
3437
+ @region_code = args[:region_code] if args.key?(:region_code)
3438
+ end
3439
+ end
3440
+
3441
+ # Configuration for a subscription offer in a single region.
3442
+ class RegionalSubscriptionOfferConfig
3443
+ include Google::Apis::Core::Hashable
3444
+
3445
+ # Whether the subscription offer in the specified region is available for new
3446
+ # subscribers. Existing subscribers will not have their subscription cancelled
3447
+ # if this value is set to false. If not specified, this will default to false.
3448
+ # Corresponds to the JSON property `newSubscriberAvailability`
3449
+ # @return [Boolean]
3450
+ attr_accessor :new_subscriber_availability
3451
+ alias_method :new_subscriber_availability?, :new_subscriber_availability
3452
+
3453
+ # Required. Immutable. Region code this configuration applies to, as defined by
3454
+ # ISO 3166-2, e.g. "US".
3455
+ # Corresponds to the JSON property `regionCode`
3456
+ # @return [String]
3457
+ attr_accessor :region_code
3458
+
3459
+ def initialize(**args)
3460
+ update!(**args)
3461
+ end
3462
+
3463
+ # Update properties of this object
3464
+ def update!(**args)
3465
+ @new_subscriber_availability = args[:new_subscriber_availability] if args.key?(:new_subscriber_availability)
3466
+ @region_code = args[:region_code] if args.key?(:region_code)
3467
+ end
3468
+ end
3469
+
3470
+ # Configuration for a single phase of a subscription offer in a single region.
3471
+ class RegionalSubscriptionOfferPhaseConfig
3472
+ include Google::Apis::Core::Hashable
3473
+
3474
+ # Represents an amount of money with its currency type.
3475
+ # Corresponds to the JSON property `absoluteDiscount`
3476
+ # @return [Google::Apis::AndroidpublisherV3::Money]
3477
+ attr_accessor :absolute_discount
3478
+
3479
+ # Represents an amount of money with its currency type.
3480
+ # Corresponds to the JSON property `price`
3481
+ # @return [Google::Apis::AndroidpublisherV3::Money]
3482
+ attr_accessor :price
3483
+
3484
+ # Required. Immutable. The region to which this config applies.
3485
+ # Corresponds to the JSON property `regionCode`
3486
+ # @return [String]
3487
+ attr_accessor :region_code
3488
+
3489
+ # The fraction of the base plan price prorated over the phase duration that the
3490
+ # user pays for this offer phase. For example, if the base plan price for this
3491
+ # region is $12 for a period of 1 year, then a 50% discount for a phase of a
3492
+ # duration of 3 months would correspond to a price of $1.50. The discount must
3493
+ # be specified as a fraction strictly larger than 0 and strictly smaller than 1.
3494
+ # The resulting price will be rounded to the nearest billable unit (e.g. cents
3495
+ # for USD). The relative discount is considered invalid if the discounted price
3496
+ # ends up being smaller than the minimum price allowed in this region.
3497
+ # Corresponds to the JSON property `relativeDiscount`
3498
+ # @return [Float]
3499
+ attr_accessor :relative_discount
3500
+
3501
+ def initialize(**args)
3502
+ update!(**args)
3503
+ end
3504
+
3505
+ # Update properties of this object
3506
+ def update!(**args)
3507
+ @absolute_discount = args[:absolute_discount] if args.key?(:absolute_discount)
3508
+ @price = args[:price] if args.key?(:price)
3509
+ @region_code = args[:region_code] if args.key?(:region_code)
3510
+ @relative_discount = args[:relative_discount] if args.key?(:relative_discount)
3511
+ end
3512
+ end
3513
+
3514
+ # Specified details about taxation in a given geographical region.
3515
+ class RegionalTaxRateInfo
3516
+ include Google::Apis::Core::Hashable
3517
+
3518
+ # You must tell us if your app contains streaming products to correctly charge
3519
+ # US state and local sales tax. Field only supported in United States.
3520
+ # Corresponds to the JSON property `eligibleForStreamingServiceTaxRate`
3521
+ # @return [Boolean]
3522
+ attr_accessor :eligible_for_streaming_service_tax_rate
3523
+ alias_method :eligible_for_streaming_service_tax_rate?, :eligible_for_streaming_service_tax_rate
3524
+
3525
+ # To collect communications or amusement taxes in the United States, choose the
3526
+ # appropriate tax category. [Learn more](https://support.google.com/googleplay/
3527
+ # android-developer/answer/10463498#streaming_tax).
3528
+ # Corresponds to the JSON property `streamingTaxType`
3529
+ # @return [String]
3530
+ attr_accessor :streaming_tax_type
3531
+
3532
+ # Tax tier to specify reduced tax rate. Developers who sell digital news,
3533
+ # magazines, newspapers, books, or audiobooks in various regions may be eligible
3534
+ # for reduced tax rates. [Learn more](https://support.google.com/googleplay/
3535
+ # android-developer/answer/10463498).
3536
+ # Corresponds to the JSON property `taxTier`
3537
+ # @return [String]
3538
+ attr_accessor :tax_tier
3539
+
3540
+ def initialize(**args)
3541
+ update!(**args)
3542
+ end
3543
+
3544
+ # Update properties of this object
3545
+ def update!(**args)
3546
+ @eligible_for_streaming_service_tax_rate = args[:eligible_for_streaming_service_tax_rate] if args.key?(:eligible_for_streaming_service_tax_rate)
3547
+ @streaming_tax_type = args[:streaming_tax_type] if args.key?(:streaming_tax_type)
3548
+ @tax_tier = args[:tax_tier] if args.key?(:tax_tier)
3549
+ end
3550
+ end
3551
+
3552
+ # The version of the available regions being used for the specified resource. A
3553
+ # string representing the version of available regions being used for the
3554
+ # specified resource. Regional prices for the resource have to be specified
3555
+ # according to the information published in [this article](https://support.
3556
+ # google.com/googleplay/android-developer/answer/10532353).
3557
+ class RegionsVersion
3558
+ include Google::Apis::Core::Hashable
3559
+
3560
+ # Required. The latest version is 2022/02.
3561
+ # Corresponds to the JSON property `version`
3562
+ # @return [String]
3563
+ attr_accessor :version
3564
+
3565
+ def initialize(**args)
3566
+ update!(**args)
3567
+ end
3568
+
3569
+ # Update properties of this object
3570
+ def update!(**args)
3571
+ @version = args[:version] if args.key?(:version)
3572
+ end
3573
+ end
3574
+
3575
+ # Information specific to cancellations caused by subscription replacement.
3576
+ class ReplacementCancellation
3577
+ include Google::Apis::Core::Hashable
3578
+
3579
+ def initialize(**args)
3580
+ update!(**args)
3581
+ end
3582
+
3583
+ # Update properties of this object
3584
+ def update!(**args)
3585
+ end
3586
+ end
3587
+
3588
+ # An Android app review.
3589
+ class Review
3590
+ include Google::Apis::Core::Hashable
3591
+
3592
+ # The name of the user who wrote the review.
3593
+ # Corresponds to the JSON property `authorName`
3594
+ # @return [String]
3595
+ attr_accessor :author_name
3596
+
3597
+ # A repeated field containing comments for the review.
3598
+ # Corresponds to the JSON property `comments`
3599
+ # @return [Array<Google::Apis::AndroidpublisherV3::Comment>]
3600
+ attr_accessor :comments
3601
+
3602
+ # Unique identifier for this review.
3603
+ # Corresponds to the JSON property `reviewId`
3604
+ # @return [String]
3605
+ attr_accessor :review_id
3606
+
3607
+ def initialize(**args)
3608
+ update!(**args)
3609
+ end
3610
+
3611
+ # Update properties of this object
3612
+ def update!(**args)
3613
+ @author_name = args[:author_name] if args.key?(:author_name)
3614
+ @comments = args[:comments] if args.key?(:comments)
3615
+ @review_id = args[:review_id] if args.key?(:review_id)
3616
+ end
3617
+ end
3618
+
3619
+ # The result of replying/updating a reply to review.
3620
+ class ReviewReplyResult
1309
3621
  include Google::Apis::Core::Hashable
1310
3622
 
1311
3623
  # A Timestamp represents a point in time independent of any time zone or local
@@ -1316,10 +3628,211 @@ module Google
1316
3628
  # @return [Google::Apis::AndroidpublisherV3::Timestamp]
1317
3629
  attr_accessor :last_edited
1318
3630
 
1319
- # The reply text that was applied.
1320
- # Corresponds to the JSON property `replyText`
3631
+ # The reply text that was applied.
3632
+ # Corresponds to the JSON property `replyText`
3633
+ # @return [String]
3634
+ attr_accessor :reply_text
3635
+
3636
+ def initialize(**args)
3637
+ update!(**args)
3638
+ end
3639
+
3640
+ # Update properties of this object
3641
+ def update!(**args)
3642
+ @last_edited = args[:last_edited] if args.key?(:last_edited)
3643
+ @reply_text = args[:reply_text] if args.key?(:reply_text)
3644
+ end
3645
+ end
3646
+
3647
+ # Response listing reviews.
3648
+ class ReviewsListResponse
3649
+ include Google::Apis::Core::Hashable
3650
+
3651
+ # Information about the current page. List operations that supports paging
3652
+ # return only one "page" of results. This protocol buffer message describes the
3653
+ # page that has been returned.
3654
+ # Corresponds to the JSON property `pageInfo`
3655
+ # @return [Google::Apis::AndroidpublisherV3::PageInfo]
3656
+ attr_accessor :page_info
3657
+
3658
+ # List of reviews.
3659
+ # Corresponds to the JSON property `reviews`
3660
+ # @return [Array<Google::Apis::AndroidpublisherV3::Review>]
3661
+ attr_accessor :reviews
3662
+
3663
+ # Pagination information returned by a List operation when token pagination is
3664
+ # enabled. List operations that supports paging return only one "page" of
3665
+ # results. This protocol buffer message describes the page that has been
3666
+ # returned. When using token pagination, clients should use the next/previous
3667
+ # token to get another page of the result. The presence or absence of next/
3668
+ # previous token indicates whether a next/previous page is available and
3669
+ # provides a mean of accessing this page. ListRequest.page_token should be set
3670
+ # to either next_page_token or previous_page_token to access another page.
3671
+ # Corresponds to the JSON property `tokenPagination`
3672
+ # @return [Google::Apis::AndroidpublisherV3::TokenPagination]
3673
+ attr_accessor :token_pagination
3674
+
3675
+ def initialize(**args)
3676
+ update!(**args)
3677
+ end
3678
+
3679
+ # Update properties of this object
3680
+ def update!(**args)
3681
+ @page_info = args[:page_info] if args.key?(:page_info)
3682
+ @reviews = args[:reviews] if args.key?(:reviews)
3683
+ @token_pagination = args[:token_pagination] if args.key?(:token_pagination)
3684
+ end
3685
+ end
3686
+
3687
+ # Request to reply to review or update existing reply.
3688
+ class ReviewsReplyRequest
3689
+ include Google::Apis::Core::Hashable
3690
+
3691
+ # The text to set as the reply. Replies of more than approximately 350
3692
+ # characters will be rejected. HTML tags will be stripped.
3693
+ # Corresponds to the JSON property `replyText`
3694
+ # @return [String]
3695
+ attr_accessor :reply_text
3696
+
3697
+ def initialize(**args)
3698
+ update!(**args)
3699
+ end
3700
+
3701
+ # Update properties of this object
3702
+ def update!(**args)
3703
+ @reply_text = args[:reply_text] if args.key?(:reply_text)
3704
+ end
3705
+ end
3706
+
3707
+ # Response on status of replying to a review.
3708
+ class ReviewsReplyResponse
3709
+ include Google::Apis::Core::Hashable
3710
+
3711
+ # The result of replying/updating a reply to review.
3712
+ # Corresponds to the JSON property `result`
3713
+ # @return [Google::Apis::AndroidpublisherV3::ReviewReplyResult]
3714
+ attr_accessor :result
3715
+
3716
+ def initialize(**args)
3717
+ update!(**args)
3718
+ end
3719
+
3720
+ # Update properties of this object
3721
+ def update!(**args)
3722
+ @result = args[:result] if args.key?(:result)
3723
+ end
3724
+ end
3725
+
3726
+ # Represents a screen density.
3727
+ class ScreenDensity
3728
+ include Google::Apis::Core::Hashable
3729
+
3730
+ # Alias for a screen density.
3731
+ # Corresponds to the JSON property `densityAlias`
3732
+ # @return [String]
3733
+ attr_accessor :density_alias
3734
+
3735
+ # Value for density dpi.
3736
+ # Corresponds to the JSON property `densityDpi`
3737
+ # @return [Fixnum]
3738
+ attr_accessor :density_dpi
3739
+
3740
+ def initialize(**args)
3741
+ update!(**args)
3742
+ end
3743
+
3744
+ # Update properties of this object
3745
+ def update!(**args)
3746
+ @density_alias = args[:density_alias] if args.key?(:density_alias)
3747
+ @density_dpi = args[:density_dpi] if args.key?(:density_dpi)
3748
+ end
3749
+ end
3750
+
3751
+ # Targeting based on screen density.
3752
+ class ScreenDensityTargeting
3753
+ include Google::Apis::Core::Hashable
3754
+
3755
+ # Targeting of other sibling directories that were in the Bundle. For main
3756
+ # splits this is targeting of other main splits.
3757
+ # Corresponds to the JSON property `alternatives`
3758
+ # @return [Array<Google::Apis::AndroidpublisherV3::ScreenDensity>]
3759
+ attr_accessor :alternatives
3760
+
3761
+ # Value of a screen density.
3762
+ # Corresponds to the JSON property `value`
3763
+ # @return [Array<Google::Apis::AndroidpublisherV3::ScreenDensity>]
3764
+ attr_accessor :value
3765
+
3766
+ def initialize(**args)
3767
+ update!(**args)
3768
+ end
3769
+
3770
+ # Update properties of this object
3771
+ def update!(**args)
3772
+ @alternatives = args[:alternatives] if args.key?(:alternatives)
3773
+ @value = args[:value] if args.key?(:value)
3774
+ end
3775
+ end
3776
+
3777
+ # Represents an sdk version.
3778
+ class SdkVersion
3779
+ include Google::Apis::Core::Hashable
3780
+
3781
+ # Inclusive minimum value of an sdk version.
3782
+ # Corresponds to the JSON property `min`
3783
+ # @return [Fixnum]
3784
+ attr_accessor :min
3785
+
3786
+ def initialize(**args)
3787
+ update!(**args)
3788
+ end
3789
+
3790
+ # Update properties of this object
3791
+ def update!(**args)
3792
+ @min = args[:min] if args.key?(:min)
3793
+ end
3794
+ end
3795
+
3796
+ # Targeting based on sdk version.
3797
+ class SdkVersionTargeting
3798
+ include Google::Apis::Core::Hashable
3799
+
3800
+ # Targeting of other sibling directories that were in the Bundle. For main
3801
+ # splits this is targeting of other main splits.
3802
+ # Corresponds to the JSON property `alternatives`
3803
+ # @return [Array<Google::Apis::AndroidpublisherV3::SdkVersion>]
3804
+ attr_accessor :alternatives
3805
+
3806
+ # Value of an sdk version.
3807
+ # Corresponds to the JSON property `value`
3808
+ # @return [Array<Google::Apis::AndroidpublisherV3::SdkVersion>]
3809
+ attr_accessor :value
3810
+
3811
+ def initialize(**args)
3812
+ update!(**args)
3813
+ end
3814
+
3815
+ # Update properties of this object
3816
+ def update!(**args)
3817
+ @alternatives = args[:alternatives] if args.key?(:alternatives)
3818
+ @value = args[:value] if args.key?(:value)
3819
+ end
3820
+ end
3821
+
3822
+ # Holds data specific to Split APKs.
3823
+ class SplitApkMetadata
3824
+ include Google::Apis::Core::Hashable
3825
+
3826
+ # Indicates whether this APK is the main split of the module.
3827
+ # Corresponds to the JSON property `isMasterSplit`
3828
+ # @return [Boolean]
3829
+ attr_accessor :is_master_split
3830
+ alias_method :is_master_split?, :is_master_split
3831
+
3832
+ # Id of the split.
3833
+ # Corresponds to the JSON property `splitId`
1321
3834
  # @return [String]
1322
- attr_accessor :reply_text
3835
+ attr_accessor :split_id
1323
3836
 
1324
3837
  def initialize(**args)
1325
3838
  update!(**args)
@@ -1327,38 +3840,32 @@ module Google
1327
3840
 
1328
3841
  # Update properties of this object
1329
3842
  def update!(**args)
1330
- @last_edited = args[:last_edited] if args.key?(:last_edited)
1331
- @reply_text = args[:reply_text] if args.key?(:reply_text)
3843
+ @is_master_split = args[:is_master_split] if args.key?(:is_master_split)
3844
+ @split_id = args[:split_id] if args.key?(:split_id)
1332
3845
  end
1333
3846
  end
1334
3847
 
1335
- # Response listing reviews.
1336
- class ReviewsListResponse
3848
+ # Variant is a group of APKs that covers a part of the device configuration
3849
+ # space. APKs from multiple variants are never combined on one device.
3850
+ class SplitApkVariant
1337
3851
  include Google::Apis::Core::Hashable
1338
3852
 
1339
- # Information about the current page. List operations that supports paging
1340
- # return only one "page" of results. This protocol buffer message describes the
1341
- # page that has been returned.
1342
- # Corresponds to the JSON property `pageInfo`
1343
- # @return [Google::Apis::AndroidpublisherV3::PageInfo]
1344
- attr_accessor :page_info
3853
+ # Set of APKs, one set per module.
3854
+ # Corresponds to the JSON property `apkSet`
3855
+ # @return [Array<Google::Apis::AndroidpublisherV3::ApkSet>]
3856
+ attr_accessor :apk_set
1345
3857
 
1346
- # List of reviews.
1347
- # Corresponds to the JSON property `reviews`
1348
- # @return [Array<Google::Apis::AndroidpublisherV3::Review>]
1349
- attr_accessor :reviews
3858
+ # Targeting on the level of variants.
3859
+ # Corresponds to the JSON property `targeting`
3860
+ # @return [Google::Apis::AndroidpublisherV3::VariantTargeting]
3861
+ attr_accessor :targeting
1350
3862
 
1351
- # Pagination information returned by a List operation when token pagination is
1352
- # enabled. List operations that supports paging return only one "page" of
1353
- # results. This protocol buffer message describes the page that has been
1354
- # returned. When using token pagination, clients should use the next/previous
1355
- # token to get another page of the result. The presence or absence of next/
1356
- # previous token indicates whether a next/previous page is available and
1357
- # provides a mean of accessing this page. ListRequest.page_token should be set
1358
- # to either next_page_token or previous_page_token to access another page.
1359
- # Corresponds to the JSON property `tokenPagination`
1360
- # @return [Google::Apis::AndroidpublisherV3::TokenPagination]
1361
- attr_accessor :token_pagination
3863
+ # Number of the variant, starting at 0 (unless overridden). A device will
3864
+ # receive APKs from the first variant that matches the device configuration,
3865
+ # with higher variant numbers having priority over lower variant numbers.
3866
+ # Corresponds to the JSON property `variantNumber`
3867
+ # @return [Fixnum]
3868
+ attr_accessor :variant_number
1362
3869
 
1363
3870
  def initialize(**args)
1364
3871
  update!(**args)
@@ -1366,40 +3873,334 @@ module Google
1366
3873
 
1367
3874
  # Update properties of this object
1368
3875
  def update!(**args)
1369
- @page_info = args[:page_info] if args.key?(:page_info)
1370
- @reviews = args[:reviews] if args.key?(:reviews)
1371
- @token_pagination = args[:token_pagination] if args.key?(:token_pagination)
3876
+ @apk_set = args[:apk_set] if args.key?(:apk_set)
3877
+ @targeting = args[:targeting] if args.key?(:targeting)
3878
+ @variant_number = args[:variant_number] if args.key?(:variant_number)
1372
3879
  end
1373
3880
  end
1374
3881
 
1375
- # Request to reply to review or update existing reply.
1376
- class ReviewsReplyRequest
3882
+ # Holds data specific to Standalone APKs.
3883
+ class StandaloneApkMetadata
1377
3884
  include Google::Apis::Core::Hashable
1378
3885
 
1379
- # The text to set as the reply. Replies of more than approximately 350
1380
- # characters will be rejected. HTML tags will be stripped.
1381
- # Corresponds to the JSON property `replyText`
3886
+ # Names of the modules fused in this standalone APK.
3887
+ # Corresponds to the JSON property `fusedModuleName`
3888
+ # @return [Array<String>]
3889
+ attr_accessor :fused_module_name
3890
+
3891
+ def initialize(**args)
3892
+ update!(**args)
3893
+ end
3894
+
3895
+ # Update properties of this object
3896
+ def update!(**args)
3897
+ @fused_module_name = args[:fused_module_name] if args.key?(:fused_module_name)
3898
+ end
3899
+ end
3900
+
3901
+ # Information associated with purchases made with 'Subscribe with Google'.
3902
+ class SubscribeWithGoogleInfo
3903
+ include Google::Apis::Core::Hashable
3904
+
3905
+ # The email address of the user when the subscription was purchased.
3906
+ # Corresponds to the JSON property `emailAddress`
1382
3907
  # @return [String]
1383
- attr_accessor :reply_text
3908
+ attr_accessor :email_address
3909
+
3910
+ # The family name of the user when the subscription was purchased.
3911
+ # Corresponds to the JSON property `familyName`
3912
+ # @return [String]
3913
+ attr_accessor :family_name
3914
+
3915
+ # The given name of the user when the subscription was purchased.
3916
+ # Corresponds to the JSON property `givenName`
3917
+ # @return [String]
3918
+ attr_accessor :given_name
3919
+
3920
+ # The Google profile id of the user when the subscription was purchased.
3921
+ # Corresponds to the JSON property `profileId`
3922
+ # @return [String]
3923
+ attr_accessor :profile_id
3924
+
3925
+ # The profile name of the user when the subscription was purchased.
3926
+ # Corresponds to the JSON property `profileName`
3927
+ # @return [String]
3928
+ attr_accessor :profile_name
3929
+
3930
+ def initialize(**args)
3931
+ update!(**args)
3932
+ end
3933
+
3934
+ # Update properties of this object
3935
+ def update!(**args)
3936
+ @email_address = args[:email_address] if args.key?(:email_address)
3937
+ @family_name = args[:family_name] if args.key?(:family_name)
3938
+ @given_name = args[:given_name] if args.key?(:given_name)
3939
+ @profile_id = args[:profile_id] if args.key?(:profile_id)
3940
+ @profile_name = args[:profile_name] if args.key?(:profile_name)
3941
+ end
3942
+ end
3943
+
3944
+ # A single subscription for an app.
3945
+ class Subscription
3946
+ include Google::Apis::Core::Hashable
3947
+
3948
+ # Output only. Whether this subscription is archived. Archived subscriptions are
3949
+ # not available to any subscriber any longer, cannot be updated, and are not
3950
+ # returned in list requests unless the show archived flag is passed in.
3951
+ # Corresponds to the JSON property `archived`
3952
+ # @return [Boolean]
3953
+ attr_accessor :archived
3954
+ alias_method :archived?, :archived
3955
+
3956
+ # The set of base plans for this subscription. Represents the prices and
3957
+ # duration of the subscription if no other offers apply.
3958
+ # Corresponds to the JSON property `basePlans`
3959
+ # @return [Array<Google::Apis::AndroidpublisherV3::BasePlan>]
3960
+ attr_accessor :base_plans
3961
+
3962
+ # Required. List of localized listings for this subscription. Must contain at
3963
+ # least an entry for the default language of the parent app.
3964
+ # Corresponds to the JSON property `listings`
3965
+ # @return [Array<Google::Apis::AndroidpublisherV3::SubscriptionListing>]
3966
+ attr_accessor :listings
3967
+
3968
+ # Immutable. Package name of the parent app.
3969
+ # Corresponds to the JSON property `packageName`
3970
+ # @return [String]
3971
+ attr_accessor :package_name
3972
+
3973
+ # Immutable. Unique product ID of the product. Unique within the parent app.
3974
+ # Product IDs must be composed of lower-case letters (a-z), numbers (0-9),
3975
+ # underscores (_) and dots (.). It must start with a lower-case letter or number,
3976
+ # and be between 1 and 40 (inclusive) characters in length.
3977
+ # Corresponds to the JSON property `productId`
3978
+ # @return [String]
3979
+ attr_accessor :product_id
3980
+
3981
+ # Details about taxation, Google Play policy and legal compliance for
3982
+ # subscription products.
3983
+ # Corresponds to the JSON property `taxAndComplianceSettings`
3984
+ # @return [Google::Apis::AndroidpublisherV3::SubscriptionTaxAndComplianceSettings]
3985
+ attr_accessor :tax_and_compliance_settings
3986
+
3987
+ def initialize(**args)
3988
+ update!(**args)
3989
+ end
3990
+
3991
+ # Update properties of this object
3992
+ def update!(**args)
3993
+ @archived = args[:archived] if args.key?(:archived)
3994
+ @base_plans = args[:base_plans] if args.key?(:base_plans)
3995
+ @listings = args[:listings] if args.key?(:listings)
3996
+ @package_name = args[:package_name] if args.key?(:package_name)
3997
+ @product_id = args[:product_id] if args.key?(:product_id)
3998
+ @tax_and_compliance_settings = args[:tax_and_compliance_settings] if args.key?(:tax_and_compliance_settings)
3999
+ end
4000
+ end
4001
+
4002
+ # Information provided by the user when they complete the subscription
4003
+ # cancellation flow (cancellation reason survey).
4004
+ class SubscriptionCancelSurveyResult
4005
+ include Google::Apis::Core::Hashable
4006
+
4007
+ # The cancellation reason the user chose in the survey. Possible values are: 0.
4008
+ # Other 1. I don't use this service enough 2. Technical issues 3. Cost-related
4009
+ # reasons 4. I found a better app
4010
+ # Corresponds to the JSON property `cancelSurveyReason`
4011
+ # @return [Fixnum]
4012
+ attr_accessor :cancel_survey_reason
4013
+
4014
+ # The customized input cancel reason from the user. Only present when
4015
+ # cancelReason is 0.
4016
+ # Corresponds to the JSON property `userInputCancelReason`
4017
+ # @return [String]
4018
+ attr_accessor :user_input_cancel_reason
4019
+
4020
+ def initialize(**args)
4021
+ update!(**args)
4022
+ end
4023
+
4024
+ # Update properties of this object
4025
+ def update!(**args)
4026
+ @cancel_survey_reason = args[:cancel_survey_reason] if args.key?(:cancel_survey_reason)
4027
+ @user_input_cancel_reason = args[:user_input_cancel_reason] if args.key?(:user_input_cancel_reason)
4028
+ end
4029
+ end
4030
+
4031
+ # A SubscriptionDeferralInfo contains the data needed to defer a subscription
4032
+ # purchase to a future expiry time.
4033
+ class SubscriptionDeferralInfo
4034
+ include Google::Apis::Core::Hashable
4035
+
4036
+ # The desired next expiry time to assign to the subscription, in milliseconds
4037
+ # since the Epoch. The given time must be later/greater than the current expiry
4038
+ # time for the subscription.
4039
+ # Corresponds to the JSON property `desiredExpiryTimeMillis`
4040
+ # @return [Fixnum]
4041
+ attr_accessor :desired_expiry_time_millis
4042
+
4043
+ # The expected expiry time for the subscription. If the current expiry time for
4044
+ # the subscription is not the value specified here, the deferral will not occur.
4045
+ # Corresponds to the JSON property `expectedExpiryTimeMillis`
4046
+ # @return [Fixnum]
4047
+ attr_accessor :expected_expiry_time_millis
4048
+
4049
+ def initialize(**args)
4050
+ update!(**args)
4051
+ end
4052
+
4053
+ # Update properties of this object
4054
+ def update!(**args)
4055
+ @desired_expiry_time_millis = args[:desired_expiry_time_millis] if args.key?(:desired_expiry_time_millis)
4056
+ @expected_expiry_time_millis = args[:expected_expiry_time_millis] if args.key?(:expected_expiry_time_millis)
4057
+ end
4058
+ end
4059
+
4060
+ # Price change related information of a subscription item.
4061
+ class SubscriptionItemPriceChangeDetails
4062
+ include Google::Apis::Core::Hashable
4063
+
4064
+ # The renewal time at which the price change will become effective for the user.
4065
+ # This is subject to change(to a future time) due to cases where the renewal
4066
+ # time shifts like pause.
4067
+ # Corresponds to the JSON property `expectedNewPriceChargeTime`
4068
+ # @return [String]
4069
+ attr_accessor :expected_new_price_charge_time
4070
+
4071
+ # Represents an amount of money with its currency type.
4072
+ # Corresponds to the JSON property `newPrice`
4073
+ # @return [Google::Apis::AndroidpublisherV3::Money]
4074
+ attr_accessor :new_price
4075
+
4076
+ # Price change mode specifies how the subscription item price is changing.
4077
+ # Corresponds to the JSON property `priceChangeMode`
4078
+ # @return [String]
4079
+ attr_accessor :price_change_mode
4080
+
4081
+ # State the price change is currently in.
4082
+ # Corresponds to the JSON property `priceChangeState`
4083
+ # @return [String]
4084
+ attr_accessor :price_change_state
4085
+
4086
+ def initialize(**args)
4087
+ update!(**args)
4088
+ end
4089
+
4090
+ # Update properties of this object
4091
+ def update!(**args)
4092
+ @expected_new_price_charge_time = args[:expected_new_price_charge_time] if args.key?(:expected_new_price_charge_time)
4093
+ @new_price = args[:new_price] if args.key?(:new_price)
4094
+ @price_change_mode = args[:price_change_mode] if args.key?(:price_change_mode)
4095
+ @price_change_state = args[:price_change_state] if args.key?(:price_change_state)
4096
+ end
4097
+ end
4098
+
4099
+ # The consumer-visible metadata of a subscription.
4100
+ class SubscriptionListing
4101
+ include Google::Apis::Core::Hashable
4102
+
4103
+ # A list of benefits shown to the user on platforms such as the Play Store and
4104
+ # in restoration flows in the language of this listing. Plain text. Ordered list
4105
+ # of at most four benefits.
4106
+ # Corresponds to the JSON property `benefits`
4107
+ # @return [Array<String>]
4108
+ attr_accessor :benefits
4109
+
4110
+ # The description of this subscription in the language of this listing. Maximum
4111
+ # length - 80 characters. Plain text.
4112
+ # Corresponds to the JSON property `description`
4113
+ # @return [String]
4114
+ attr_accessor :description
4115
+
4116
+ # Required. The language of this listing, as defined by BCP-47, e.g. "en-US".
4117
+ # Corresponds to the JSON property `languageCode`
4118
+ # @return [String]
4119
+ attr_accessor :language_code
4120
+
4121
+ # Required. The title of this subscription in the language of this listing.
4122
+ # Plain text.
4123
+ # Corresponds to the JSON property `title`
4124
+ # @return [String]
4125
+ attr_accessor :title
1384
4126
 
1385
4127
  def initialize(**args)
1386
4128
  update!(**args)
1387
4129
  end
1388
4130
 
1389
- # Update properties of this object
1390
- def update!(**args)
1391
- @reply_text = args[:reply_text] if args.key?(:reply_text)
1392
- end
1393
- end
4131
+ # Update properties of this object
4132
+ def update!(**args)
4133
+ @benefits = args[:benefits] if args.key?(:benefits)
4134
+ @description = args[:description] if args.key?(:description)
4135
+ @language_code = args[:language_code] if args.key?(:language_code)
4136
+ @title = args[:title] if args.key?(:title)
4137
+ end
4138
+ end
4139
+
4140
+ # A single, temporary offer
4141
+ class SubscriptionOffer
4142
+ include Google::Apis::Core::Hashable
4143
+
4144
+ # Required. Immutable. The ID of the base plan to which this offer is an
4145
+ # extension.
4146
+ # Corresponds to the JSON property `basePlanId`
4147
+ # @return [String]
4148
+ attr_accessor :base_plan_id
4149
+
4150
+ # Required. Immutable. Unique ID of this subscription offer. Must be unique
4151
+ # within the base plan.
4152
+ # Corresponds to the JSON property `offerId`
4153
+ # @return [String]
4154
+ attr_accessor :offer_id
4155
+
4156
+ # List of up to 20 custom tags specified for this offer, and returned to the app
4157
+ # through the billing library.
4158
+ # Corresponds to the JSON property `offerTags`
4159
+ # @return [Array<Google::Apis::AndroidpublisherV3::OfferTag>]
4160
+ attr_accessor :offer_tags
4161
+
4162
+ # Configuration for any new locations Play may launch in specified on a
4163
+ # subscription offer.
4164
+ # Corresponds to the JSON property `otherRegionsConfig`
4165
+ # @return [Google::Apis::AndroidpublisherV3::OtherRegionsSubscriptionOfferConfig]
4166
+ attr_accessor :other_regions_config
4167
+
4168
+ # Required. Immutable. The package name of the app the parent subscription
4169
+ # belongs to.
4170
+ # Corresponds to the JSON property `packageName`
4171
+ # @return [String]
4172
+ attr_accessor :package_name
4173
+
4174
+ # Required. The phases of this subscription offer. Must contain at least one
4175
+ # entry, and may contain at most five. Users will always receive all these
4176
+ # phases in the specified order. Phases may not be added, removed, or reordered
4177
+ # after initial creation.
4178
+ # Corresponds to the JSON property `phases`
4179
+ # @return [Array<Google::Apis::AndroidpublisherV3::SubscriptionOfferPhase>]
4180
+ attr_accessor :phases
4181
+
4182
+ # Required. Immutable. The ID of the parent subscription this offer belongs to.
4183
+ # Corresponds to the JSON property `productId`
4184
+ # @return [String]
4185
+ attr_accessor :product_id
1394
4186
 
1395
- # Response on status of replying to a review.
1396
- class ReviewsReplyResponse
1397
- include Google::Apis::Core::Hashable
4187
+ # Required. The region-specific configuration of this offer. Must contain at
4188
+ # least one entry.
4189
+ # Corresponds to the JSON property `regionalConfigs`
4190
+ # @return [Array<Google::Apis::AndroidpublisherV3::RegionalSubscriptionOfferConfig>]
4191
+ attr_accessor :regional_configs
1398
4192
 
1399
- # The result of replying/updating a reply to review.
1400
- # Corresponds to the JSON property `result`
1401
- # @return [Google::Apis::AndroidpublisherV3::ReviewReplyResult]
1402
- attr_accessor :result
4193
+ # Output only. The current state of this offer. Can be changed using Activate
4194
+ # and Deactivate actions. NB: the base plan state supersedes this state, so an
4195
+ # active offer may not be available if the base plan is not active.
4196
+ # Corresponds to the JSON property `state`
4197
+ # @return [String]
4198
+ attr_accessor :state
4199
+
4200
+ # Defines the rule a user needs to satisfy to receive this offer.
4201
+ # Corresponds to the JSON property `targeting`
4202
+ # @return [Google::Apis::AndroidpublisherV3::SubscriptionOfferTargeting]
4203
+ attr_accessor :targeting
1403
4204
 
1404
4205
  def initialize(**args)
1405
4206
  update!(**args)
@@ -1407,27 +4208,47 @@ module Google
1407
4208
 
1408
4209
  # Update properties of this object
1409
4210
  def update!(**args)
1410
- @result = args[:result] if args.key?(:result)
4211
+ @base_plan_id = args[:base_plan_id] if args.key?(:base_plan_id)
4212
+ @offer_id = args[:offer_id] if args.key?(:offer_id)
4213
+ @offer_tags = args[:offer_tags] if args.key?(:offer_tags)
4214
+ @other_regions_config = args[:other_regions_config] if args.key?(:other_regions_config)
4215
+ @package_name = args[:package_name] if args.key?(:package_name)
4216
+ @phases = args[:phases] if args.key?(:phases)
4217
+ @product_id = args[:product_id] if args.key?(:product_id)
4218
+ @regional_configs = args[:regional_configs] if args.key?(:regional_configs)
4219
+ @state = args[:state] if args.key?(:state)
4220
+ @targeting = args[:targeting] if args.key?(:targeting)
1411
4221
  end
1412
4222
  end
1413
4223
 
1414
- # Information provided by the user when they complete the subscription
1415
- # cancellation flow (cancellation reason survey).
1416
- class SubscriptionCancelSurveyResult
4224
+ # A single phase of a subscription offer.
4225
+ class SubscriptionOfferPhase
1417
4226
  include Google::Apis::Core::Hashable
1418
4227
 
1419
- # The cancellation reason the user chose in the survey. Possible values are: 0.
1420
- # Other 1. I don't use this service enough 2. Technical issues 3. Cost-related
1421
- # reasons 4. I found a better app
1422
- # Corresponds to the JSON property `cancelSurveyReason`
4228
+ # Required. The duration of a single recurrence of this phase. Specified in ISO
4229
+ # 8601 format.
4230
+ # Corresponds to the JSON property `duration`
4231
+ # @return [String]
4232
+ attr_accessor :duration
4233
+
4234
+ # Configuration for any new locations Play may launch in for a single offer
4235
+ # phase.
4236
+ # Corresponds to the JSON property `otherRegionsConfig`
4237
+ # @return [Google::Apis::AndroidpublisherV3::OtherRegionsSubscriptionOfferPhaseConfig]
4238
+ attr_accessor :other_regions_config
4239
+
4240
+ # Required. The number of times this phase repeats. If this offer phase is not
4241
+ # free, each recurrence charges the user the price of this offer phase.
4242
+ # Corresponds to the JSON property `recurrenceCount`
1423
4243
  # @return [Fixnum]
1424
- attr_accessor :cancel_survey_reason
4244
+ attr_accessor :recurrence_count
1425
4245
 
1426
- # The customized input cancel reason from the user. Only present when
1427
- # cancelReason is 0.
1428
- # Corresponds to the JSON property `userInputCancelReason`
1429
- # @return [String]
1430
- attr_accessor :user_input_cancel_reason
4246
+ # Required. The region-specific configuration of this offer phase. This list
4247
+ # must contain exactly one entry for each region for which the subscription
4248
+ # offer has a regional config.
4249
+ # Corresponds to the JSON property `regionalConfigs`
4250
+ # @return [Array<Google::Apis::AndroidpublisherV3::RegionalSubscriptionOfferPhaseConfig>]
4251
+ attr_accessor :regional_configs
1431
4252
 
1432
4253
  def initialize(**args)
1433
4254
  update!(**args)
@@ -1435,28 +4256,27 @@ module Google
1435
4256
 
1436
4257
  # Update properties of this object
1437
4258
  def update!(**args)
1438
- @cancel_survey_reason = args[:cancel_survey_reason] if args.key?(:cancel_survey_reason)
1439
- @user_input_cancel_reason = args[:user_input_cancel_reason] if args.key?(:user_input_cancel_reason)
4259
+ @duration = args[:duration] if args.key?(:duration)
4260
+ @other_regions_config = args[:other_regions_config] if args.key?(:other_regions_config)
4261
+ @recurrence_count = args[:recurrence_count] if args.key?(:recurrence_count)
4262
+ @regional_configs = args[:regional_configs] if args.key?(:regional_configs)
1440
4263
  end
1441
4264
  end
1442
4265
 
1443
- # A SubscriptionDeferralInfo contains the data needed to defer a subscription
1444
- # purchase to a future expiry time.
1445
- class SubscriptionDeferralInfo
4266
+ # Defines the rule a user needs to satisfy to receive this offer.
4267
+ class SubscriptionOfferTargeting
1446
4268
  include Google::Apis::Core::Hashable
1447
4269
 
1448
- # The desired next expiry time to assign to the subscription, in milliseconds
1449
- # since the Epoch. The given time must be later/greater than the current expiry
1450
- # time for the subscription.
1451
- # Corresponds to the JSON property `desiredExpiryTimeMillis`
1452
- # @return [Fixnum]
1453
- attr_accessor :desired_expiry_time_millis
4270
+ # Represents a targeting rule of the form: User never had `scope` before.
4271
+ # Corresponds to the JSON property `acquisitionRule`
4272
+ # @return [Google::Apis::AndroidpublisherV3::AcquisitionTargetingRule]
4273
+ attr_accessor :acquisition_rule
1454
4274
 
1455
- # The expected expiry time for the subscription. If the current expiry time for
1456
- # the subscription is not the value specified here, the deferral will not occur.
1457
- # Corresponds to the JSON property `expectedExpiryTimeMillis`
1458
- # @return [Fixnum]
1459
- attr_accessor :expected_expiry_time_millis
4275
+ # Represents a targeting rule of the form: User currently has `scope` [with
4276
+ # billing period `billing_period`].
4277
+ # Corresponds to the JSON property `upgradeRule`
4278
+ # @return [Google::Apis::AndroidpublisherV3::UpgradeTargetingRule]
4279
+ attr_accessor :upgrade_rule
1460
4280
 
1461
4281
  def initialize(**args)
1462
4282
  update!(**args)
@@ -1464,8 +4284,8 @@ module Google
1464
4284
 
1465
4285
  # Update properties of this object
1466
4286
  def update!(**args)
1467
- @desired_expiry_time_millis = args[:desired_expiry_time_millis] if args.key?(:desired_expiry_time_millis)
1468
- @expected_expiry_time_millis = args[:expected_expiry_time_millis] if args.key?(:expected_expiry_time_millis)
4287
+ @acquisition_rule = args[:acquisition_rule] if args.key?(:acquisition_rule)
4288
+ @upgrade_rule = args[:upgrade_rule] if args.key?(:upgrade_rule)
1469
4289
  end
1470
4290
  end
1471
4291
 
@@ -1626,7 +4446,8 @@ module Google
1626
4446
  attr_accessor :obfuscated_external_profile_id
1627
4447
 
1628
4448
  # The order id of the latest recurring order associated with the purchase of the
1629
- # subscription.
4449
+ # subscription. If the subscription was canceled because payment was declined,
4450
+ # this will be the order id from the payment declined order.
1630
4451
  # Corresponds to the JSON property `orderId`
1631
4452
  # @return [String]
1632
4453
  attr_accessor :order_id
@@ -1638,9 +4459,11 @@ module Google
1638
4459
  # @return [Fixnum]
1639
4460
  attr_accessor :payment_state
1640
4461
 
1641
- # Price of the subscription, not including tax. Price is expressed in micro-
1642
- # units, where 1,000,000 micro-units represents one unit of the currency. For
1643
- # example, if the subscription price is €1.99, price_amount_micros is 1990000.
4462
+ # Price of the subscription, For tax exclusive countries, the price doesn't
4463
+ # include tax. For tax inclusive countries, the price includes tax. Price is
4464
+ # expressed in micro-units, where 1,000,000 micro-units represents one unit of
4465
+ # the currency. For example, if the subscription price is €1.99,
4466
+ # price_amount_micros is 1990000.
1644
4467
  # Corresponds to the JSON property `priceAmountMicros`
1645
4468
  # @return [Fixnum]
1646
4469
  attr_accessor :price_amount_micros
@@ -1709,46 +4532,349 @@ module Google
1709
4532
 
1710
4533
  # Update properties of this object
1711
4534
  def update!(**args)
1712
- @acknowledgement_state = args[:acknowledgement_state] if args.key?(:acknowledgement_state)
1713
- @auto_renewing = args[:auto_renewing] if args.key?(:auto_renewing)
1714
- @auto_resume_time_millis = args[:auto_resume_time_millis] if args.key?(:auto_resume_time_millis)
1715
- @cancel_reason = args[:cancel_reason] if args.key?(:cancel_reason)
1716
- @cancel_survey_result = args[:cancel_survey_result] if args.key?(:cancel_survey_result)
1717
- @country_code = args[:country_code] if args.key?(:country_code)
1718
- @developer_payload = args[:developer_payload] if args.key?(:developer_payload)
1719
- @email_address = args[:email_address] if args.key?(:email_address)
1720
- @expiry_time_millis = args[:expiry_time_millis] if args.key?(:expiry_time_millis)
1721
- @external_account_id = args[:external_account_id] if args.key?(:external_account_id)
1722
- @family_name = args[:family_name] if args.key?(:family_name)
1723
- @given_name = args[:given_name] if args.key?(:given_name)
1724
- @introductory_price_info = args[:introductory_price_info] if args.key?(:introductory_price_info)
1725
- @kind = args[:kind] if args.key?(:kind)
1726
- @linked_purchase_token = args[:linked_purchase_token] if args.key?(:linked_purchase_token)
1727
- @obfuscated_external_account_id = args[:obfuscated_external_account_id] if args.key?(:obfuscated_external_account_id)
1728
- @obfuscated_external_profile_id = args[:obfuscated_external_profile_id] if args.key?(:obfuscated_external_profile_id)
1729
- @order_id = args[:order_id] if args.key?(:order_id)
1730
- @payment_state = args[:payment_state] if args.key?(:payment_state)
1731
- @price_amount_micros = args[:price_amount_micros] if args.key?(:price_amount_micros)
1732
- @price_change = args[:price_change] if args.key?(:price_change)
1733
- @price_currency_code = args[:price_currency_code] if args.key?(:price_currency_code)
1734
- @profile_id = args[:profile_id] if args.key?(:profile_id)
1735
- @profile_name = args[:profile_name] if args.key?(:profile_name)
1736
- @promotion_code = args[:promotion_code] if args.key?(:promotion_code)
1737
- @promotion_type = args[:promotion_type] if args.key?(:promotion_type)
1738
- @purchase_type = args[:purchase_type] if args.key?(:purchase_type)
1739
- @start_time_millis = args[:start_time_millis] if args.key?(:start_time_millis)
1740
- @user_cancellation_time_millis = args[:user_cancellation_time_millis] if args.key?(:user_cancellation_time_millis)
4535
+ @acknowledgement_state = args[:acknowledgement_state] if args.key?(:acknowledgement_state)
4536
+ @auto_renewing = args[:auto_renewing] if args.key?(:auto_renewing)
4537
+ @auto_resume_time_millis = args[:auto_resume_time_millis] if args.key?(:auto_resume_time_millis)
4538
+ @cancel_reason = args[:cancel_reason] if args.key?(:cancel_reason)
4539
+ @cancel_survey_result = args[:cancel_survey_result] if args.key?(:cancel_survey_result)
4540
+ @country_code = args[:country_code] if args.key?(:country_code)
4541
+ @developer_payload = args[:developer_payload] if args.key?(:developer_payload)
4542
+ @email_address = args[:email_address] if args.key?(:email_address)
4543
+ @expiry_time_millis = args[:expiry_time_millis] if args.key?(:expiry_time_millis)
4544
+ @external_account_id = args[:external_account_id] if args.key?(:external_account_id)
4545
+ @family_name = args[:family_name] if args.key?(:family_name)
4546
+ @given_name = args[:given_name] if args.key?(:given_name)
4547
+ @introductory_price_info = args[:introductory_price_info] if args.key?(:introductory_price_info)
4548
+ @kind = args[:kind] if args.key?(:kind)
4549
+ @linked_purchase_token = args[:linked_purchase_token] if args.key?(:linked_purchase_token)
4550
+ @obfuscated_external_account_id = args[:obfuscated_external_account_id] if args.key?(:obfuscated_external_account_id)
4551
+ @obfuscated_external_profile_id = args[:obfuscated_external_profile_id] if args.key?(:obfuscated_external_profile_id)
4552
+ @order_id = args[:order_id] if args.key?(:order_id)
4553
+ @payment_state = args[:payment_state] if args.key?(:payment_state)
4554
+ @price_amount_micros = args[:price_amount_micros] if args.key?(:price_amount_micros)
4555
+ @price_change = args[:price_change] if args.key?(:price_change)
4556
+ @price_currency_code = args[:price_currency_code] if args.key?(:price_currency_code)
4557
+ @profile_id = args[:profile_id] if args.key?(:profile_id)
4558
+ @profile_name = args[:profile_name] if args.key?(:profile_name)
4559
+ @promotion_code = args[:promotion_code] if args.key?(:promotion_code)
4560
+ @promotion_type = args[:promotion_type] if args.key?(:promotion_type)
4561
+ @purchase_type = args[:purchase_type] if args.key?(:purchase_type)
4562
+ @start_time_millis = args[:start_time_millis] if args.key?(:start_time_millis)
4563
+ @user_cancellation_time_millis = args[:user_cancellation_time_millis] if args.key?(:user_cancellation_time_millis)
4564
+ end
4565
+ end
4566
+
4567
+ # Item-level info for a subscription purchase.
4568
+ class SubscriptionPurchaseLineItem
4569
+ include Google::Apis::Core::Hashable
4570
+
4571
+ # Information related to an auto renewing plan.
4572
+ # Corresponds to the JSON property `autoRenewingPlan`
4573
+ # @return [Google::Apis::AndroidpublisherV3::AutoRenewingPlan]
4574
+ attr_accessor :auto_renewing_plan
4575
+
4576
+ # Information related to deferred item replacement.
4577
+ # Corresponds to the JSON property `deferredItemReplacement`
4578
+ # @return [Google::Apis::AndroidpublisherV3::DeferredItemReplacement]
4579
+ attr_accessor :deferred_item_replacement
4580
+
4581
+ # Time at which the subscription expired or will expire unless the access is
4582
+ # extended (ex. renews).
4583
+ # Corresponds to the JSON property `expiryTime`
4584
+ # @return [String]
4585
+ attr_accessor :expiry_time
4586
+
4587
+ # Offer details information related to a purchase line item.
4588
+ # Corresponds to the JSON property `offerDetails`
4589
+ # @return [Google::Apis::AndroidpublisherV3::OfferDetails]
4590
+ attr_accessor :offer_details
4591
+
4592
+ # Information related to a prepaid plan.
4593
+ # Corresponds to the JSON property `prepaidPlan`
4594
+ # @return [Google::Apis::AndroidpublisherV3::PrepaidPlan]
4595
+ attr_accessor :prepaid_plan
4596
+
4597
+ # The purchased product ID (for example, 'monthly001').
4598
+ # Corresponds to the JSON property `productId`
4599
+ # @return [String]
4600
+ attr_accessor :product_id
4601
+
4602
+ def initialize(**args)
4603
+ update!(**args)
4604
+ end
4605
+
4606
+ # Update properties of this object
4607
+ def update!(**args)
4608
+ @auto_renewing_plan = args[:auto_renewing_plan] if args.key?(:auto_renewing_plan)
4609
+ @deferred_item_replacement = args[:deferred_item_replacement] if args.key?(:deferred_item_replacement)
4610
+ @expiry_time = args[:expiry_time] if args.key?(:expiry_time)
4611
+ @offer_details = args[:offer_details] if args.key?(:offer_details)
4612
+ @prepaid_plan = args[:prepaid_plan] if args.key?(:prepaid_plan)
4613
+ @product_id = args[:product_id] if args.key?(:product_id)
4614
+ end
4615
+ end
4616
+
4617
+ # Indicates the status of a user's subscription purchase.
4618
+ class SubscriptionPurchaseV2
4619
+ include Google::Apis::Core::Hashable
4620
+
4621
+ # The acknowledgement state of the subscription.
4622
+ # Corresponds to the JSON property `acknowledgementState`
4623
+ # @return [String]
4624
+ attr_accessor :acknowledgement_state
4625
+
4626
+ # Information specific to a subscription in canceled state.
4627
+ # Corresponds to the JSON property `canceledStateContext`
4628
+ # @return [Google::Apis::AndroidpublisherV3::CanceledStateContext]
4629
+ attr_accessor :canceled_state_context
4630
+
4631
+ # User account identifier in the third-party service.
4632
+ # Corresponds to the JSON property `externalAccountIdentifiers`
4633
+ # @return [Google::Apis::AndroidpublisherV3::ExternalAccountIdentifiers]
4634
+ attr_accessor :external_account_identifiers
4635
+
4636
+ # This kind represents a SubscriptionPurchaseV2 object in the androidpublisher
4637
+ # service.
4638
+ # Corresponds to the JSON property `kind`
4639
+ # @return [String]
4640
+ attr_accessor :kind
4641
+
4642
+ # The order id of the latest order associated with the purchase of the
4643
+ # subscription. For autoRenewing subscription, this is the order id of signup
4644
+ # order if it is not renewed yet, or the last recurring order id (success,
4645
+ # pending, or declined order). For prepaid subscription, this is the order id
4646
+ # associated with the queried purchase token.
4647
+ # Corresponds to the JSON property `latestOrderId`
4648
+ # @return [String]
4649
+ attr_accessor :latest_order_id
4650
+
4651
+ # Item-level info for a subscription purchase. The items in the same purchase
4652
+ # should be either all with AutoRenewingPlan or all with PrepaidPlan.
4653
+ # Corresponds to the JSON property `lineItems`
4654
+ # @return [Array<Google::Apis::AndroidpublisherV3::SubscriptionPurchaseLineItem>]
4655
+ attr_accessor :line_items
4656
+
4657
+ # The purchase token of the old subscription if this subscription is one of the
4658
+ # following: * Re-signup of a canceled but non-lapsed subscription * Upgrade/
4659
+ # downgrade from a previous subscription. * Convert from prepaid to auto
4660
+ # renewing subscription. * Convert from an auto renewing subscription to prepaid.
4661
+ # * Topup a prepaid subscription.
4662
+ # Corresponds to the JSON property `linkedPurchaseToken`
4663
+ # @return [String]
4664
+ attr_accessor :linked_purchase_token
4665
+
4666
+ # Information specific to a subscription in paused state.
4667
+ # Corresponds to the JSON property `pausedStateContext`
4668
+ # @return [Google::Apis::AndroidpublisherV3::PausedStateContext]
4669
+ attr_accessor :paused_state_context
4670
+
4671
+ # ISO 3166-1 alpha-2 billing country/region code of the user at the time the
4672
+ # subscription was granted.
4673
+ # Corresponds to the JSON property `regionCode`
4674
+ # @return [String]
4675
+ attr_accessor :region_code
4676
+
4677
+ # Time at which the subscription was granted. Not set for pending subscriptions (
4678
+ # subscription was created but awaiting payment during signup).
4679
+ # Corresponds to the JSON property `startTime`
4680
+ # @return [String]
4681
+ attr_accessor :start_time
4682
+
4683
+ # Information associated with purchases made with 'Subscribe with Google'.
4684
+ # Corresponds to the JSON property `subscribeWithGoogleInfo`
4685
+ # @return [Google::Apis::AndroidpublisherV3::SubscribeWithGoogleInfo]
4686
+ attr_accessor :subscribe_with_google_info
4687
+
4688
+ # The current state of the subscription.
4689
+ # Corresponds to the JSON property `subscriptionState`
4690
+ # @return [String]
4691
+ attr_accessor :subscription_state
4692
+
4693
+ # Whether this subscription purchase is a test purchase.
4694
+ # Corresponds to the JSON property `testPurchase`
4695
+ # @return [Google::Apis::AndroidpublisherV3::TestPurchase]
4696
+ attr_accessor :test_purchase
4697
+
4698
+ def initialize(**args)
4699
+ update!(**args)
4700
+ end
4701
+
4702
+ # Update properties of this object
4703
+ def update!(**args)
4704
+ @acknowledgement_state = args[:acknowledgement_state] if args.key?(:acknowledgement_state)
4705
+ @canceled_state_context = args[:canceled_state_context] if args.key?(:canceled_state_context)
4706
+ @external_account_identifiers = args[:external_account_identifiers] if args.key?(:external_account_identifiers)
4707
+ @kind = args[:kind] if args.key?(:kind)
4708
+ @latest_order_id = args[:latest_order_id] if args.key?(:latest_order_id)
4709
+ @line_items = args[:line_items] if args.key?(:line_items)
4710
+ @linked_purchase_token = args[:linked_purchase_token] if args.key?(:linked_purchase_token)
4711
+ @paused_state_context = args[:paused_state_context] if args.key?(:paused_state_context)
4712
+ @region_code = args[:region_code] if args.key?(:region_code)
4713
+ @start_time = args[:start_time] if args.key?(:start_time)
4714
+ @subscribe_with_google_info = args[:subscribe_with_google_info] if args.key?(:subscribe_with_google_info)
4715
+ @subscription_state = args[:subscription_state] if args.key?(:subscription_state)
4716
+ @test_purchase = args[:test_purchase] if args.key?(:test_purchase)
4717
+ end
4718
+ end
4719
+
4720
+ # Request for the purchases.subscriptions.acknowledge API.
4721
+ class SubscriptionPurchasesAcknowledgeRequest
4722
+ include Google::Apis::Core::Hashable
4723
+
4724
+ # Payload to attach to the purchase.
4725
+ # Corresponds to the JSON property `developerPayload`
4726
+ # @return [String]
4727
+ attr_accessor :developer_payload
4728
+
4729
+ def initialize(**args)
4730
+ update!(**args)
4731
+ end
4732
+
4733
+ # Update properties of this object
4734
+ def update!(**args)
4735
+ @developer_payload = args[:developer_payload] if args.key?(:developer_payload)
4736
+ end
4737
+ end
4738
+
4739
+ # Request for the purchases.subscriptions.defer API.
4740
+ class SubscriptionPurchasesDeferRequest
4741
+ include Google::Apis::Core::Hashable
4742
+
4743
+ # A SubscriptionDeferralInfo contains the data needed to defer a subscription
4744
+ # purchase to a future expiry time.
4745
+ # Corresponds to the JSON property `deferralInfo`
4746
+ # @return [Google::Apis::AndroidpublisherV3::SubscriptionDeferralInfo]
4747
+ attr_accessor :deferral_info
4748
+
4749
+ def initialize(**args)
4750
+ update!(**args)
4751
+ end
4752
+
4753
+ # Update properties of this object
4754
+ def update!(**args)
4755
+ @deferral_info = args[:deferral_info] if args.key?(:deferral_info)
4756
+ end
4757
+ end
4758
+
4759
+ # Response for the purchases.subscriptions.defer API.
4760
+ class SubscriptionPurchasesDeferResponse
4761
+ include Google::Apis::Core::Hashable
4762
+
4763
+ # The new expiry time for the subscription in milliseconds since the Epoch.
4764
+ # Corresponds to the JSON property `newExpiryTimeMillis`
4765
+ # @return [Fixnum]
4766
+ attr_accessor :new_expiry_time_millis
4767
+
4768
+ def initialize(**args)
4769
+ update!(**args)
4770
+ end
4771
+
4772
+ # Update properties of this object
4773
+ def update!(**args)
4774
+ @new_expiry_time_millis = args[:new_expiry_time_millis] if args.key?(:new_expiry_time_millis)
4775
+ end
4776
+ end
4777
+
4778
+ # Details about taxation, Google Play policy and legal compliance for
4779
+ # subscription products.
4780
+ class SubscriptionTaxAndComplianceSettings
4781
+ include Google::Apis::Core::Hashable
4782
+
4783
+ # Digital content or service classification for products distributed to users in
4784
+ # the European Economic Area (EEA). The withdrawal regime under EEA consumer
4785
+ # laws depends on this classification. Refer to the [Help Center article](https:/
4786
+ # /support.google.com/googleplay/android-developer/answer/10463498) for more
4787
+ # information.
4788
+ # Corresponds to the JSON property `eeaWithdrawalRightType`
4789
+ # @return [String]
4790
+ attr_accessor :eea_withdrawal_right_type
4791
+
4792
+ # Whether this subscription is declared as a product representing a tokenized
4793
+ # digital asset.
4794
+ # Corresponds to the JSON property `isTokenizedDigitalAsset`
4795
+ # @return [Boolean]
4796
+ attr_accessor :is_tokenized_digital_asset
4797
+ alias_method :is_tokenized_digital_asset?, :is_tokenized_digital_asset
4798
+
4799
+ # A mapping from region code to tax rate details. The keys are region codes as
4800
+ # defined by Unicode's "CLDR".
4801
+ # Corresponds to the JSON property `taxRateInfoByRegionCode`
4802
+ # @return [Hash<String,Google::Apis::AndroidpublisherV3::RegionalTaxRateInfo>]
4803
+ attr_accessor :tax_rate_info_by_region_code
4804
+
4805
+ def initialize(**args)
4806
+ update!(**args)
4807
+ end
4808
+
4809
+ # Update properties of this object
4810
+ def update!(**args)
4811
+ @eea_withdrawal_right_type = args[:eea_withdrawal_right_type] if args.key?(:eea_withdrawal_right_type)
4812
+ @is_tokenized_digital_asset = args[:is_tokenized_digital_asset] if args.key?(:is_tokenized_digital_asset)
4813
+ @tax_rate_info_by_region_code = args[:tax_rate_info_by_region_code] if args.key?(:tax_rate_info_by_region_code)
4814
+ end
4815
+ end
4816
+
4817
+ # Options for system APKs.
4818
+ class SystemApkOptions
4819
+ include Google::Apis::Core::Hashable
4820
+
4821
+ # Whether to use the rotated key for signing the system APK.
4822
+ # Corresponds to the JSON property `rotated`
4823
+ # @return [Boolean]
4824
+ attr_accessor :rotated
4825
+ alias_method :rotated?, :rotated
4826
+
4827
+ # Whether system APK was generated with uncompressed dex files.
4828
+ # Corresponds to the JSON property `uncompressedDexFiles`
4829
+ # @return [Boolean]
4830
+ attr_accessor :uncompressed_dex_files
4831
+ alias_method :uncompressed_dex_files?, :uncompressed_dex_files
4832
+
4833
+ # Whether system APK was generated with uncompressed native libraries.
4834
+ # Corresponds to the JSON property `uncompressedNativeLibraries`
4835
+ # @return [Boolean]
4836
+ attr_accessor :uncompressed_native_libraries
4837
+ alias_method :uncompressed_native_libraries?, :uncompressed_native_libraries
4838
+
4839
+ def initialize(**args)
4840
+ update!(**args)
4841
+ end
4842
+
4843
+ # Update properties of this object
4844
+ def update!(**args)
4845
+ @rotated = args[:rotated] if args.key?(:rotated)
4846
+ @uncompressed_dex_files = args[:uncompressed_dex_files] if args.key?(:uncompressed_dex_files)
4847
+ @uncompressed_native_libraries = args[:uncompressed_native_libraries] if args.key?(:uncompressed_native_libraries)
4848
+ end
4849
+ end
4850
+
4851
+ # Response to list previously created system APK variants.
4852
+ class SystemApksListResponse
4853
+ include Google::Apis::Core::Hashable
4854
+
4855
+ # All system APK variants created.
4856
+ # Corresponds to the JSON property `variants`
4857
+ # @return [Array<Google::Apis::AndroidpublisherV3::Variant>]
4858
+ attr_accessor :variants
4859
+
4860
+ def initialize(**args)
4861
+ update!(**args)
4862
+ end
4863
+
4864
+ # Update properties of this object
4865
+ def update!(**args)
4866
+ @variants = args[:variants] if args.key?(:variants)
1741
4867
  end
1742
4868
  end
1743
4869
 
1744
- # Request for the purchases.subscriptions.acknowledge API.
1745
- class SubscriptionPurchasesAcknowledgeRequest
4870
+ # Representation of a system feature.
4871
+ class SystemFeature
1746
4872
  include Google::Apis::Core::Hashable
1747
4873
 
1748
- # Payload to attach to the purchase.
1749
- # Corresponds to the JSON property `developerPayload`
4874
+ # The name of the feature.
4875
+ # Corresponds to the JSON property `name`
1750
4876
  # @return [String]
1751
- attr_accessor :developer_payload
4877
+ attr_accessor :name
1752
4878
 
1753
4879
  def initialize(**args)
1754
4880
  update!(**args)
@@ -1756,38 +4882,41 @@ module Google
1756
4882
 
1757
4883
  # Update properties of this object
1758
4884
  def update!(**args)
1759
- @developer_payload = args[:developer_payload] if args.key?(:developer_payload)
4885
+ @name = args[:name] if args.key?(:name)
1760
4886
  end
1761
4887
  end
1762
4888
 
1763
- # Request for the purchases.subscriptions.defer API.
1764
- class SubscriptionPurchasesDeferRequest
4889
+ # Information specific to cancellations initiated by Google system.
4890
+ class SystemInitiatedCancellation
1765
4891
  include Google::Apis::Core::Hashable
1766
4892
 
1767
- # A SubscriptionDeferralInfo contains the data needed to defer a subscription
1768
- # purchase to a future expiry time.
1769
- # Corresponds to the JSON property `deferralInfo`
1770
- # @return [Google::Apis::AndroidpublisherV3::SubscriptionDeferralInfo]
1771
- attr_accessor :deferral_info
1772
-
1773
4893
  def initialize(**args)
1774
4894
  update!(**args)
1775
4895
  end
1776
4896
 
1777
4897
  # Update properties of this object
1778
4898
  def update!(**args)
1779
- @deferral_info = args[:deferral_info] if args.key?(:deferral_info)
1780
4899
  end
1781
4900
  end
1782
4901
 
1783
- # Response for the purchases.subscriptions.defer API.
1784
- class SubscriptionPurchasesDeferResponse
4902
+ # Targeting information about the generated apks.
4903
+ class TargetingInfo
1785
4904
  include Google::Apis::Core::Hashable
1786
4905
 
1787
- # The new expiry time for the subscription in milliseconds since the Epoch.
1788
- # Corresponds to the JSON property `newExpiryTimeMillis`
1789
- # @return [Fixnum]
1790
- attr_accessor :new_expiry_time_millis
4906
+ # List of created asset slices.
4907
+ # Corresponds to the JSON property `assetSliceSet`
4908
+ # @return [Array<Google::Apis::AndroidpublisherV3::AssetSliceSet>]
4909
+ attr_accessor :asset_slice_set
4910
+
4911
+ # The package name of this app.
4912
+ # Corresponds to the JSON property `packageName`
4913
+ # @return [String]
4914
+ attr_accessor :package_name
4915
+
4916
+ # List of the created variants.
4917
+ # Corresponds to the JSON property `variant`
4918
+ # @return [Array<Google::Apis::AndroidpublisherV3::SplitApkVariant>]
4919
+ attr_accessor :variant
1791
4920
 
1792
4921
  def initialize(**args)
1793
4922
  update!(**args)
@@ -1795,18 +4924,36 @@ module Google
1795
4924
 
1796
4925
  # Update properties of this object
1797
4926
  def update!(**args)
1798
- @new_expiry_time_millis = args[:new_expiry_time_millis] if args.key?(:new_expiry_time_millis)
4927
+ @asset_slice_set = args[:asset_slice_set] if args.key?(:asset_slice_set)
4928
+ @package_name = args[:package_name] if args.key?(:package_name)
4929
+ @variant = args[:variant] if args.key?(:variant)
1799
4930
  end
1800
4931
  end
1801
4932
 
1802
- # Response to list previously created system APK variants.
1803
- class SystemApksListResponse
4933
+ # Defines the scope of subscriptions which a targeting rule can match to target
4934
+ # offers to users based on past or current entitlement.
4935
+ class TargetingRuleScope
1804
4936
  include Google::Apis::Core::Hashable
1805
4937
 
1806
- # All system APK variants created.
1807
- # Corresponds to the JSON property `variants`
1808
- # @return [Array<Google::Apis::AndroidpublisherV3::Variant>]
1809
- attr_accessor :variants
4938
+ # The scope of the current targeting rule is the subscription with the specified
4939
+ # subscription ID. Must be a subscription within the same parent app.
4940
+ # Corresponds to the JSON property `specificSubscriptionInApp`
4941
+ # @return [String]
4942
+ attr_accessor :specific_subscription_in_app
4943
+
4944
+ def initialize(**args)
4945
+ update!(**args)
4946
+ end
4947
+
4948
+ # Update properties of this object
4949
+ def update!(**args)
4950
+ @specific_subscription_in_app = args[:specific_subscription_in_app] if args.key?(:specific_subscription_in_app)
4951
+ end
4952
+ end
4953
+
4954
+ # Whether this subscription purchase is a test purchase.
4955
+ class TestPurchase
4956
+ include Google::Apis::Core::Hashable
1810
4957
 
1811
4958
  def initialize(**args)
1812
4959
  update!(**args)
@@ -1814,11 +4961,12 @@ module Google
1814
4961
 
1815
4962
  # Update properties of this object
1816
4963
  def update!(**args)
1817
- @variants = args[:variants] if args.key?(:variants)
1818
4964
  end
1819
4965
  end
1820
4966
 
1821
- # The testers of an app. The resource for TestersService.
4967
+ # The testers of an app. The resource for TestersService. Note: while it is
4968
+ # possible in the Play Console UI to add testers via email lists, email lists
4969
+ # are not supported by this resource.
1822
4970
  class Testers
1823
4971
  include Google::Apis::Core::Hashable
1824
4972
 
@@ -1837,6 +4985,50 @@ module Google
1837
4985
  end
1838
4986
  end
1839
4987
 
4988
+ # Represents texture compression format.
4989
+ class TextureCompressionFormat
4990
+ include Google::Apis::Core::Hashable
4991
+
4992
+ # Alias for texture compression format.
4993
+ # Corresponds to the JSON property `alias`
4994
+ # @return [String]
4995
+ attr_accessor :alias
4996
+
4997
+ def initialize(**args)
4998
+ update!(**args)
4999
+ end
5000
+
5001
+ # Update properties of this object
5002
+ def update!(**args)
5003
+ @alias = args[:alias] if args.key?(:alias)
5004
+ end
5005
+ end
5006
+
5007
+ # Targeting by a texture compression format.
5008
+ class TextureCompressionFormatTargeting
5009
+ include Google::Apis::Core::Hashable
5010
+
5011
+ # List of alternative TCFs (TCFs targeted by the sibling splits).
5012
+ # Corresponds to the JSON property `alternatives`
5013
+ # @return [Array<Google::Apis::AndroidpublisherV3::TextureCompressionFormat>]
5014
+ attr_accessor :alternatives
5015
+
5016
+ # The list of targeted TCFs. Should not be empty.
5017
+ # Corresponds to the JSON property `value`
5018
+ # @return [Array<Google::Apis::AndroidpublisherV3::TextureCompressionFormat>]
5019
+ attr_accessor :value
5020
+
5021
+ def initialize(**args)
5022
+ update!(**args)
5023
+ end
5024
+
5025
+ # Update properties of this object
5026
+ def update!(**args)
5027
+ @alternatives = args[:alternatives] if args.key?(:alternatives)
5028
+ @value = args[:value] if args.key?(:value)
5029
+ end
5030
+ end
5031
+
1840
5032
  # A Timestamp represents a point in time independent of any time zone or local
1841
5033
  # calendar, encoded as a count of seconds and fractions of seconds at nanosecond
1842
5034
  # resolution. The count is relative to an epoch at UTC midnight on January 1,
@@ -1909,7 +5101,10 @@ module Google
1909
5101
  # @return [Array<Google::Apis::AndroidpublisherV3::TrackRelease>]
1910
5102
  attr_accessor :releases
1911
5103
 
1912
- # Identifier of the track.
5104
+ # Identifier of the track. Form factor tracks have a special prefix as an
5105
+ # identifier, for example `wear:production`, `automotive:production`. [More on
5106
+ # track name](https://developers.google.com/android-publisher/tracks#ff-track-
5107
+ # name)
1913
5108
  # Corresponds to the JSON property `track`
1914
5109
  # @return [String]
1915
5110
  attr_accessor :track
@@ -1925,6 +5120,45 @@ module Google
1925
5120
  end
1926
5121
  end
1927
5122
 
5123
+ # Resource for per-track country availability information.
5124
+ class TrackCountryAvailability
5125
+ include Google::Apis::Core::Hashable
5126
+
5127
+ # A list of one or more countries where artifacts in this track are available.
5128
+ # This list includes all countries that are targeted by the track, even if only
5129
+ # specific carriers are targeted in that country.
5130
+ # Corresponds to the JSON property `countries`
5131
+ # @return [Array<Google::Apis::AndroidpublisherV3::TrackTargetedCountry>]
5132
+ attr_accessor :countries
5133
+
5134
+ # Whether artifacts in this track are available to "rest of the world" countries.
5135
+ # Corresponds to the JSON property `restOfWorld`
5136
+ # @return [Boolean]
5137
+ attr_accessor :rest_of_world
5138
+ alias_method :rest_of_world?, :rest_of_world
5139
+
5140
+ # Whether this track's availability is synced with the default production track.
5141
+ # See https://support.google.com/googleplay/android-developer/answer/7550024 for
5142
+ # more information on syncing country availability with production. Note that if
5143
+ # this is true, the returned "countries" and "rest_of_world" fields will reflect
5144
+ # the values for the default production track.
5145
+ # Corresponds to the JSON property `syncWithProduction`
5146
+ # @return [Boolean]
5147
+ attr_accessor :sync_with_production
5148
+ alias_method :sync_with_production?, :sync_with_production
5149
+
5150
+ def initialize(**args)
5151
+ update!(**args)
5152
+ end
5153
+
5154
+ # Update properties of this object
5155
+ def update!(**args)
5156
+ @countries = args[:countries] if args.key?(:countries)
5157
+ @rest_of_world = args[:rest_of_world] if args.key?(:rest_of_world)
5158
+ @sync_with_production = args[:sync_with_production] if args.key?(:sync_with_production)
5159
+ end
5160
+ end
5161
+
1928
5162
  # A release within a track.
1929
5163
  class TrackRelease
1930
5164
  include Google::Apis::Core::Hashable
@@ -1988,6 +5222,25 @@ module Google
1988
5222
  end
1989
5223
  end
1990
5224
 
5225
+ # Representation of a single country where the contents of a track are available.
5226
+ class TrackTargetedCountry
5227
+ include Google::Apis::Core::Hashable
5228
+
5229
+ # The country to target, as a two-letter CLDR code.
5230
+ # Corresponds to the JSON property `countryCode`
5231
+ # @return [String]
5232
+ attr_accessor :country_code
5233
+
5234
+ def initialize(**args)
5235
+ update!(**args)
5236
+ end
5237
+
5238
+ # Update properties of this object
5239
+ def update!(**args)
5240
+ @country_code = args[:country_code] if args.key?(:country_code)
5241
+ end
5242
+ end
5243
+
1991
5244
  # Response listing all tracks.
1992
5245
  class TracksListResponse
1993
5246
  include Google::Apis::Core::Hashable
@@ -2013,6 +5266,107 @@ module Google
2013
5266
  end
2014
5267
  end
2015
5268
 
5269
+ # Represents a targeting rule of the form: User currently has `scope` [with
5270
+ # billing period `billing_period`].
5271
+ class UpgradeTargetingRule
5272
+ include Google::Apis::Core::Hashable
5273
+
5274
+ # The specific billing period duration, specified in ISO 8601 format, that a
5275
+ # user must be currently subscribed to to be eligible for this rule. If not
5276
+ # specified, users subscribed to any billing period are matched.
5277
+ # Corresponds to the JSON property `billingPeriodDuration`
5278
+ # @return [String]
5279
+ attr_accessor :billing_period_duration
5280
+
5281
+ # Limit this offer to only once per user. If set to true, a user can never be
5282
+ # eligible for this offer again if they ever subscribed to this offer.
5283
+ # Corresponds to the JSON property `oncePerUser`
5284
+ # @return [Boolean]
5285
+ attr_accessor :once_per_user
5286
+ alias_method :once_per_user?, :once_per_user
5287
+
5288
+ # Defines the scope of subscriptions which a targeting rule can match to target
5289
+ # offers to users based on past or current entitlement.
5290
+ # Corresponds to the JSON property `scope`
5291
+ # @return [Google::Apis::AndroidpublisherV3::TargetingRuleScope]
5292
+ attr_accessor :scope
5293
+
5294
+ def initialize(**args)
5295
+ update!(**args)
5296
+ end
5297
+
5298
+ # Update properties of this object
5299
+ def update!(**args)
5300
+ @billing_period_duration = args[:billing_period_duration] if args.key?(:billing_period_duration)
5301
+ @once_per_user = args[:once_per_user] if args.key?(:once_per_user)
5302
+ @scope = args[:scope] if args.key?(:scope)
5303
+ end
5304
+ end
5305
+
5306
+ # A user resource.
5307
+ class User
5308
+ include Google::Apis::Core::Hashable
5309
+
5310
+ # Output only. The state of the user's access to the Play Console.
5311
+ # Corresponds to the JSON property `accessState`
5312
+ # @return [String]
5313
+ attr_accessor :access_state
5314
+
5315
+ # Permissions for the user which apply across the developer account.
5316
+ # Corresponds to the JSON property `developerAccountPermissions`
5317
+ # @return [Array<String>]
5318
+ attr_accessor :developer_account_permissions
5319
+
5320
+ # Immutable. The user's email address.
5321
+ # Corresponds to the JSON property `email`
5322
+ # @return [String]
5323
+ attr_accessor :email
5324
+
5325
+ # The time at which the user's access expires, if set. When setting this value,
5326
+ # it must always be in the future.
5327
+ # Corresponds to the JSON property `expirationTime`
5328
+ # @return [String]
5329
+ attr_accessor :expiration_time
5330
+
5331
+ # Output only. Per-app permissions for the user.
5332
+ # Corresponds to the JSON property `grants`
5333
+ # @return [Array<Google::Apis::AndroidpublisherV3::Grant>]
5334
+ attr_accessor :grants
5335
+
5336
+ # Required. Resource name for this user, following the pattern "developers/`
5337
+ # developer`/users/`email`".
5338
+ # Corresponds to the JSON property `name`
5339
+ # @return [String]
5340
+ attr_accessor :name
5341
+
5342
+ # Output only. Whether there are more permissions for the user that are not
5343
+ # represented here. This can happen if the caller does not have permission to
5344
+ # manage all apps in the account. This is also `true` if this user is the
5345
+ # account owner. If this field is `true`, it should be taken as a signal that
5346
+ # this user cannot be fully managed via the API. That is, the API caller is not
5347
+ # be able to manage all of the permissions this user holds, either because it
5348
+ # doesn't know about them or because the user is the account owner.
5349
+ # Corresponds to the JSON property `partial`
5350
+ # @return [Boolean]
5351
+ attr_accessor :partial
5352
+ alias_method :partial?, :partial
5353
+
5354
+ def initialize(**args)
5355
+ update!(**args)
5356
+ end
5357
+
5358
+ # Update properties of this object
5359
+ def update!(**args)
5360
+ @access_state = args[:access_state] if args.key?(:access_state)
5361
+ @developer_account_permissions = args[:developer_account_permissions] if args.key?(:developer_account_permissions)
5362
+ @email = args[:email] if args.key?(:email)
5363
+ @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
5364
+ @grants = args[:grants] if args.key?(:grants)
5365
+ @name = args[:name] if args.key?(:name)
5366
+ @partial = args[:partial] if args.key?(:partial)
5367
+ end
5368
+ end
5369
+
2016
5370
  # User entry from conversation between user and developer.
2017
5371
  class UserComment
2018
5372
  include Google::Apis::Core::Hashable
@@ -2108,6 +5462,86 @@ module Google
2108
5462
  end
2109
5463
  end
2110
5464
 
5465
+ # Describes an inclusive/exclusive list of country codes that module targets.
5466
+ class UserCountriesTargeting
5467
+ include Google::Apis::Core::Hashable
5468
+
5469
+ # List of country codes in the two-letter CLDR territory format.
5470
+ # Corresponds to the JSON property `countryCodes`
5471
+ # @return [Array<String>]
5472
+ attr_accessor :country_codes
5473
+
5474
+ # Indicates if the list above is exclusive.
5475
+ # Corresponds to the JSON property `exclude`
5476
+ # @return [Boolean]
5477
+ attr_accessor :exclude
5478
+ alias_method :exclude?, :exclude
5479
+
5480
+ def initialize(**args)
5481
+ update!(**args)
5482
+ end
5483
+
5484
+ # Update properties of this object
5485
+ def update!(**args)
5486
+ @country_codes = args[:country_codes] if args.key?(:country_codes)
5487
+ @exclude = args[:exclude] if args.key?(:exclude)
5488
+ end
5489
+ end
5490
+
5491
+ # A set of user countries. A country set determines what variation of app
5492
+ # content gets served to a specific location.
5493
+ class UserCountrySet
5494
+ include Google::Apis::Core::Hashable
5495
+
5496
+ # List of country codes representing countries. A Country code is represented in
5497
+ # ISO 3166 alpha-2 format. For Example:- "IT" for Italy, "GE" for Georgia.
5498
+ # Corresponds to the JSON property `countryCodes`
5499
+ # @return [Array<String>]
5500
+ attr_accessor :country_codes
5501
+
5502
+ # Country set name.
5503
+ # Corresponds to the JSON property `name`
5504
+ # @return [String]
5505
+ attr_accessor :name
5506
+
5507
+ def initialize(**args)
5508
+ update!(**args)
5509
+ end
5510
+
5511
+ # Update properties of this object
5512
+ def update!(**args)
5513
+ @country_codes = args[:country_codes] if args.key?(:country_codes)
5514
+ @name = args[:name] if args.key?(:name)
5515
+ end
5516
+ end
5517
+
5518
+ # Information specific to cancellations initiated by users.
5519
+ class UserInitiatedCancellation
5520
+ include Google::Apis::Core::Hashable
5521
+
5522
+ # Result of the cancel survey when the subscription was canceled by the user.
5523
+ # Corresponds to the JSON property `cancelSurveyResult`
5524
+ # @return [Google::Apis::AndroidpublisherV3::CancelSurveyResult]
5525
+ attr_accessor :cancel_survey_result
5526
+
5527
+ # The time at which the subscription was canceled by the user. The user might
5528
+ # still have access to the subscription after this time. Use line_items.
5529
+ # expiry_time to determine if a user still has access.
5530
+ # Corresponds to the JSON property `cancelTime`
5531
+ # @return [String]
5532
+ attr_accessor :cancel_time
5533
+
5534
+ def initialize(**args)
5535
+ update!(**args)
5536
+ end
5537
+
5538
+ # Update properties of this object
5539
+ def update!(**args)
5540
+ @cancel_survey_result = args[:cancel_survey_result] if args.key?(:cancel_survey_result)
5541
+ @cancel_time = args[:cancel_time] if args.key?(:cancel_time)
5542
+ end
5543
+ end
5544
+
2111
5545
  # A permission used by this APK.
2112
5546
  class UsesPermission
2113
5547
  include Google::Apis::Core::Hashable
@@ -2143,6 +5577,11 @@ module Google
2143
5577
  # @return [Google::Apis::AndroidpublisherV3::DeviceSpec]
2144
5578
  attr_accessor :device_spec
2145
5579
 
5580
+ # Options for system APKs.
5581
+ # Corresponds to the JSON property `options`
5582
+ # @return [Google::Apis::AndroidpublisherV3::SystemApkOptions]
5583
+ attr_accessor :options
5584
+
2146
5585
  # Output only. The ID of a previously created system APK variant.
2147
5586
  # Corresponds to the JSON property `variantId`
2148
5587
  # @return [Fixnum]
@@ -2155,10 +5594,54 @@ module Google
2155
5594
  # Update properties of this object
2156
5595
  def update!(**args)
2157
5596
  @device_spec = args[:device_spec] if args.key?(:device_spec)
5597
+ @options = args[:options] if args.key?(:options)
2158
5598
  @variant_id = args[:variant_id] if args.key?(:variant_id)
2159
5599
  end
2160
5600
  end
2161
5601
 
5602
+ # Targeting on the level of variants.
5603
+ class VariantTargeting
5604
+ include Google::Apis::Core::Hashable
5605
+
5606
+ # Targeting based on Abi.
5607
+ # Corresponds to the JSON property `abiTargeting`
5608
+ # @return [Google::Apis::AndroidpublisherV3::AbiTargeting]
5609
+ attr_accessor :abi_targeting
5610
+
5611
+ # Targeting based on multiple abis.
5612
+ # Corresponds to the JSON property `multiAbiTargeting`
5613
+ # @return [Google::Apis::AndroidpublisherV3::MultiAbiTargeting]
5614
+ attr_accessor :multi_abi_targeting
5615
+
5616
+ # Targeting based on screen density.
5617
+ # Corresponds to the JSON property `screenDensityTargeting`
5618
+ # @return [Google::Apis::AndroidpublisherV3::ScreenDensityTargeting]
5619
+ attr_accessor :screen_density_targeting
5620
+
5621
+ # Targeting based on sdk version.
5622
+ # Corresponds to the JSON property `sdkVersionTargeting`
5623
+ # @return [Google::Apis::AndroidpublisherV3::SdkVersionTargeting]
5624
+ attr_accessor :sdk_version_targeting
5625
+
5626
+ # Targeting by a texture compression format.
5627
+ # Corresponds to the JSON property `textureCompressionFormatTargeting`
5628
+ # @return [Google::Apis::AndroidpublisherV3::TextureCompressionFormatTargeting]
5629
+ attr_accessor :texture_compression_format_targeting
5630
+
5631
+ def initialize(**args)
5632
+ update!(**args)
5633
+ end
5634
+
5635
+ # Update properties of this object
5636
+ def update!(**args)
5637
+ @abi_targeting = args[:abi_targeting] if args.key?(:abi_targeting)
5638
+ @multi_abi_targeting = args[:multi_abi_targeting] if args.key?(:multi_abi_targeting)
5639
+ @screen_density_targeting = args[:screen_density_targeting] if args.key?(:screen_density_targeting)
5640
+ @sdk_version_targeting = args[:sdk_version_targeting] if args.key?(:sdk_version_targeting)
5641
+ @texture_compression_format_targeting = args[:texture_compression_format_targeting] if args.key?(:texture_compression_format_targeting)
5642
+ end
5643
+ end
5644
+
2162
5645
  # A VoidedPurchase resource indicates a purchase that was either canceled/
2163
5646
  # refunded/charged-back.
2164
5647
  class VoidedPurchase