google-apis-androidpublisher_v3 0.1.0 → 0.49.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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