google-apis-androidpublisher_v3 0.2.0 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,6 +22,52 @@ module Google
22
22
  module Apis
23
23
  module AndroidpublisherV3
24
24
 
25
+ # Represents a targeting rule of the form: User never had `scope` before.
26
+ class AcquisitionTargetingRule
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Defines the scope of subscriptions which a targeting rule can match to target
30
+ # offers to users based on past or current entitlement.
31
+ # Corresponds to the JSON property `scope`
32
+ # @return [Google::Apis::AndroidpublisherV3::TargetingRuleScope]
33
+ attr_accessor :scope
34
+
35
+ def initialize(**args)
36
+ update!(**args)
37
+ end
38
+
39
+ # Update properties of this object
40
+ def update!(**args)
41
+ @scope = args[:scope] if args.key?(:scope)
42
+ end
43
+ end
44
+
45
+ # Request message for ActivateBasePlan.
46
+ class ActivateBasePlanRequest
47
+ include Google::Apis::Core::Hashable
48
+
49
+ def initialize(**args)
50
+ update!(**args)
51
+ end
52
+
53
+ # Update properties of this object
54
+ def update!(**args)
55
+ end
56
+ end
57
+
58
+ # Request message for ActivateSubscriptionOffer.
59
+ class ActivateSubscriptionOfferRequest
60
+ include Google::Apis::Core::Hashable
61
+
62
+ def initialize(**args)
63
+ update!(**args)
64
+ end
65
+
66
+ # Update properties of this object
67
+ def update!(**args)
68
+ end
69
+ end
70
+
25
71
  # Information about an APK. The resource for ApksService.
26
72
  class Apk
27
73
  include Google::Apis::Core::Hashable
@@ -206,7 +252,177 @@ module Google
206
252
  end
207
253
  end
208
254
 
209
- # Information about a bundle. The resource for BundlesService.
255
+ # Request message for ArchiveSubscription.
256
+ class ArchiveSubscriptionRequest
257
+ include Google::Apis::Core::Hashable
258
+
259
+ def initialize(**args)
260
+ update!(**args)
261
+ end
262
+
263
+ # Update properties of this object
264
+ def update!(**args)
265
+ end
266
+ end
267
+
268
+ # Represents a base plan that automatically renews at the end of its
269
+ # subscription period.
270
+ class AutoRenewingBasePlanType
271
+ include Google::Apis::Core::Hashable
272
+
273
+ # Required. Subscription period, specified in ISO 8601 format. For a list of
274
+ # acceptable billing periods, refer to the help center.
275
+ # Corresponds to the JSON property `billingPeriodDuration`
276
+ # @return [String]
277
+ attr_accessor :billing_period_duration
278
+
279
+ # Grace period of the subscription, specified in ISO 8601 format. Acceptable
280
+ # values are P0D (zero days), P3D (3 days), P7D (7 days), P14D (14 days), and
281
+ # P30D (30 days). If not specified, a default value will be used based on the
282
+ # recurring period duration.
283
+ # Corresponds to the JSON property `gracePeriodDuration`
284
+ # @return [String]
285
+ attr_accessor :grace_period_duration
286
+
287
+ # Whether the renewing base plan is backward compatible. The backward compatible
288
+ # base plan is returned by the Google Play Billing Library deprecated method
289
+ # querySkuDetailsAsync(). Only one renewing base plan can be marked as legacy
290
+ # compatible for a given subscription.
291
+ # Corresponds to the JSON property `legacyCompatible`
292
+ # @return [Boolean]
293
+ attr_accessor :legacy_compatible
294
+ alias_method :legacy_compatible?, :legacy_compatible
295
+
296
+ # Subscription offer id which is legacy compatible. The backward compatible
297
+ # subscription offer is returned by the Google Play Billing Library deprecated
298
+ # method querySkuDetailsAsync(). Only one subscription offer can be marked as
299
+ # legacy compatible for a given renewing base plan. To have no Subscription
300
+ # offer as legacy compatible set this field as empty string.
301
+ # Corresponds to the JSON property `legacyCompatibleSubscriptionOfferId`
302
+ # @return [String]
303
+ attr_accessor :legacy_compatible_subscription_offer_id
304
+
305
+ # The proration mode for the base plan determines what happens when a user
306
+ # switches to this plan from another base plan. If unspecified, defaults to
307
+ # CHARGE_ON_NEXT_BILLING_DATE.
308
+ # Corresponds to the JSON property `prorationMode`
309
+ # @return [String]
310
+ attr_accessor :proration_mode
311
+
312
+ # Whether users should be able to resubscribe to this base plan in Google Play
313
+ # surfaces. Defaults to RESUBSCRIBE_STATE_ACTIVE if not specified.
314
+ # Corresponds to the JSON property `resubscribeState`
315
+ # @return [String]
316
+ attr_accessor :resubscribe_state
317
+
318
+ def initialize(**args)
319
+ update!(**args)
320
+ end
321
+
322
+ # Update properties of this object
323
+ def update!(**args)
324
+ @billing_period_duration = args[:billing_period_duration] if args.key?(:billing_period_duration)
325
+ @grace_period_duration = args[:grace_period_duration] if args.key?(:grace_period_duration)
326
+ @legacy_compatible = args[:legacy_compatible] if args.key?(:legacy_compatible)
327
+ @legacy_compatible_subscription_offer_id = args[:legacy_compatible_subscription_offer_id] if args.key?(:legacy_compatible_subscription_offer_id)
328
+ @proration_mode = args[:proration_mode] if args.key?(:proration_mode)
329
+ @resubscribe_state = args[:resubscribe_state] if args.key?(:resubscribe_state)
330
+ end
331
+ end
332
+
333
+ # Information related to an auto renewing plan.
334
+ class AutoRenewingPlan
335
+ include Google::Apis::Core::Hashable
336
+
337
+ # If the subscription is currently set to auto-renew, e.g. the user has not
338
+ # canceled the subscription
339
+ # Corresponds to the JSON property `autoRenewEnabled`
340
+ # @return [Boolean]
341
+ attr_accessor :auto_renew_enabled
342
+ alias_method :auto_renew_enabled?, :auto_renew_enabled
343
+
344
+ # Price change related information of a subscription item.
345
+ # Corresponds to the JSON property `priceChangeDetails`
346
+ # @return [Google::Apis::AndroidpublisherV3::SubscriptionItemPriceChangeDetails]
347
+ attr_accessor :price_change_details
348
+
349
+ def initialize(**args)
350
+ update!(**args)
351
+ end
352
+
353
+ # Update properties of this object
354
+ def update!(**args)
355
+ @auto_renew_enabled = args[:auto_renew_enabled] if args.key?(:auto_renew_enabled)
356
+ @price_change_details = args[:price_change_details] if args.key?(:price_change_details)
357
+ end
358
+ end
359
+
360
+ # A single base plan for a subscription.
361
+ class BasePlan
362
+ include Google::Apis::Core::Hashable
363
+
364
+ # Represents a base plan that automatically renews at the end of its
365
+ # subscription period.
366
+ # Corresponds to the JSON property `autoRenewingBasePlanType`
367
+ # @return [Google::Apis::AndroidpublisherV3::AutoRenewingBasePlanType]
368
+ attr_accessor :auto_renewing_base_plan_type
369
+
370
+ # Required. Immutable. The unique identifier of this base plan. Must be unique
371
+ # within the subscription, and conform with RFC-1034. That is, this ID can only
372
+ # contain lower-case letters (a-z), numbers (0-9), and hyphens (-), and be at
373
+ # most 63 characters.
374
+ # Corresponds to the JSON property `basePlanId`
375
+ # @return [String]
376
+ attr_accessor :base_plan_id
377
+
378
+ # List of up to 20 custom tags specified for this base plan, and returned to the
379
+ # app through the billing library. Subscription offers for this base plan will
380
+ # also receive these offer tags in the billing library.
381
+ # Corresponds to the JSON property `offerTags`
382
+ # @return [Array<Google::Apis::AndroidpublisherV3::OfferTag>]
383
+ attr_accessor :offer_tags
384
+
385
+ # Pricing information for any new locations Play may launch in.
386
+ # Corresponds to the JSON property `otherRegionsConfig`
387
+ # @return [Google::Apis::AndroidpublisherV3::OtherRegionsBasePlanConfig]
388
+ attr_accessor :other_regions_config
389
+
390
+ # Represents a base plan that does not automatically renew at the end of the
391
+ # base plan, and must be manually renewed by the user.
392
+ # Corresponds to the JSON property `prepaidBasePlanType`
393
+ # @return [Google::Apis::AndroidpublisherV3::PrepaidBasePlanType]
394
+ attr_accessor :prepaid_base_plan_type
395
+
396
+ # Region-specific information for this base plan.
397
+ # Corresponds to the JSON property `regionalConfigs`
398
+ # @return [Array<Google::Apis::AndroidpublisherV3::RegionalBasePlanConfig>]
399
+ attr_accessor :regional_configs
400
+
401
+ # Output only. The state of the base plan, i.e. whether it's active. Draft and
402
+ # inactive base plans can be activated or deleted. Active base plans can be made
403
+ # inactive. Inactive base plans can be canceled. This field cannot be changed by
404
+ # updating the resource. Use the dedicated endpoints instead.
405
+ # Corresponds to the JSON property `state`
406
+ # @return [String]
407
+ attr_accessor :state
408
+
409
+ def initialize(**args)
410
+ update!(**args)
411
+ end
412
+
413
+ # Update properties of this object
414
+ def update!(**args)
415
+ @auto_renewing_base_plan_type = args[:auto_renewing_base_plan_type] if args.key?(:auto_renewing_base_plan_type)
416
+ @base_plan_id = args[:base_plan_id] if args.key?(:base_plan_id)
417
+ @offer_tags = args[:offer_tags] if args.key?(:offer_tags)
418
+ @other_regions_config = args[:other_regions_config] if args.key?(:other_regions_config)
419
+ @prepaid_base_plan_type = args[:prepaid_base_plan_type] if args.key?(:prepaid_base_plan_type)
420
+ @regional_configs = args[:regional_configs] if args.key?(:regional_configs)
421
+ @state = args[:state] if args.key?(:state)
422
+ end
423
+ end
424
+
425
+ # Information about an app bundle. The resource for BundlesService.
210
426
  class Bundle
211
427
  include Google::Apis::Core::Hashable
212
428
 
@@ -240,11 +456,11 @@ module Google
240
456
  end
241
457
  end
242
458
 
243
- # Response listing all bundles.
459
+ # Response listing all app bundles.
244
460
  class BundlesListResponse
245
461
  include Google::Apis::Core::Hashable
246
462
 
247
- # All bundles.
463
+ # All app bundles.
248
464
  # Corresponds to the JSON property `bundles`
249
465
  # @return [Array<Google::Apis::AndroidpublisherV3::Bundle>]
250
466
  attr_accessor :bundles
@@ -265,6 +481,69 @@ module Google
265
481
  end
266
482
  end
267
483
 
484
+ # Result of the cancel survey when the subscription was canceled by the user.
485
+ class CancelSurveyResult
486
+ include Google::Apis::Core::Hashable
487
+
488
+ # The reason the user selected in the cancel survey.
489
+ # Corresponds to the JSON property `reason`
490
+ # @return [String]
491
+ attr_accessor :reason
492
+
493
+ # Only set for CANCEL_SURVEY_REASON_OTHERS. This is the user's freeform response
494
+ # to the survey.
495
+ # Corresponds to the JSON property `reasonUserInput`
496
+ # @return [String]
497
+ attr_accessor :reason_user_input
498
+
499
+ def initialize(**args)
500
+ update!(**args)
501
+ end
502
+
503
+ # Update properties of this object
504
+ def update!(**args)
505
+ @reason = args[:reason] if args.key?(:reason)
506
+ @reason_user_input = args[:reason_user_input] if args.key?(:reason_user_input)
507
+ end
508
+ end
509
+
510
+ # Information specific to a subscription in canceled state.
511
+ class CanceledStateContext
512
+ include Google::Apis::Core::Hashable
513
+
514
+ # Information specific to cancellations initiated by developers.
515
+ # Corresponds to the JSON property `developerInitiatedCancellation`
516
+ # @return [Google::Apis::AndroidpublisherV3::DeveloperInitiatedCancellation]
517
+ attr_accessor :developer_initiated_cancellation
518
+
519
+ # Information specific to cancellations caused by subscription replacement.
520
+ # Corresponds to the JSON property `replacementCancellation`
521
+ # @return [Google::Apis::AndroidpublisherV3::ReplacementCancellation]
522
+ attr_accessor :replacement_cancellation
523
+
524
+ # Information specific to cancellations initiated by Google system.
525
+ # Corresponds to the JSON property `systemInitiatedCancellation`
526
+ # @return [Google::Apis::AndroidpublisherV3::SystemInitiatedCancellation]
527
+ attr_accessor :system_initiated_cancellation
528
+
529
+ # Information specific to cancellations initiated by users.
530
+ # Corresponds to the JSON property `userInitiatedCancellation`
531
+ # @return [Google::Apis::AndroidpublisherV3::UserInitiatedCancellation]
532
+ attr_accessor :user_initiated_cancellation
533
+
534
+ def initialize(**args)
535
+ update!(**args)
536
+ end
537
+
538
+ # Update properties of this object
539
+ def update!(**args)
540
+ @developer_initiated_cancellation = args[:developer_initiated_cancellation] if args.key?(:developer_initiated_cancellation)
541
+ @replacement_cancellation = args[:replacement_cancellation] if args.key?(:replacement_cancellation)
542
+ @system_initiated_cancellation = args[:system_initiated_cancellation] if args.key?(:system_initiated_cancellation)
543
+ @user_initiated_cancellation = args[:user_initiated_cancellation] if args.key?(:user_initiated_cancellation)
544
+ end
545
+ end
546
+
268
547
  # An entry of conversation between user and developer.
269
548
  class Comment
270
549
  include Google::Apis::Core::Hashable
@@ -290,6 +569,106 @@ module Google
290
569
  end
291
570
  end
292
571
 
572
+ # Request message for ConvertRegionPrices.
573
+ class ConvertRegionPricesRequest
574
+ include Google::Apis::Core::Hashable
575
+
576
+ # Represents an amount of money with its currency type.
577
+ # Corresponds to the JSON property `price`
578
+ # @return [Google::Apis::AndroidpublisherV3::Money]
579
+ attr_accessor :price
580
+
581
+ def initialize(**args)
582
+ update!(**args)
583
+ end
584
+
585
+ # Update properties of this object
586
+ def update!(**args)
587
+ @price = args[:price] if args.key?(:price)
588
+ end
589
+ end
590
+
591
+ # Response message for ConvertRegionPrices.
592
+ class ConvertRegionPricesResponse
593
+ include Google::Apis::Core::Hashable
594
+
595
+ # Converted other regions prices.
596
+ # Corresponds to the JSON property `convertedOtherRegionsPrice`
597
+ # @return [Google::Apis::AndroidpublisherV3::ConvertedOtherRegionsPrice]
598
+ attr_accessor :converted_other_regions_price
599
+
600
+ # Map from region code to converted region price.
601
+ # Corresponds to the JSON property `convertedRegionPrices`
602
+ # @return [Hash<String,Google::Apis::AndroidpublisherV3::ConvertedRegionPrice>]
603
+ attr_accessor :converted_region_prices
604
+
605
+ def initialize(**args)
606
+ update!(**args)
607
+ end
608
+
609
+ # Update properties of this object
610
+ def update!(**args)
611
+ @converted_other_regions_price = args[:converted_other_regions_price] if args.key?(:converted_other_regions_price)
612
+ @converted_region_prices = args[:converted_region_prices] if args.key?(:converted_region_prices)
613
+ end
614
+ end
615
+
616
+ # Converted other regions prices.
617
+ class ConvertedOtherRegionsPrice
618
+ include Google::Apis::Core::Hashable
619
+
620
+ # Represents an amount of money with its currency type.
621
+ # Corresponds to the JSON property `eurPrice`
622
+ # @return [Google::Apis::AndroidpublisherV3::Money]
623
+ attr_accessor :eur_price
624
+
625
+ # Represents an amount of money with its currency type.
626
+ # Corresponds to the JSON property `usdPrice`
627
+ # @return [Google::Apis::AndroidpublisherV3::Money]
628
+ attr_accessor :usd_price
629
+
630
+ def initialize(**args)
631
+ update!(**args)
632
+ end
633
+
634
+ # Update properties of this object
635
+ def update!(**args)
636
+ @eur_price = args[:eur_price] if args.key?(:eur_price)
637
+ @usd_price = args[:usd_price] if args.key?(:usd_price)
638
+ end
639
+ end
640
+
641
+ # A converted region price.
642
+ class ConvertedRegionPrice
643
+ include Google::Apis::Core::Hashable
644
+
645
+ # Represents an amount of money with its currency type.
646
+ # Corresponds to the JSON property `price`
647
+ # @return [Google::Apis::AndroidpublisherV3::Money]
648
+ attr_accessor :price
649
+
650
+ # The region code of the region.
651
+ # Corresponds to the JSON property `regionCode`
652
+ # @return [String]
653
+ attr_accessor :region_code
654
+
655
+ # Represents an amount of money with its currency type.
656
+ # Corresponds to the JSON property `taxAmount`
657
+ # @return [Google::Apis::AndroidpublisherV3::Money]
658
+ attr_accessor :tax_amount
659
+
660
+ def initialize(**args)
661
+ update!(**args)
662
+ end
663
+
664
+ # Update properties of this object
665
+ def update!(**args)
666
+ @price = args[:price] if args.key?(:price)
667
+ @region_code = args[:region_code] if args.key?(:region_code)
668
+ @tax_amount = args[:tax_amount] if args.key?(:tax_amount)
669
+ end
670
+ end
671
+
293
672
  # Country targeting specification.
294
673
  class CountryTargeting
295
674
  include Google::Apis::Core::Hashable
@@ -317,6 +696,32 @@ module Google
317
696
  end
318
697
  end
319
698
 
699
+ # Request message for DeactivateBasePlan.
700
+ class DeactivateBasePlanRequest
701
+ include Google::Apis::Core::Hashable
702
+
703
+ def initialize(**args)
704
+ update!(**args)
705
+ end
706
+
707
+ # Update properties of this object
708
+ def update!(**args)
709
+ end
710
+ end
711
+
712
+ # Request message for DeactivateSubscriptionOffer.
713
+ class DeactivateSubscriptionOfferRequest
714
+ include Google::Apis::Core::Hashable
715
+
716
+ def initialize(**args)
717
+ update!(**args)
718
+ end
719
+
720
+ # Update properties of this object
721
+ def update!(**args)
722
+ end
723
+ end
724
+
320
725
  # Represents a deobfuscation file.
321
726
  class DeobfuscationFile
322
727
  include Google::Apis::Core::Hashable
@@ -383,6 +788,71 @@ module Google
383
788
  end
384
789
  end
385
790
 
791
+ # Information specific to cancellations initiated by developers.
792
+ class DeveloperInitiatedCancellation
793
+ include Google::Apis::Core::Hashable
794
+
795
+ def initialize(**args)
796
+ update!(**args)
797
+ end
798
+
799
+ # Update properties of this object
800
+ def update!(**args)
801
+ end
802
+ end
803
+
804
+ # A group of devices. A group is defined by a set of device selectors. A device
805
+ # belongs to the group if it matches any selector (logical OR).
806
+ class DeviceGroup
807
+ include Google::Apis::Core::Hashable
808
+
809
+ # Device selectors for this group. A device matching any of the selectors is
810
+ # included in this group.
811
+ # Corresponds to the JSON property `deviceSelectors`
812
+ # @return [Array<Google::Apis::AndroidpublisherV3::DeviceSelector>]
813
+ attr_accessor :device_selectors
814
+
815
+ # The name of the group.
816
+ # Corresponds to the JSON property `name`
817
+ # @return [String]
818
+ attr_accessor :name
819
+
820
+ def initialize(**args)
821
+ update!(**args)
822
+ end
823
+
824
+ # Update properties of this object
825
+ def update!(**args)
826
+ @device_selectors = args[:device_selectors] if args.key?(:device_selectors)
827
+ @name = args[:name] if args.key?(:name)
828
+ end
829
+ end
830
+
831
+ # Identifier of a device.
832
+ class DeviceId
833
+ include Google::Apis::Core::Hashable
834
+
835
+ # Value of Build.BRAND.
836
+ # Corresponds to the JSON property `buildBrand`
837
+ # @return [String]
838
+ attr_accessor :build_brand
839
+
840
+ # Value of Build.DEVICE.
841
+ # Corresponds to the JSON property `buildDevice`
842
+ # @return [String]
843
+ attr_accessor :build_device
844
+
845
+ def initialize(**args)
846
+ update!(**args)
847
+ end
848
+
849
+ # Update properties of this object
850
+ def update!(**args)
851
+ @build_brand = args[:build_brand] if args.key?(:build_brand)
852
+ @build_device = args[:build_device] if args.key?(:build_device)
853
+ end
854
+ end
855
+
386
856
  # Characteristics of the user's device.
387
857
  class DeviceMetadata
388
858
  include Google::Apis::Core::Hashable
@@ -462,17 +932,93 @@ module Google
462
932
  end
463
933
  end
464
934
 
465
- # The device spec used to generate a system APK.
466
- class DeviceSpec
935
+ # Conditions about a device's RAM capabilities.
936
+ class DeviceRam
467
937
  include Google::Apis::Core::Hashable
468
938
 
469
- # Screen dpi.
470
- # Corresponds to the JSON property `screenDensity`
939
+ # Maximum RAM in bytes (bound excluded).
940
+ # Corresponds to the JSON property `maxBytes`
471
941
  # @return [Fixnum]
472
- attr_accessor :screen_density
942
+ attr_accessor :max_bytes
473
943
 
474
- # Supported ABI architectures in the order of preference. The values should be
475
- # the string as reported by the platform, e.g. "armeabi-v7a", "x86_64".
944
+ # Minimum RAM in bytes (bound included).
945
+ # Corresponds to the JSON property `minBytes`
946
+ # @return [Fixnum]
947
+ attr_accessor :min_bytes
948
+
949
+ def initialize(**args)
950
+ update!(**args)
951
+ end
952
+
953
+ # Update properties of this object
954
+ def update!(**args)
955
+ @max_bytes = args[:max_bytes] if args.key?(:max_bytes)
956
+ @min_bytes = args[:min_bytes] if args.key?(:min_bytes)
957
+ end
958
+ end
959
+
960
+ # Selector for a device group. A selector consists of a set of conditions on the
961
+ # device that should all match (logical AND) to determine a device group
962
+ # eligibility. For instance, if a selector specifies RAM conditions, device
963
+ # model inclusion and device model exclusion, a device is considered to match if:
964
+ # device matches RAM conditions AND device matches one of the included device
965
+ # models AND device doesn't match excluded device models
966
+ class DeviceSelector
967
+ include Google::Apis::Core::Hashable
968
+
969
+ # Conditions about a device's RAM capabilities.
970
+ # Corresponds to the JSON property `deviceRam`
971
+ # @return [Google::Apis::AndroidpublisherV3::DeviceRam]
972
+ attr_accessor :device_ram
973
+
974
+ # Device models excluded by this selector, even if they match all other
975
+ # conditions.
976
+ # Corresponds to the JSON property `excludedDeviceIds`
977
+ # @return [Array<Google::Apis::AndroidpublisherV3::DeviceId>]
978
+ attr_accessor :excluded_device_ids
979
+
980
+ # A device that has any of these system features is excluded by this selector,
981
+ # even if it matches all other conditions.
982
+ # Corresponds to the JSON property `forbiddenSystemFeatures`
983
+ # @return [Array<Google::Apis::AndroidpublisherV3::SystemFeature>]
984
+ attr_accessor :forbidden_system_features
985
+
986
+ # Device models included by this selector.
987
+ # Corresponds to the JSON property `includedDeviceIds`
988
+ # @return [Array<Google::Apis::AndroidpublisherV3::DeviceId>]
989
+ attr_accessor :included_device_ids
990
+
991
+ # A device needs to have all these system features to be included by the
992
+ # selector.
993
+ # Corresponds to the JSON property `requiredSystemFeatures`
994
+ # @return [Array<Google::Apis::AndroidpublisherV3::SystemFeature>]
995
+ attr_accessor :required_system_features
996
+
997
+ def initialize(**args)
998
+ update!(**args)
999
+ end
1000
+
1001
+ # Update properties of this object
1002
+ def update!(**args)
1003
+ @device_ram = args[:device_ram] if args.key?(:device_ram)
1004
+ @excluded_device_ids = args[:excluded_device_ids] if args.key?(:excluded_device_ids)
1005
+ @forbidden_system_features = args[:forbidden_system_features] if args.key?(:forbidden_system_features)
1006
+ @included_device_ids = args[:included_device_ids] if args.key?(:included_device_ids)
1007
+ @required_system_features = args[:required_system_features] if args.key?(:required_system_features)
1008
+ end
1009
+ end
1010
+
1011
+ # The device spec used to generate a system APK.
1012
+ class DeviceSpec
1013
+ include Google::Apis::Core::Hashable
1014
+
1015
+ # Screen dpi.
1016
+ # Corresponds to the JSON property `screenDensity`
1017
+ # @return [Fixnum]
1018
+ attr_accessor :screen_density
1019
+
1020
+ # Supported ABI architectures in the order of preference. The values should be
1021
+ # the string as reported by the platform, e.g. "armeabi-v7a", "x86_64".
476
1022
  # Corresponds to the JSON property `supportedAbis`
477
1023
  # @return [Array<String>]
478
1024
  attr_accessor :supported_abis
@@ -494,6 +1040,105 @@ module Google
494
1040
  end
495
1041
  end
496
1042
 
1043
+ # A single device tier. Devices matching any of the device groups in
1044
+ # device_group_names are considered to match the tier.
1045
+ class DeviceTier
1046
+ include Google::Apis::Core::Hashable
1047
+
1048
+ # Groups of devices included in this tier. These groups must be defined
1049
+ # explicitly under device_groups in this configuration.
1050
+ # Corresponds to the JSON property `deviceGroupNames`
1051
+ # @return [Array<String>]
1052
+ attr_accessor :device_group_names
1053
+
1054
+ # The priority level of the tier. Tiers are evaluated in descending order of
1055
+ # level: the highest level tier has the highest priority. The highest tier
1056
+ # matching a given device is selected for that device. You should use a
1057
+ # contiguous range of levels for your tiers in a tier set; tier levels in a tier
1058
+ # set must be unique. For instance, if your tier set has 4 tiers (including the
1059
+ # global fallback), you should define tiers 1, 2 and 3 in this configuration.
1060
+ # Note: tier 0 is implicitly defined as a global fallback and selected for
1061
+ # devices that don't match any of the tiers explicitly defined here. You mustn't
1062
+ # define level 0 explicitly in this configuration.
1063
+ # Corresponds to the JSON property `level`
1064
+ # @return [Fixnum]
1065
+ attr_accessor :level
1066
+
1067
+ def initialize(**args)
1068
+ update!(**args)
1069
+ end
1070
+
1071
+ # Update properties of this object
1072
+ def update!(**args)
1073
+ @device_group_names = args[:device_group_names] if args.key?(:device_group_names)
1074
+ @level = args[:level] if args.key?(:level)
1075
+ end
1076
+ end
1077
+
1078
+ # Configuration describing device targeting criteria for the content of an app.
1079
+ class DeviceTierConfig
1080
+ include Google::Apis::Core::Hashable
1081
+
1082
+ # Definition of device groups for the app.
1083
+ # Corresponds to the JSON property `deviceGroups`
1084
+ # @return [Array<Google::Apis::AndroidpublisherV3::DeviceGroup>]
1085
+ attr_accessor :device_groups
1086
+
1087
+ # Output only. The device tier config ID.
1088
+ # Corresponds to the JSON property `deviceTierConfigId`
1089
+ # @return [Fixnum]
1090
+ attr_accessor :device_tier_config_id
1091
+
1092
+ # A set of device tiers. A tier set determines what variation of app content
1093
+ # gets served to a specific device, for device-targeted content. You should
1094
+ # assign a priority level to each tier, which determines the ordering by which
1095
+ # they are evaluated by Play. See the documentation of DeviceTier.level for more
1096
+ # details.
1097
+ # Corresponds to the JSON property `deviceTierSet`
1098
+ # @return [Google::Apis::AndroidpublisherV3::DeviceTierSet]
1099
+ attr_accessor :device_tier_set
1100
+
1101
+ # Definition of user country sets for the app.
1102
+ # Corresponds to the JSON property `userCountrySets`
1103
+ # @return [Array<Google::Apis::AndroidpublisherV3::UserCountrySet>]
1104
+ attr_accessor :user_country_sets
1105
+
1106
+ def initialize(**args)
1107
+ update!(**args)
1108
+ end
1109
+
1110
+ # Update properties of this object
1111
+ def update!(**args)
1112
+ @device_groups = args[:device_groups] if args.key?(:device_groups)
1113
+ @device_tier_config_id = args[:device_tier_config_id] if args.key?(:device_tier_config_id)
1114
+ @device_tier_set = args[:device_tier_set] if args.key?(:device_tier_set)
1115
+ @user_country_sets = args[:user_country_sets] if args.key?(:user_country_sets)
1116
+ end
1117
+ end
1118
+
1119
+ # A set of device tiers. A tier set determines what variation of app content
1120
+ # gets served to a specific device, for device-targeted content. You should
1121
+ # assign a priority level to each tier, which determines the ordering by which
1122
+ # they are evaluated by Play. See the documentation of DeviceTier.level for more
1123
+ # details.
1124
+ class DeviceTierSet
1125
+ include Google::Apis::Core::Hashable
1126
+
1127
+ # Device tiers belonging to the set.
1128
+ # Corresponds to the JSON property `deviceTiers`
1129
+ # @return [Array<Google::Apis::AndroidpublisherV3::DeviceTier>]
1130
+ attr_accessor :device_tiers
1131
+
1132
+ def initialize(**args)
1133
+ update!(**args)
1134
+ end
1135
+
1136
+ # Update properties of this object
1137
+ def update!(**args)
1138
+ @device_tiers = args[:device_tiers] if args.key?(:device_tiers)
1139
+ end
1140
+ end
1141
+
497
1142
  # An expansion file. The resource for ExpansionFilesService.
498
1143
  class ExpansionFile
499
1144
  include Google::Apis::Core::Hashable
@@ -541,6 +1186,194 @@ module Google
541
1186
  end
542
1187
  end
543
1188
 
1189
+ # User account identifier in the third-party service.
1190
+ class ExternalAccountIdentifiers
1191
+ include Google::Apis::Core::Hashable
1192
+
1193
+ # User account identifier in the third-party service. Only present if account
1194
+ # linking happened as part of the subscription purchase flow.
1195
+ # Corresponds to the JSON property `externalAccountId`
1196
+ # @return [String]
1197
+ attr_accessor :external_account_id
1198
+
1199
+ # An obfuscated version of the id that is uniquely associated with the user's
1200
+ # account in your app. Present for the following purchases: * If account linking
1201
+ # happened as part of the subscription purchase flow. * It was specified using
1202
+ # https://developer.android.com/reference/com/android/billingclient/api/
1203
+ # BillingFlowParams.Builder#setobfuscatedaccountid when the purchase was made.
1204
+ # Corresponds to the JSON property `obfuscatedExternalAccountId`
1205
+ # @return [String]
1206
+ attr_accessor :obfuscated_external_account_id
1207
+
1208
+ # An obfuscated version of the id that is uniquely associated with the user's
1209
+ # profile in your app. Only present if specified using https://developer.android.
1210
+ # com/reference/com/android/billingclient/api/BillingFlowParams.Builder#
1211
+ # setobfuscatedprofileid when the purchase was made.
1212
+ # Corresponds to the JSON property `obfuscatedExternalProfileId`
1213
+ # @return [String]
1214
+ attr_accessor :obfuscated_external_profile_id
1215
+
1216
+ def initialize(**args)
1217
+ update!(**args)
1218
+ end
1219
+
1220
+ # Update properties of this object
1221
+ def update!(**args)
1222
+ @external_account_id = args[:external_account_id] if args.key?(:external_account_id)
1223
+ @obfuscated_external_account_id = args[:obfuscated_external_account_id] if args.key?(:obfuscated_external_account_id)
1224
+ @obfuscated_external_profile_id = args[:obfuscated_external_profile_id] if args.key?(:obfuscated_external_profile_id)
1225
+ end
1226
+ end
1227
+
1228
+ # Details of an external subscription.
1229
+ class ExternalSubscription
1230
+ include Google::Apis::Core::Hashable
1231
+
1232
+ # Required. The type of the external subscription.
1233
+ # Corresponds to the JSON property `subscriptionType`
1234
+ # @return [String]
1235
+ attr_accessor :subscription_type
1236
+
1237
+ def initialize(**args)
1238
+ update!(**args)
1239
+ end
1240
+
1241
+ # Update properties of this object
1242
+ def update!(**args)
1243
+ @subscription_type = args[:subscription_type] if args.key?(:subscription_type)
1244
+ end
1245
+ end
1246
+
1247
+ # The details of an external transaction.
1248
+ class ExternalTransaction
1249
+ include Google::Apis::Core::Hashable
1250
+
1251
+ # Output only. The time when this transaction was created. This is the time when
1252
+ # Google was notified of the transaction.
1253
+ # Corresponds to the JSON property `createTime`
1254
+ # @return [String]
1255
+ attr_accessor :create_time
1256
+
1257
+ # Definition of a price, i.e. currency and units.
1258
+ # Corresponds to the JSON property `currentPreTaxAmount`
1259
+ # @return [Google::Apis::AndroidpublisherV3::Price]
1260
+ attr_accessor :current_pre_tax_amount
1261
+
1262
+ # Definition of a price, i.e. currency and units.
1263
+ # Corresponds to the JSON property `currentTaxAmount`
1264
+ # @return [Google::Apis::AndroidpublisherV3::Price]
1265
+ attr_accessor :current_tax_amount
1266
+
1267
+ # Output only. The id of this transaction. All transaction ids under the same
1268
+ # package name must be unique. Set when creating the external transaction.
1269
+ # Corresponds to the JSON property `externalTransactionId`
1270
+ # @return [String]
1271
+ attr_accessor :external_transaction_id
1272
+
1273
+ # Represents a one-time transaction.
1274
+ # Corresponds to the JSON property `oneTimeTransaction`
1275
+ # @return [Google::Apis::AndroidpublisherV3::OneTimeExternalTransaction]
1276
+ attr_accessor :one_time_transaction
1277
+
1278
+ # Definition of a price, i.e. currency and units.
1279
+ # Corresponds to the JSON property `originalPreTaxAmount`
1280
+ # @return [Google::Apis::AndroidpublisherV3::Price]
1281
+ attr_accessor :original_pre_tax_amount
1282
+
1283
+ # Definition of a price, i.e. currency and units.
1284
+ # Corresponds to the JSON property `originalTaxAmount`
1285
+ # @return [Google::Apis::AndroidpublisherV3::Price]
1286
+ attr_accessor :original_tax_amount
1287
+
1288
+ # Output only. The resource name of the external transaction. The package name
1289
+ # of the application the inapp products were sold (for example, 'com.some.app').
1290
+ # Corresponds to the JSON property `packageName`
1291
+ # @return [String]
1292
+ attr_accessor :package_name
1293
+
1294
+ # Represents a transaction that is part of a recurring series of payments. This
1295
+ # can be a subscription or a one-time product with multiple payments (such as
1296
+ # preorder).
1297
+ # Corresponds to the JSON property `recurringTransaction`
1298
+ # @return [Google::Apis::AndroidpublisherV3::RecurringExternalTransaction]
1299
+ attr_accessor :recurring_transaction
1300
+
1301
+ # Represents a transaction performed using a test account. These transactions
1302
+ # will not be charged by Google.
1303
+ # Corresponds to the JSON property `testPurchase`
1304
+ # @return [Google::Apis::AndroidpublisherV3::ExternalTransactionTestPurchase]
1305
+ attr_accessor :test_purchase
1306
+
1307
+ # Output only. The current state of the transaction.
1308
+ # Corresponds to the JSON property `transactionState`
1309
+ # @return [String]
1310
+ attr_accessor :transaction_state
1311
+
1312
+ # Required. The time when the transaction was completed.
1313
+ # Corresponds to the JSON property `transactionTime`
1314
+ # @return [String]
1315
+ attr_accessor :transaction_time
1316
+
1317
+ # User's address for the external transaction.
1318
+ # Corresponds to the JSON property `userTaxAddress`
1319
+ # @return [Google::Apis::AndroidpublisherV3::ExternalTransactionAddress]
1320
+ attr_accessor :user_tax_address
1321
+
1322
+ def initialize(**args)
1323
+ update!(**args)
1324
+ end
1325
+
1326
+ # Update properties of this object
1327
+ def update!(**args)
1328
+ @create_time = args[:create_time] if args.key?(:create_time)
1329
+ @current_pre_tax_amount = args[:current_pre_tax_amount] if args.key?(:current_pre_tax_amount)
1330
+ @current_tax_amount = args[:current_tax_amount] if args.key?(:current_tax_amount)
1331
+ @external_transaction_id = args[:external_transaction_id] if args.key?(:external_transaction_id)
1332
+ @one_time_transaction = args[:one_time_transaction] if args.key?(:one_time_transaction)
1333
+ @original_pre_tax_amount = args[:original_pre_tax_amount] if args.key?(:original_pre_tax_amount)
1334
+ @original_tax_amount = args[:original_tax_amount] if args.key?(:original_tax_amount)
1335
+ @package_name = args[:package_name] if args.key?(:package_name)
1336
+ @recurring_transaction = args[:recurring_transaction] if args.key?(:recurring_transaction)
1337
+ @test_purchase = args[:test_purchase] if args.key?(:test_purchase)
1338
+ @transaction_state = args[:transaction_state] if args.key?(:transaction_state)
1339
+ @transaction_time = args[:transaction_time] if args.key?(:transaction_time)
1340
+ @user_tax_address = args[:user_tax_address] if args.key?(:user_tax_address)
1341
+ end
1342
+ end
1343
+
1344
+ # User's address for the external transaction.
1345
+ class ExternalTransactionAddress
1346
+ include Google::Apis::Core::Hashable
1347
+
1348
+ # Required. Two letter region code based on ISO-3166-1 Alpha-2 (UN region codes).
1349
+ # Corresponds to the JSON property `regionCode`
1350
+ # @return [String]
1351
+ attr_accessor :region_code
1352
+
1353
+ def initialize(**args)
1354
+ update!(**args)
1355
+ end
1356
+
1357
+ # Update properties of this object
1358
+ def update!(**args)
1359
+ @region_code = args[:region_code] if args.key?(:region_code)
1360
+ end
1361
+ end
1362
+
1363
+ # Represents a transaction performed using a test account. These transactions
1364
+ # will not be charged by Google.
1365
+ class ExternalTransactionTestPurchase
1366
+ include Google::Apis::Core::Hashable
1367
+
1368
+ def initialize(**args)
1369
+ update!(**args)
1370
+ end
1371
+
1372
+ # Update properties of this object
1373
+ def update!(**args)
1374
+ end
1375
+ end
1376
+
544
1377
  # Defines an APK available for this application that is hosted externally and
545
1378
  # not uploaded to Google Play. This function is only available to organizations
546
1379
  # using Managed Play whose application is configured to restrict distribution to
@@ -648,51 +1481,27 @@ module Google
648
1481
  end
649
1482
  end
650
1483
 
651
- # An uploaded image. The resource for ImagesService.
652
- class Image
1484
+ # A full refund of the remaining amount of a transaction.
1485
+ class FullRefund
653
1486
  include Google::Apis::Core::Hashable
654
1487
 
655
- # A unique id representing this image.
656
- # Corresponds to the JSON property `id`
657
- # @return [String]
658
- attr_accessor :id
659
-
660
- # A sha1 hash of the image.
661
- # Corresponds to the JSON property `sha1`
662
- # @return [String]
663
- attr_accessor :sha1
664
-
665
- # A sha256 hash of the image.
666
- # Corresponds to the JSON property `sha256`
667
- # @return [String]
668
- attr_accessor :sha256
669
-
670
- # A URL that will serve a preview of the image.
671
- # Corresponds to the JSON property `url`
672
- # @return [String]
673
- attr_accessor :url
674
-
675
1488
  def initialize(**args)
676
1489
  update!(**args)
677
1490
  end
678
1491
 
679
1492
  # Update properties of this object
680
1493
  def update!(**args)
681
- @id = args[:id] if args.key?(:id)
682
- @sha1 = args[:sha1] if args.key?(:sha1)
683
- @sha256 = args[:sha256] if args.key?(:sha256)
684
- @url = args[:url] if args.key?(:url)
685
1494
  end
686
1495
  end
687
1496
 
688
- # Response for deleting all images.
689
- class ImagesDeleteAllResponse
1497
+ # Response to list generated APKs.
1498
+ class GeneratedApksListResponse
690
1499
  include Google::Apis::Core::Hashable
691
1500
 
692
- # The deleted images.
693
- # Corresponds to the JSON property `deleted`
694
- # @return [Array<Google::Apis::AndroidpublisherV3::Image>]
695
- attr_accessor :deleted
1501
+ # All generated APKs, grouped by the APK signing key.
1502
+ # Corresponds to the JSON property `generatedApks`
1503
+ # @return [Array<Google::Apis::AndroidpublisherV3::GeneratedApksPerSigningKey>]
1504
+ attr_accessor :generated_apks
696
1505
 
697
1506
  def initialize(**args)
698
1507
  update!(**args)
@@ -700,18 +1509,42 @@ module Google
700
1509
 
701
1510
  # Update properties of this object
702
1511
  def update!(**args)
703
- @deleted = args[:deleted] if args.key?(:deleted)
1512
+ @generated_apks = args[:generated_apks] if args.key?(:generated_apks)
704
1513
  end
705
1514
  end
706
1515
 
707
- # Response listing all images.
708
- class ImagesListResponse
1516
+ # Download metadata for split, standalone and universal APKs, as well as asset
1517
+ # pack slices, signed with a given key.
1518
+ class GeneratedApksPerSigningKey
709
1519
  include Google::Apis::Core::Hashable
710
1520
 
711
- # All listed Images.
712
- # Corresponds to the JSON property `images`
713
- # @return [Array<Google::Apis::AndroidpublisherV3::Image>]
714
- attr_accessor :images
1521
+ # SHA256 hash of the APK signing public key certificate.
1522
+ # Corresponds to the JSON property `certificateSha256Hash`
1523
+ # @return [String]
1524
+ attr_accessor :certificate_sha256_hash
1525
+
1526
+ # List of asset pack slices which will be served for this app bundle, signed
1527
+ # with a key corresponding to certificate_sha256_hash.
1528
+ # Corresponds to the JSON property `generatedAssetPackSlices`
1529
+ # @return [Array<Google::Apis::AndroidpublisherV3::GeneratedAssetPackSlice>]
1530
+ attr_accessor :generated_asset_pack_slices
1531
+
1532
+ # List of generated split APKs, signed with a key corresponding to
1533
+ # certificate_sha256_hash.
1534
+ # Corresponds to the JSON property `generatedSplitApks`
1535
+ # @return [Array<Google::Apis::AndroidpublisherV3::GeneratedSplitApk>]
1536
+ attr_accessor :generated_split_apks
1537
+
1538
+ # List of generated standalone APKs, signed with a key corresponding to
1539
+ # certificate_sha256_hash.
1540
+ # Corresponds to the JSON property `generatedStandaloneApks`
1541
+ # @return [Array<Google::Apis::AndroidpublisherV3::GeneratedStandaloneApk>]
1542
+ attr_accessor :generated_standalone_apks
1543
+
1544
+ # Download metadata for a universal APK.
1545
+ # Corresponds to the JSON property `generatedUniversalApk`
1546
+ # @return [Google::Apis::AndroidpublisherV3::GeneratedUniversalApk]
1547
+ attr_accessor :generated_universal_apk
715
1548
 
716
1549
  def initialize(**args)
717
1550
  update!(**args)
@@ -719,18 +1552,38 @@ module Google
719
1552
 
720
1553
  # Update properties of this object
721
1554
  def update!(**args)
722
- @images = args[:images] if args.key?(:images)
1555
+ @certificate_sha256_hash = args[:certificate_sha256_hash] if args.key?(:certificate_sha256_hash)
1556
+ @generated_asset_pack_slices = args[:generated_asset_pack_slices] if args.key?(:generated_asset_pack_slices)
1557
+ @generated_split_apks = args[:generated_split_apks] if args.key?(:generated_split_apks)
1558
+ @generated_standalone_apks = args[:generated_standalone_apks] if args.key?(:generated_standalone_apks)
1559
+ @generated_universal_apk = args[:generated_universal_apk] if args.key?(:generated_universal_apk)
723
1560
  end
724
1561
  end
725
1562
 
726
- # Response for uploading an image.
727
- class ImagesUploadResponse
1563
+ # Download metadata for an asset pack slice.
1564
+ class GeneratedAssetPackSlice
728
1565
  include Google::Apis::Core::Hashable
729
1566
 
730
- # An uploaded image. The resource for ImagesService.
731
- # Corresponds to the JSON property `image`
732
- # @return [Google::Apis::AndroidpublisherV3::Image]
733
- attr_accessor :image
1567
+ # Download ID, which uniquely identifies the APK to download. Should be supplied
1568
+ # to `generatedapks.download` method.
1569
+ # Corresponds to the JSON property `downloadId`
1570
+ # @return [String]
1571
+ attr_accessor :download_id
1572
+
1573
+ # Name of the module that this asset slice belongs to.
1574
+ # Corresponds to the JSON property `moduleName`
1575
+ # @return [String]
1576
+ attr_accessor :module_name
1577
+
1578
+ # Asset slice ID.
1579
+ # Corresponds to the JSON property `sliceId`
1580
+ # @return [String]
1581
+ attr_accessor :slice_id
1582
+
1583
+ # Asset module version.
1584
+ # Corresponds to the JSON property `version`
1585
+ # @return [Fixnum]
1586
+ attr_accessor :version
734
1587
 
735
1588
  def initialize(**args)
736
1589
  update!(**args)
@@ -738,26 +1591,240 @@ module Google
738
1591
 
739
1592
  # Update properties of this object
740
1593
  def update!(**args)
741
- @image = args[:image] if args.key?(:image)
1594
+ @download_id = args[:download_id] if args.key?(:download_id)
1595
+ @module_name = args[:module_name] if args.key?(:module_name)
1596
+ @slice_id = args[:slice_id] if args.key?(:slice_id)
1597
+ @version = args[:version] if args.key?(:version)
742
1598
  end
743
1599
  end
744
1600
 
745
- # An in-app product. The resource for InappproductsService.
746
- class InAppProduct
1601
+ # Download metadata for a split APK.
1602
+ class GeneratedSplitApk
747
1603
  include Google::Apis::Core::Hashable
748
1604
 
749
- # Default language of the localized data, as defined by BCP-47. e.g. "en-US".
750
- # Corresponds to the JSON property `defaultLanguage`
1605
+ # Download ID, which uniquely identifies the APK to download. Should be supplied
1606
+ # to `generatedapks.download` method.
1607
+ # Corresponds to the JSON property `downloadId`
751
1608
  # @return [String]
752
- attr_accessor :default_language
1609
+ attr_accessor :download_id
753
1610
 
754
- # Definition of a price, i.e. currency and units.
755
- # Corresponds to the JSON property `defaultPrice`
756
- # @return [Google::Apis::AndroidpublisherV3::Price]
757
- attr_accessor :default_price
1611
+ # Name of the module that this APK belongs to.
1612
+ # Corresponds to the JSON property `moduleName`
1613
+ # @return [String]
1614
+ attr_accessor :module_name
758
1615
 
759
- # Grace period of the subscription, specified in ISO 8601 format. Allows
760
- # developers to give their subscribers a grace period when the payment for the
1616
+ # Split ID. Empty for the main split of the base module.
1617
+ # Corresponds to the JSON property `splitId`
1618
+ # @return [String]
1619
+ attr_accessor :split_id
1620
+
1621
+ # ID of the generated variant.
1622
+ # Corresponds to the JSON property `variantId`
1623
+ # @return [Fixnum]
1624
+ attr_accessor :variant_id
1625
+
1626
+ def initialize(**args)
1627
+ update!(**args)
1628
+ end
1629
+
1630
+ # Update properties of this object
1631
+ def update!(**args)
1632
+ @download_id = args[:download_id] if args.key?(:download_id)
1633
+ @module_name = args[:module_name] if args.key?(:module_name)
1634
+ @split_id = args[:split_id] if args.key?(:split_id)
1635
+ @variant_id = args[:variant_id] if args.key?(:variant_id)
1636
+ end
1637
+ end
1638
+
1639
+ # Download metadata for a standalone APK.
1640
+ class GeneratedStandaloneApk
1641
+ include Google::Apis::Core::Hashable
1642
+
1643
+ # Download ID, which uniquely identifies the APK to download. Should be supplied
1644
+ # to `generatedapks.download` method.
1645
+ # Corresponds to the JSON property `downloadId`
1646
+ # @return [String]
1647
+ attr_accessor :download_id
1648
+
1649
+ # ID of the generated variant.
1650
+ # Corresponds to the JSON property `variantId`
1651
+ # @return [Fixnum]
1652
+ attr_accessor :variant_id
1653
+
1654
+ def initialize(**args)
1655
+ update!(**args)
1656
+ end
1657
+
1658
+ # Update properties of this object
1659
+ def update!(**args)
1660
+ @download_id = args[:download_id] if args.key?(:download_id)
1661
+ @variant_id = args[:variant_id] if args.key?(:variant_id)
1662
+ end
1663
+ end
1664
+
1665
+ # Download metadata for a universal APK.
1666
+ class GeneratedUniversalApk
1667
+ include Google::Apis::Core::Hashable
1668
+
1669
+ # Download ID, which uniquely identifies the APK to download. Should be supplied
1670
+ # to `generatedapks.download` method.
1671
+ # Corresponds to the JSON property `downloadId`
1672
+ # @return [String]
1673
+ attr_accessor :download_id
1674
+
1675
+ def initialize(**args)
1676
+ update!(**args)
1677
+ end
1678
+
1679
+ # Update properties of this object
1680
+ def update!(**args)
1681
+ @download_id = args[:download_id] if args.key?(:download_id)
1682
+ end
1683
+ end
1684
+
1685
+ # An access grant resource.
1686
+ class Grant
1687
+ include Google::Apis::Core::Hashable
1688
+
1689
+ # The permissions granted to the user for this app.
1690
+ # Corresponds to the JSON property `appLevelPermissions`
1691
+ # @return [Array<String>]
1692
+ attr_accessor :app_level_permissions
1693
+
1694
+ # Required. Resource name for this grant, following the pattern "developers/`
1695
+ # developer`/users/`email`/grants/`package_name`". If this grant is for a draft
1696
+ # app, the app ID will be used in this resource name instead of the package name.
1697
+ # Corresponds to the JSON property `name`
1698
+ # @return [String]
1699
+ attr_accessor :name
1700
+
1701
+ # Immutable. The package name of the app. This will be empty for draft apps.
1702
+ # Corresponds to the JSON property `packageName`
1703
+ # @return [String]
1704
+ attr_accessor :package_name
1705
+
1706
+ def initialize(**args)
1707
+ update!(**args)
1708
+ end
1709
+
1710
+ # Update properties of this object
1711
+ def update!(**args)
1712
+ @app_level_permissions = args[:app_level_permissions] if args.key?(:app_level_permissions)
1713
+ @name = args[:name] if args.key?(:name)
1714
+ @package_name = args[:package_name] if args.key?(:package_name)
1715
+ end
1716
+ end
1717
+
1718
+ # An uploaded image. The resource for ImagesService.
1719
+ class Image
1720
+ include Google::Apis::Core::Hashable
1721
+
1722
+ # A unique id representing this image.
1723
+ # Corresponds to the JSON property `id`
1724
+ # @return [String]
1725
+ attr_accessor :id
1726
+
1727
+ # A sha1 hash of the image.
1728
+ # Corresponds to the JSON property `sha1`
1729
+ # @return [String]
1730
+ attr_accessor :sha1
1731
+
1732
+ # A sha256 hash of the image.
1733
+ # Corresponds to the JSON property `sha256`
1734
+ # @return [String]
1735
+ attr_accessor :sha256
1736
+
1737
+ # A URL that will serve a preview of the image.
1738
+ # Corresponds to the JSON property `url`
1739
+ # @return [String]
1740
+ attr_accessor :url
1741
+
1742
+ def initialize(**args)
1743
+ update!(**args)
1744
+ end
1745
+
1746
+ # Update properties of this object
1747
+ def update!(**args)
1748
+ @id = args[:id] if args.key?(:id)
1749
+ @sha1 = args[:sha1] if args.key?(:sha1)
1750
+ @sha256 = args[:sha256] if args.key?(:sha256)
1751
+ @url = args[:url] if args.key?(:url)
1752
+ end
1753
+ end
1754
+
1755
+ # Response for deleting all images.
1756
+ class ImagesDeleteAllResponse
1757
+ include Google::Apis::Core::Hashable
1758
+
1759
+ # The deleted images.
1760
+ # Corresponds to the JSON property `deleted`
1761
+ # @return [Array<Google::Apis::AndroidpublisherV3::Image>]
1762
+ attr_accessor :deleted
1763
+
1764
+ def initialize(**args)
1765
+ update!(**args)
1766
+ end
1767
+
1768
+ # Update properties of this object
1769
+ def update!(**args)
1770
+ @deleted = args[:deleted] if args.key?(:deleted)
1771
+ end
1772
+ end
1773
+
1774
+ # Response listing all images.
1775
+ class ImagesListResponse
1776
+ include Google::Apis::Core::Hashable
1777
+
1778
+ # All listed Images.
1779
+ # Corresponds to the JSON property `images`
1780
+ # @return [Array<Google::Apis::AndroidpublisherV3::Image>]
1781
+ attr_accessor :images
1782
+
1783
+ def initialize(**args)
1784
+ update!(**args)
1785
+ end
1786
+
1787
+ # Update properties of this object
1788
+ def update!(**args)
1789
+ @images = args[:images] if args.key?(:images)
1790
+ end
1791
+ end
1792
+
1793
+ # Response for uploading an image.
1794
+ class ImagesUploadResponse
1795
+ include Google::Apis::Core::Hashable
1796
+
1797
+ # An uploaded image. The resource for ImagesService.
1798
+ # Corresponds to the JSON property `image`
1799
+ # @return [Google::Apis::AndroidpublisherV3::Image]
1800
+ attr_accessor :image
1801
+
1802
+ def initialize(**args)
1803
+ update!(**args)
1804
+ end
1805
+
1806
+ # Update properties of this object
1807
+ def update!(**args)
1808
+ @image = args[:image] if args.key?(:image)
1809
+ end
1810
+ end
1811
+
1812
+ # An in-app product. The resource for InappproductsService.
1813
+ class InAppProduct
1814
+ include Google::Apis::Core::Hashable
1815
+
1816
+ # Default language of the localized data, as defined by BCP-47. e.g. "en-US".
1817
+ # Corresponds to the JSON property `defaultLanguage`
1818
+ # @return [String]
1819
+ attr_accessor :default_language
1820
+
1821
+ # Definition of a price, i.e. currency and units.
1822
+ # Corresponds to the JSON property `defaultPrice`
1823
+ # @return [Google::Apis::AndroidpublisherV3::Price]
1824
+ attr_accessor :default_price
1825
+
1826
+ # Grace period of the subscription, specified in ISO 8601 format. Allows
1827
+ # developers to give their subscribers a grace period when the payment for the
761
1828
  # new recurrence period is declined. Acceptable values are P0D (zero days), P3D (
762
1829
  # three days), P7D (seven days), P14D (14 days), and P30D (30 days).
763
1830
  # Corresponds to the JSON property `gracePeriod`
@@ -770,6 +1837,11 @@ module Google
770
1837
  # @return [Hash<String,Google::Apis::AndroidpublisherV3::InAppProductListing>]
771
1838
  attr_accessor :listings
772
1839
 
1840
+ # Details about taxation and legal compliance for managed products.
1841
+ # Corresponds to the JSON property `managedProductTaxesAndComplianceSettings`
1842
+ # @return [Google::Apis::AndroidpublisherV3::ManagedProductTaxAndComplianceSettings]
1843
+ attr_accessor :managed_product_taxes_and_compliance_settings
1844
+
773
1845
  # Package name of the parent app.
774
1846
  # Corresponds to the JSON property `packageName`
775
1847
  # @return [String]
@@ -803,6 +1875,12 @@ module Google
803
1875
  # @return [String]
804
1876
  attr_accessor :subscription_period
805
1877
 
1878
+ # Details about taxation, Google Play policy and legal compliance for
1879
+ # subscription products.
1880
+ # Corresponds to the JSON property `subscriptionTaxesAndComplianceSettings`
1881
+ # @return [Google::Apis::AndroidpublisherV3::SubscriptionTaxAndComplianceSettings]
1882
+ attr_accessor :subscription_taxes_and_compliance_settings
1883
+
806
1884
  # Trial period, specified in ISO 8601 format. Acceptable values are anything
807
1885
  # between P7D (seven days) and P999D (999 days).
808
1886
  # Corresponds to the JSON property `trialPeriod`
@@ -819,12 +1897,14 @@ module Google
819
1897
  @default_price = args[:default_price] if args.key?(:default_price)
820
1898
  @grace_period = args[:grace_period] if args.key?(:grace_period)
821
1899
  @listings = args[:listings] if args.key?(:listings)
1900
+ @managed_product_taxes_and_compliance_settings = args[:managed_product_taxes_and_compliance_settings] if args.key?(:managed_product_taxes_and_compliance_settings)
822
1901
  @package_name = args[:package_name] if args.key?(:package_name)
823
1902
  @prices = args[:prices] if args.key?(:prices)
824
1903
  @purchase_type = args[:purchase_type] if args.key?(:purchase_type)
825
1904
  @sku = args[:sku] if args.key?(:sku)
826
1905
  @status = args[:status] if args.key?(:status)
827
1906
  @subscription_period = args[:subscription_period] if args.key?(:subscription_period)
1907
+ @subscription_taxes_and_compliance_settings = args[:subscription_taxes_and_compliance_settings] if args.key?(:subscription_taxes_and_compliance_settings)
828
1908
  @trial_period = args[:trial_period] if args.key?(:trial_period)
829
1909
  end
830
1910
  end
@@ -984,6 +2064,110 @@ module Google
984
2064
  end
985
2065
  end
986
2066
 
2067
+ # Response listing existing device tier configs.
2068
+ class ListDeviceTierConfigsResponse
2069
+ include Google::Apis::Core::Hashable
2070
+
2071
+ # Device tier configs created by the developer.
2072
+ # Corresponds to the JSON property `deviceTierConfigs`
2073
+ # @return [Array<Google::Apis::AndroidpublisherV3::DeviceTierConfig>]
2074
+ attr_accessor :device_tier_configs
2075
+
2076
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2077
+ # field is omitted, there are no subsequent pages.
2078
+ # Corresponds to the JSON property `nextPageToken`
2079
+ # @return [String]
2080
+ attr_accessor :next_page_token
2081
+
2082
+ def initialize(**args)
2083
+ update!(**args)
2084
+ end
2085
+
2086
+ # Update properties of this object
2087
+ def update!(**args)
2088
+ @device_tier_configs = args[:device_tier_configs] if args.key?(:device_tier_configs)
2089
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2090
+ end
2091
+ end
2092
+
2093
+ # Response message for ListSubscriptionOffers.
2094
+ class ListSubscriptionOffersResponse
2095
+ include Google::Apis::Core::Hashable
2096
+
2097
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2098
+ # field is omitted, there are no subsequent pages.
2099
+ # Corresponds to the JSON property `nextPageToken`
2100
+ # @return [String]
2101
+ attr_accessor :next_page_token
2102
+
2103
+ # The subscription offers from the specified subscription.
2104
+ # Corresponds to the JSON property `subscriptionOffers`
2105
+ # @return [Array<Google::Apis::AndroidpublisherV3::SubscriptionOffer>]
2106
+ attr_accessor :subscription_offers
2107
+
2108
+ def initialize(**args)
2109
+ update!(**args)
2110
+ end
2111
+
2112
+ # Update properties of this object
2113
+ def update!(**args)
2114
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2115
+ @subscription_offers = args[:subscription_offers] if args.key?(:subscription_offers)
2116
+ end
2117
+ end
2118
+
2119
+ # Response message for ListSubscriptions.
2120
+ class ListSubscriptionsResponse
2121
+ include Google::Apis::Core::Hashable
2122
+
2123
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2124
+ # field is omitted, there are no subsequent pages.
2125
+ # Corresponds to the JSON property `nextPageToken`
2126
+ # @return [String]
2127
+ attr_accessor :next_page_token
2128
+
2129
+ # The subscriptions from the specified app.
2130
+ # Corresponds to the JSON property `subscriptions`
2131
+ # @return [Array<Google::Apis::AndroidpublisherV3::Subscription>]
2132
+ attr_accessor :subscriptions
2133
+
2134
+ def initialize(**args)
2135
+ update!(**args)
2136
+ end
2137
+
2138
+ # Update properties of this object
2139
+ def update!(**args)
2140
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2141
+ @subscriptions = args[:subscriptions] if args.key?(:subscriptions)
2142
+ end
2143
+ end
2144
+
2145
+ # A response containing one or more users with access to an account.
2146
+ class ListUsersResponse
2147
+ include Google::Apis::Core::Hashable
2148
+
2149
+ # A token to pass to subsequent calls in order to retrieve subsequent results.
2150
+ # This will not be set if there are no more results to return.
2151
+ # Corresponds to the JSON property `nextPageToken`
2152
+ # @return [String]
2153
+ attr_accessor :next_page_token
2154
+
2155
+ # The resulting users.
2156
+ # Corresponds to the JSON property `users`
2157
+ # @return [Array<Google::Apis::AndroidpublisherV3::User>]
2158
+ attr_accessor :users
2159
+
2160
+ def initialize(**args)
2161
+ update!(**args)
2162
+ end
2163
+
2164
+ # Update properties of this object
2165
+ def update!(**args)
2166
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2167
+ @users = args[:users] if args.key?(:users)
2168
+ end
2169
+ end
2170
+
987
2171
  # A localized store listing. The resource for ListingsService.
988
2172
  class Listing
989
2173
  include Google::Apis::Core::Hashable
@@ -1053,7 +2237,7 @@ module Google
1053
2237
  end
1054
2238
  end
1055
2239
 
1056
- # Release notes specification, i.e. language and text.
2240
+ # Localized text in given language.
1057
2241
  class LocalizedText
1058
2242
  include Google::Apis::Core::Hashable
1059
2243
 
@@ -1079,14 +2263,310 @@ module Google
1079
2263
  end
1080
2264
  end
1081
2265
 
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
2266
+ # Details about taxation and legal compliance for managed products.
2267
+ class ManagedProductTaxAndComplianceSettings
1086
2268
  include Google::Apis::Core::Hashable
1087
2269
 
1088
- # Maximum number of results returned in one page. ! The number of results
1089
- # included in the API response.
2270
+ # Digital content or service classification for products distributed to users in
2271
+ # the European Economic Area (EEA). The withdrawal regime under EEA consumer
2272
+ # laws depends on this classification. Refer to the [Help Center article](https:/
2273
+ # /support.google.com/googleplay/android-developer/answer/10463498) for more
2274
+ # information.
2275
+ # Corresponds to the JSON property `eeaWithdrawalRightType`
2276
+ # @return [String]
2277
+ attr_accessor :eea_withdrawal_right_type
2278
+
2279
+ # A mapping from region code to tax rate details. The keys are region codes as
2280
+ # defined by Unicode's "CLDR".
2281
+ # Corresponds to the JSON property `taxRateInfoByRegionCode`
2282
+ # @return [Hash<String,Google::Apis::AndroidpublisherV3::RegionalTaxRateInfo>]
2283
+ attr_accessor :tax_rate_info_by_region_code
2284
+
2285
+ def initialize(**args)
2286
+ update!(**args)
2287
+ end
2288
+
2289
+ # Update properties of this object
2290
+ def update!(**args)
2291
+ @eea_withdrawal_right_type = args[:eea_withdrawal_right_type] if args.key?(:eea_withdrawal_right_type)
2292
+ @tax_rate_info_by_region_code = args[:tax_rate_info_by_region_code] if args.key?(:tax_rate_info_by_region_code)
2293
+ end
2294
+ end
2295
+
2296
+ # Request message for MigrateBasePlanPrices.
2297
+ class MigrateBasePlanPricesRequest
2298
+ include Google::Apis::Core::Hashable
2299
+
2300
+ # Required. The regional prices to update.
2301
+ # Corresponds to the JSON property `regionalPriceMigrations`
2302
+ # @return [Array<Google::Apis::AndroidpublisherV3::RegionalPriceMigrationConfig>]
2303
+ attr_accessor :regional_price_migrations
2304
+
2305
+ # The version of the available regions being used for the specified resource.
2306
+ # Corresponds to the JSON property `regionsVersion`
2307
+ # @return [Google::Apis::AndroidpublisherV3::RegionsVersion]
2308
+ attr_accessor :regions_version
2309
+
2310
+ def initialize(**args)
2311
+ update!(**args)
2312
+ end
2313
+
2314
+ # Update properties of this object
2315
+ def update!(**args)
2316
+ @regional_price_migrations = args[:regional_price_migrations] if args.key?(:regional_price_migrations)
2317
+ @regions_version = args[:regions_version] if args.key?(:regions_version)
2318
+ end
2319
+ end
2320
+
2321
+ # Response message for MigrateBasePlanPrices.
2322
+ class MigrateBasePlanPricesResponse
2323
+ include Google::Apis::Core::Hashable
2324
+
2325
+ def initialize(**args)
2326
+ update!(**args)
2327
+ end
2328
+
2329
+ # Update properties of this object
2330
+ def update!(**args)
2331
+ end
2332
+ end
2333
+
2334
+ # Represents an amount of money with its currency type.
2335
+ class Money
2336
+ include Google::Apis::Core::Hashable
2337
+
2338
+ # The three-letter currency code defined in ISO 4217.
2339
+ # Corresponds to the JSON property `currencyCode`
2340
+ # @return [String]
2341
+ attr_accessor :currency_code
2342
+
2343
+ # Number of nano (10^-9) units of the amount. The value must be between -999,999,
2344
+ # 999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be
2345
+ # positive or zero. If `units` is zero, `nanos` can be positive, zero, or
2346
+ # negative. If `units` is negative, `nanos` must be negative or zero. For
2347
+ # example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
2348
+ # Corresponds to the JSON property `nanos`
2349
+ # @return [Fixnum]
2350
+ attr_accessor :nanos
2351
+
2352
+ # The whole units of the amount. For example if `currencyCode` is `"USD"`, then
2353
+ # 1 unit is one US dollar.
2354
+ # Corresponds to the JSON property `units`
2355
+ # @return [Fixnum]
2356
+ attr_accessor :units
2357
+
2358
+ def initialize(**args)
2359
+ update!(**args)
2360
+ end
2361
+
2362
+ # Update properties of this object
2363
+ def update!(**args)
2364
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
2365
+ @nanos = args[:nanos] if args.key?(:nanos)
2366
+ @units = args[:units] if args.key?(:units)
2367
+ end
2368
+ end
2369
+
2370
+ # Offer details information related to a purchase line item.
2371
+ class OfferDetails
2372
+ include Google::Apis::Core::Hashable
2373
+
2374
+ # The base plan ID. Present for all base plan and offers.
2375
+ # Corresponds to the JSON property `basePlanId`
2376
+ # @return [String]
2377
+ attr_accessor :base_plan_id
2378
+
2379
+ # The offer ID. Only present for discounted offers.
2380
+ # Corresponds to the JSON property `offerId`
2381
+ # @return [String]
2382
+ attr_accessor :offer_id
2383
+
2384
+ # The latest offer tags associated with the offer. It includes tags inherited
2385
+ # from the base plan.
2386
+ # Corresponds to the JSON property `offerTags`
2387
+ # @return [Array<String>]
2388
+ attr_accessor :offer_tags
2389
+
2390
+ def initialize(**args)
2391
+ update!(**args)
2392
+ end
2393
+
2394
+ # Update properties of this object
2395
+ def update!(**args)
2396
+ @base_plan_id = args[:base_plan_id] if args.key?(:base_plan_id)
2397
+ @offer_id = args[:offer_id] if args.key?(:offer_id)
2398
+ @offer_tags = args[:offer_tags] if args.key?(:offer_tags)
2399
+ end
2400
+ end
2401
+
2402
+ # Represents a custom tag specified for base plans and subscription offers.
2403
+ class OfferTag
2404
+ include Google::Apis::Core::Hashable
2405
+
2406
+ # Must conform with RFC-1034. That is, this string can only contain lower-case
2407
+ # letters (a-z), numbers (0-9), and hyphens (-), and be at most 20 characters.
2408
+ # Corresponds to the JSON property `tag`
2409
+ # @return [String]
2410
+ attr_accessor :tag
2411
+
2412
+ def initialize(**args)
2413
+ update!(**args)
2414
+ end
2415
+
2416
+ # Update properties of this object
2417
+ def update!(**args)
2418
+ @tag = args[:tag] if args.key?(:tag)
2419
+ end
2420
+ end
2421
+
2422
+ # Represents a one-time transaction.
2423
+ class OneTimeExternalTransaction
2424
+ include Google::Apis::Core::Hashable
2425
+
2426
+ # Input only. Provided during the call to Create. Retrieved from the client when
2427
+ # the alternative billing flow is launched.
2428
+ # Corresponds to the JSON property `externalTransactionToken`
2429
+ # @return [String]
2430
+ attr_accessor :external_transaction_token
2431
+
2432
+ def initialize(**args)
2433
+ update!(**args)
2434
+ end
2435
+
2436
+ # Update properties of this object
2437
+ def update!(**args)
2438
+ @external_transaction_token = args[:external_transaction_token] if args.key?(:external_transaction_token)
2439
+ end
2440
+ end
2441
+
2442
+ # Pricing information for any new locations Play may launch in.
2443
+ class OtherRegionsBasePlanConfig
2444
+ include Google::Apis::Core::Hashable
2445
+
2446
+ # Represents an amount of money with its currency type.
2447
+ # Corresponds to the JSON property `eurPrice`
2448
+ # @return [Google::Apis::AndroidpublisherV3::Money]
2449
+ attr_accessor :eur_price
2450
+
2451
+ # Whether the base plan is available for new subscribers in any new locations
2452
+ # Play may launch in. If not specified, this will default to false.
2453
+ # Corresponds to the JSON property `newSubscriberAvailability`
2454
+ # @return [Boolean]
2455
+ attr_accessor :new_subscriber_availability
2456
+ alias_method :new_subscriber_availability?, :new_subscriber_availability
2457
+
2458
+ # Represents an amount of money with its currency type.
2459
+ # Corresponds to the JSON property `usdPrice`
2460
+ # @return [Google::Apis::AndroidpublisherV3::Money]
2461
+ attr_accessor :usd_price
2462
+
2463
+ def initialize(**args)
2464
+ update!(**args)
2465
+ end
2466
+
2467
+ # Update properties of this object
2468
+ def update!(**args)
2469
+ @eur_price = args[:eur_price] if args.key?(:eur_price)
2470
+ @new_subscriber_availability = args[:new_subscriber_availability] if args.key?(:new_subscriber_availability)
2471
+ @usd_price = args[:usd_price] if args.key?(:usd_price)
2472
+ end
2473
+ end
2474
+
2475
+ # Configuration for any new locations Play may launch in specified on a
2476
+ # subscription offer.
2477
+ class OtherRegionsSubscriptionOfferConfig
2478
+ include Google::Apis::Core::Hashable
2479
+
2480
+ # Whether the subscription offer in any new locations Play may launch in the
2481
+ # future. If not specified, this will default to false.
2482
+ # Corresponds to the JSON property `otherRegionsNewSubscriberAvailability`
2483
+ # @return [Boolean]
2484
+ attr_accessor :other_regions_new_subscriber_availability
2485
+ alias_method :other_regions_new_subscriber_availability?, :other_regions_new_subscriber_availability
2486
+
2487
+ def initialize(**args)
2488
+ update!(**args)
2489
+ end
2490
+
2491
+ # Update properties of this object
2492
+ def update!(**args)
2493
+ @other_regions_new_subscriber_availability = args[:other_regions_new_subscriber_availability] if args.key?(:other_regions_new_subscriber_availability)
2494
+ end
2495
+ end
2496
+
2497
+ # Configuration for any new locations Play may launch in for a single offer
2498
+ # phase.
2499
+ class OtherRegionsSubscriptionOfferPhaseConfig
2500
+ include Google::Apis::Core::Hashable
2501
+
2502
+ # Pricing information for any new locations Play may launch in.
2503
+ # Corresponds to the JSON property `absoluteDiscounts`
2504
+ # @return [Google::Apis::AndroidpublisherV3::OtherRegionsSubscriptionOfferPhasePrices]
2505
+ attr_accessor :absolute_discounts
2506
+
2507
+ # Pricing information for any new locations Play may launch in.
2508
+ # Corresponds to the JSON property `otherRegionsPrices`
2509
+ # @return [Google::Apis::AndroidpublisherV3::OtherRegionsSubscriptionOfferPhasePrices]
2510
+ attr_accessor :other_regions_prices
2511
+
2512
+ # The fraction of the base plan price prorated over the phase duration that the
2513
+ # user pays for this offer phase. For example, if the base plan price for this
2514
+ # region is $12 for a period of 1 year, then a 50% discount for a phase of a
2515
+ # duration of 3 months would correspond to a price of $1.50. The discount must
2516
+ # be specified as a fraction strictly larger than 0 and strictly smaller than 1.
2517
+ # The resulting price will be rounded to the nearest billable unit (e.g. cents
2518
+ # for USD). The relative discount is considered invalid if the discounted price
2519
+ # ends up being smaller than the minimum price allowed in any new locations Play
2520
+ # may launch in.
2521
+ # Corresponds to the JSON property `relativeDiscount`
2522
+ # @return [Float]
2523
+ attr_accessor :relative_discount
2524
+
2525
+ def initialize(**args)
2526
+ update!(**args)
2527
+ end
2528
+
2529
+ # Update properties of this object
2530
+ def update!(**args)
2531
+ @absolute_discounts = args[:absolute_discounts] if args.key?(:absolute_discounts)
2532
+ @other_regions_prices = args[:other_regions_prices] if args.key?(:other_regions_prices)
2533
+ @relative_discount = args[:relative_discount] if args.key?(:relative_discount)
2534
+ end
2535
+ end
2536
+
2537
+ # Pricing information for any new locations Play may launch in.
2538
+ class OtherRegionsSubscriptionOfferPhasePrices
2539
+ include Google::Apis::Core::Hashable
2540
+
2541
+ # Represents an amount of money with its currency type.
2542
+ # Corresponds to the JSON property `eurPrice`
2543
+ # @return [Google::Apis::AndroidpublisherV3::Money]
2544
+ attr_accessor :eur_price
2545
+
2546
+ # Represents an amount of money with its currency type.
2547
+ # Corresponds to the JSON property `usdPrice`
2548
+ # @return [Google::Apis::AndroidpublisherV3::Money]
2549
+ attr_accessor :usd_price
2550
+
2551
+ def initialize(**args)
2552
+ update!(**args)
2553
+ end
2554
+
2555
+ # Update properties of this object
2556
+ def update!(**args)
2557
+ @eur_price = args[:eur_price] if args.key?(:eur_price)
2558
+ @usd_price = args[:usd_price] if args.key?(:usd_price)
2559
+ end
2560
+ end
2561
+
2562
+ # Information about the current page. List operations that supports paging
2563
+ # return only one "page" of results. This protocol buffer message describes the
2564
+ # page that has been returned.
2565
+ class PageInfo
2566
+ include Google::Apis::Core::Hashable
2567
+
2568
+ # Maximum number of results returned in one page. ! The number of results
2569
+ # included in the API response.
1090
2570
  # Corresponds to the JSON property `resultPerPage`
1091
2571
  # @return [Fixnum]
1092
2572
  attr_accessor :result_per_page
@@ -1114,6 +2594,100 @@ module Google
1114
2594
  end
1115
2595
  end
1116
2596
 
2597
+ # A partial refund of a transaction.
2598
+ class PartialRefund
2599
+ include Google::Apis::Core::Hashable
2600
+
2601
+ # Required. A unique id distinguishing this partial refund. If the refund is
2602
+ # successful, subsequent refunds with the same id will fail. Must be unique
2603
+ # across refunds for one individual transaction.
2604
+ # Corresponds to the JSON property `refundId`
2605
+ # @return [String]
2606
+ attr_accessor :refund_id
2607
+
2608
+ # Definition of a price, i.e. currency and units.
2609
+ # Corresponds to the JSON property `refundPreTaxAmount`
2610
+ # @return [Google::Apis::AndroidpublisherV3::Price]
2611
+ attr_accessor :refund_pre_tax_amount
2612
+
2613
+ def initialize(**args)
2614
+ update!(**args)
2615
+ end
2616
+
2617
+ # Update properties of this object
2618
+ def update!(**args)
2619
+ @refund_id = args[:refund_id] if args.key?(:refund_id)
2620
+ @refund_pre_tax_amount = args[:refund_pre_tax_amount] if args.key?(:refund_pre_tax_amount)
2621
+ end
2622
+ end
2623
+
2624
+ # Information specific to a subscription in paused state.
2625
+ class PausedStateContext
2626
+ include Google::Apis::Core::Hashable
2627
+
2628
+ # Time at which the subscription will be automatically resumed.
2629
+ # Corresponds to the JSON property `autoResumeTime`
2630
+ # @return [String]
2631
+ attr_accessor :auto_resume_time
2632
+
2633
+ def initialize(**args)
2634
+ update!(**args)
2635
+ end
2636
+
2637
+ # Update properties of this object
2638
+ def update!(**args)
2639
+ @auto_resume_time = args[:auto_resume_time] if args.key?(:auto_resume_time)
2640
+ end
2641
+ end
2642
+
2643
+ # Represents a base plan that does not automatically renew at the end of the
2644
+ # base plan, and must be manually renewed by the user.
2645
+ class PrepaidBasePlanType
2646
+ include Google::Apis::Core::Hashable
2647
+
2648
+ # Required. Subscription period, specified in ISO 8601 format. For a list of
2649
+ # acceptable billing periods, refer to the help center.
2650
+ # Corresponds to the JSON property `billingPeriodDuration`
2651
+ # @return [String]
2652
+ attr_accessor :billing_period_duration
2653
+
2654
+ # Whether users should be able to extend this prepaid base plan in Google Play
2655
+ # surfaces. Defaults to TIME_EXTENSION_ACTIVE if not specified.
2656
+ # Corresponds to the JSON property `timeExtension`
2657
+ # @return [String]
2658
+ attr_accessor :time_extension
2659
+
2660
+ def initialize(**args)
2661
+ update!(**args)
2662
+ end
2663
+
2664
+ # Update properties of this object
2665
+ def update!(**args)
2666
+ @billing_period_duration = args[:billing_period_duration] if args.key?(:billing_period_duration)
2667
+ @time_extension = args[:time_extension] if args.key?(:time_extension)
2668
+ end
2669
+ end
2670
+
2671
+ # Information related to a prepaid plan.
2672
+ class PrepaidPlan
2673
+ include Google::Apis::Core::Hashable
2674
+
2675
+ # If present, this is the time after which top up purchases are allowed for the
2676
+ # prepaid plan. Will not be present for expired prepaid plans.
2677
+ # Corresponds to the JSON property `allowExtendAfterTime`
2678
+ # @return [String]
2679
+ attr_accessor :allow_extend_after_time
2680
+
2681
+ def initialize(**args)
2682
+ update!(**args)
2683
+ end
2684
+
2685
+ # Update properties of this object
2686
+ def update!(**args)
2687
+ @allow_extend_after_time = args[:allow_extend_after_time] if args.key?(:allow_extend_after_time)
2688
+ end
2689
+ end
2690
+
1117
2691
  # Definition of a price, i.e. currency and units.
1118
2692
  class Price
1119
2693
  include Google::Apis::Core::Hashable
@@ -1189,7 +2763,7 @@ module Google
1189
2763
  # @return [String]
1190
2764
  attr_accessor :order_id
1191
2765
 
1192
- # The inapp product SKU.
2766
+ # The inapp product SKU. May not be present.
1193
2767
  # Corresponds to the JSON property `productId`
1194
2768
  # @return [String]
1195
2769
  attr_accessor :product_id
@@ -1206,7 +2780,7 @@ module Google
1206
2780
  # @return [Fixnum]
1207
2781
  attr_accessor :purchase_time_millis
1208
2782
 
1209
- # The purchase token generated to identify this purchase.
2783
+ # The purchase token generated to identify this purchase. May not be present.
1210
2784
  # Corresponds to the JSON property `purchaseToken`
1211
2785
  # @return [String]
1212
2786
  attr_accessor :purchase_token
@@ -1220,7 +2794,8 @@ module Google
1220
2794
  # @return [Fixnum]
1221
2795
  attr_accessor :purchase_type
1222
2796
 
1223
- # The quantity associated with the purchase of the inapp product.
2797
+ # The quantity associated with the purchase of the inapp product. If not present,
2798
+ # the quantity is 1.
1224
2799
  # Corresponds to the JSON property `quantity`
1225
2800
  # @return [Fixnum]
1226
2801
  attr_accessor :quantity
@@ -1273,24 +2848,31 @@ module Google
1273
2848
  end
1274
2849
  end
1275
2850
 
1276
- # An Android app review.
1277
- class Review
2851
+ # Represents a transaction that is part of a recurring series of payments. This
2852
+ # can be a subscription or a one-time product with multiple payments (such as
2853
+ # preorder).
2854
+ class RecurringExternalTransaction
1278
2855
  include Google::Apis::Core::Hashable
1279
2856
 
1280
- # The name of the user who wrote the review.
1281
- # Corresponds to the JSON property `authorName`
1282
- # @return [String]
1283
- attr_accessor :author_name
2857
+ # Details of an external subscription.
2858
+ # Corresponds to the JSON property `externalSubscription`
2859
+ # @return [Google::Apis::AndroidpublisherV3::ExternalSubscription]
2860
+ attr_accessor :external_subscription
1284
2861
 
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
2862
+ # Input only. Provided during the call to Create. Retrieved from the client when
2863
+ # the alternative billing flow is launched. Required only for the initial
2864
+ # purchase.
2865
+ # Corresponds to the JSON property `externalTransactionToken`
2866
+ # @return [String]
2867
+ attr_accessor :external_transaction_token
1289
2868
 
1290
- # Unique identifier for this review.
1291
- # Corresponds to the JSON property `reviewId`
2869
+ # The external transaction id of the first transaction of this recurring series
2870
+ # of transactions. For example, for a subscription this would be the transaction
2871
+ # id of the first payment. Required when creating recurring external
2872
+ # transactions.
2873
+ # Corresponds to the JSON property `initialExternalTransactionId`
1292
2874
  # @return [String]
1293
- attr_accessor :review_id
2875
+ attr_accessor :initial_external_transaction_id
1294
2876
 
1295
2877
  def initialize(**args)
1296
2878
  update!(**args)
@@ -1298,28 +2880,30 @@ module Google
1298
2880
 
1299
2881
  # Update properties of this object
1300
2882
  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)
2883
+ @external_subscription = args[:external_subscription] if args.key?(:external_subscription)
2884
+ @external_transaction_token = args[:external_transaction_token] if args.key?(:external_transaction_token)
2885
+ @initial_external_transaction_id = args[:initial_external_transaction_id] if args.key?(:initial_external_transaction_id)
1304
2886
  end
1305
2887
  end
1306
2888
 
1307
- # The result of replying/updating a reply to review.
1308
- class ReviewReplyResult
2889
+ # A request to refund an existing external transaction.
2890
+ class RefundExternalTransactionRequest
1309
2891
  include Google::Apis::Core::Hashable
1310
2892
 
1311
- # A Timestamp represents a point in time independent of any time zone or local
1312
- # calendar, encoded as a count of seconds and fractions of seconds at nanosecond
1313
- # resolution. The count is relative to an epoch at UTC midnight on January 1,
1314
- # 1970.
1315
- # Corresponds to the JSON property `lastEdited`
1316
- # @return [Google::Apis::AndroidpublisherV3::Timestamp]
1317
- attr_accessor :last_edited
2893
+ # A full refund of the remaining amount of a transaction.
2894
+ # Corresponds to the JSON property `fullRefund`
2895
+ # @return [Google::Apis::AndroidpublisherV3::FullRefund]
2896
+ attr_accessor :full_refund
1318
2897
 
1319
- # The reply text that was applied.
1320
- # Corresponds to the JSON property `replyText`
2898
+ # A partial refund of a transaction.
2899
+ # Corresponds to the JSON property `partialRefund`
2900
+ # @return [Google::Apis::AndroidpublisherV3::PartialRefund]
2901
+ attr_accessor :partial_refund
2902
+
2903
+ # Required. The time that the transaction was refunded.
2904
+ # Corresponds to the JSON property `refundTime`
1321
2905
  # @return [String]
1322
- attr_accessor :reply_text
2906
+ attr_accessor :refund_time
1323
2907
 
1324
2908
  def initialize(**args)
1325
2909
  update!(**args)
@@ -1327,19 +2911,289 @@ module Google
1327
2911
 
1328
2912
  # Update properties of this object
1329
2913
  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)
2914
+ @full_refund = args[:full_refund] if args.key?(:full_refund)
2915
+ @partial_refund = args[:partial_refund] if args.key?(:partial_refund)
2916
+ @refund_time = args[:refund_time] if args.key?(:refund_time)
1332
2917
  end
1333
2918
  end
1334
2919
 
1335
- # Response listing reviews.
1336
- class ReviewsListResponse
2920
+ # Configuration for a base plan specific to a region.
2921
+ class RegionalBasePlanConfig
1337
2922
  include Google::Apis::Core::Hashable
1338
2923
 
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`
2924
+ # Whether the base plan in the specified region is available for new subscribers.
2925
+ # Existing subscribers will not have their subscription canceled if this value
2926
+ # is set to false. If not specified, this will default to false.
2927
+ # Corresponds to the JSON property `newSubscriberAvailability`
2928
+ # @return [Boolean]
2929
+ attr_accessor :new_subscriber_availability
2930
+ alias_method :new_subscriber_availability?, :new_subscriber_availability
2931
+
2932
+ # Represents an amount of money with its currency type.
2933
+ # Corresponds to the JSON property `price`
2934
+ # @return [Google::Apis::AndroidpublisherV3::Money]
2935
+ attr_accessor :price
2936
+
2937
+ # Required. Region code this configuration applies to, as defined by ISO 3166-2,
2938
+ # e.g. "US".
2939
+ # Corresponds to the JSON property `regionCode`
2940
+ # @return [String]
2941
+ attr_accessor :region_code
2942
+
2943
+ def initialize(**args)
2944
+ update!(**args)
2945
+ end
2946
+
2947
+ # Update properties of this object
2948
+ def update!(**args)
2949
+ @new_subscriber_availability = args[:new_subscriber_availability] if args.key?(:new_subscriber_availability)
2950
+ @price = args[:price] if args.key?(:price)
2951
+ @region_code = args[:region_code] if args.key?(:region_code)
2952
+ end
2953
+ end
2954
+
2955
+ # Configuration for a price migration.
2956
+ class RegionalPriceMigrationConfig
2957
+ include Google::Apis::Core::Hashable
2958
+
2959
+ # Required. The cutoff time for historical prices that subscribers can remain
2960
+ # paying. Subscribers who are on a price that was created before this cutoff
2961
+ # time will be migrated to the currently-offered price. These subscribers will
2962
+ # receive a notification that they will be paying a different price. Subscribers
2963
+ # who do not agree to the new price will have their subscription ended at the
2964
+ # next renewal.
2965
+ # Corresponds to the JSON property `oldestAllowedPriceVersionTime`
2966
+ # @return [String]
2967
+ attr_accessor :oldest_allowed_price_version_time
2968
+
2969
+ # Required. Region code this configuration applies to, as defined by ISO 3166-2,
2970
+ # e.g. "US".
2971
+ # Corresponds to the JSON property `regionCode`
2972
+ # @return [String]
2973
+ attr_accessor :region_code
2974
+
2975
+ def initialize(**args)
2976
+ update!(**args)
2977
+ end
2978
+
2979
+ # Update properties of this object
2980
+ def update!(**args)
2981
+ @oldest_allowed_price_version_time = args[:oldest_allowed_price_version_time] if args.key?(:oldest_allowed_price_version_time)
2982
+ @region_code = args[:region_code] if args.key?(:region_code)
2983
+ end
2984
+ end
2985
+
2986
+ # Configuration for a subscription offer in a single region.
2987
+ class RegionalSubscriptionOfferConfig
2988
+ include Google::Apis::Core::Hashable
2989
+
2990
+ # Whether the subscription offer in the specified region is available for new
2991
+ # subscribers. Existing subscribers will not have their subscription cancelled
2992
+ # if this value is set to false. If not specified, this will default to false.
2993
+ # Corresponds to the JSON property `newSubscriberAvailability`
2994
+ # @return [Boolean]
2995
+ attr_accessor :new_subscriber_availability
2996
+ alias_method :new_subscriber_availability?, :new_subscriber_availability
2997
+
2998
+ # Required. Immutable. Region code this configuration applies to, as defined by
2999
+ # ISO 3166-2, e.g. "US".
3000
+ # Corresponds to the JSON property `regionCode`
3001
+ # @return [String]
3002
+ attr_accessor :region_code
3003
+
3004
+ def initialize(**args)
3005
+ update!(**args)
3006
+ end
3007
+
3008
+ # Update properties of this object
3009
+ def update!(**args)
3010
+ @new_subscriber_availability = args[:new_subscriber_availability] if args.key?(:new_subscriber_availability)
3011
+ @region_code = args[:region_code] if args.key?(:region_code)
3012
+ end
3013
+ end
3014
+
3015
+ # Configuration for a single phase of a subscription offer in a single region.
3016
+ class RegionalSubscriptionOfferPhaseConfig
3017
+ include Google::Apis::Core::Hashable
3018
+
3019
+ # Represents an amount of money with its currency type.
3020
+ # Corresponds to the JSON property `absoluteDiscount`
3021
+ # @return [Google::Apis::AndroidpublisherV3::Money]
3022
+ attr_accessor :absolute_discount
3023
+
3024
+ # Represents an amount of money with its currency type.
3025
+ # Corresponds to the JSON property `price`
3026
+ # @return [Google::Apis::AndroidpublisherV3::Money]
3027
+ attr_accessor :price
3028
+
3029
+ # Required. Immutable. The region to which this config applies.
3030
+ # Corresponds to the JSON property `regionCode`
3031
+ # @return [String]
3032
+ attr_accessor :region_code
3033
+
3034
+ # The fraction of the base plan price prorated over the phase duration that the
3035
+ # user pays for this offer phase. For example, if the base plan price for this
3036
+ # region is $12 for a period of 1 year, then a 50% discount for a phase of a
3037
+ # duration of 3 months would correspond to a price of $1.50. The discount must
3038
+ # be specified as a fraction strictly larger than 0 and strictly smaller than 1.
3039
+ # The resulting price will be rounded to the nearest billable unit (e.g. cents
3040
+ # for USD). The relative discount is considered invalid if the discounted price
3041
+ # ends up being smaller than the minimum price allowed in this region.
3042
+ # Corresponds to the JSON property `relativeDiscount`
3043
+ # @return [Float]
3044
+ attr_accessor :relative_discount
3045
+
3046
+ def initialize(**args)
3047
+ update!(**args)
3048
+ end
3049
+
3050
+ # Update properties of this object
3051
+ def update!(**args)
3052
+ @absolute_discount = args[:absolute_discount] if args.key?(:absolute_discount)
3053
+ @price = args[:price] if args.key?(:price)
3054
+ @region_code = args[:region_code] if args.key?(:region_code)
3055
+ @relative_discount = args[:relative_discount] if args.key?(:relative_discount)
3056
+ end
3057
+ end
3058
+
3059
+ # Specified details about taxation in a given geographical region.
3060
+ class RegionalTaxRateInfo
3061
+ include Google::Apis::Core::Hashable
3062
+
3063
+ # You must tell us if your app contains streaming products to correctly charge
3064
+ # US state and local sales tax. Field only supported in United States.
3065
+ # Corresponds to the JSON property `eligibleForStreamingServiceTaxRate`
3066
+ # @return [Boolean]
3067
+ attr_accessor :eligible_for_streaming_service_tax_rate
3068
+ alias_method :eligible_for_streaming_service_tax_rate?, :eligible_for_streaming_service_tax_rate
3069
+
3070
+ # To collect communications or amusement taxes in the United States, choose the
3071
+ # appropriate tax category. [Learn more](https://support.google.com/googleplay/
3072
+ # android-developer/answer/10463498#streaming_tax).
3073
+ # Corresponds to the JSON property `streamingTaxType`
3074
+ # @return [String]
3075
+ attr_accessor :streaming_tax_type
3076
+
3077
+ # Tax tier to specify reduced tax rate. Developers who sell digital news,
3078
+ # magazines, newspapers, books, or audiobooks in various regions may be eligible
3079
+ # for reduced tax rates. [Learn more](https://support.google.com/googleplay/
3080
+ # android-developer/answer/10463498).
3081
+ # Corresponds to the JSON property `taxTier`
3082
+ # @return [String]
3083
+ attr_accessor :tax_tier
3084
+
3085
+ def initialize(**args)
3086
+ update!(**args)
3087
+ end
3088
+
3089
+ # Update properties of this object
3090
+ def update!(**args)
3091
+ @eligible_for_streaming_service_tax_rate = args[:eligible_for_streaming_service_tax_rate] if args.key?(:eligible_for_streaming_service_tax_rate)
3092
+ @streaming_tax_type = args[:streaming_tax_type] if args.key?(:streaming_tax_type)
3093
+ @tax_tier = args[:tax_tier] if args.key?(:tax_tier)
3094
+ end
3095
+ end
3096
+
3097
+ # The version of the available regions being used for the specified resource.
3098
+ class RegionsVersion
3099
+ include Google::Apis::Core::Hashable
3100
+
3101
+ # Required. A string representing version of the available regions being used
3102
+ # for the specified resource. The current version is 2022/02.
3103
+ # Corresponds to the JSON property `version`
3104
+ # @return [String]
3105
+ attr_accessor :version
3106
+
3107
+ def initialize(**args)
3108
+ update!(**args)
3109
+ end
3110
+
3111
+ # Update properties of this object
3112
+ def update!(**args)
3113
+ @version = args[:version] if args.key?(:version)
3114
+ end
3115
+ end
3116
+
3117
+ # Information specific to cancellations caused by subscription replacement.
3118
+ class ReplacementCancellation
3119
+ include Google::Apis::Core::Hashable
3120
+
3121
+ def initialize(**args)
3122
+ update!(**args)
3123
+ end
3124
+
3125
+ # Update properties of this object
3126
+ def update!(**args)
3127
+ end
3128
+ end
3129
+
3130
+ # An Android app review.
3131
+ class Review
3132
+ include Google::Apis::Core::Hashable
3133
+
3134
+ # The name of the user who wrote the review.
3135
+ # Corresponds to the JSON property `authorName`
3136
+ # @return [String]
3137
+ attr_accessor :author_name
3138
+
3139
+ # A repeated field containing comments for the review.
3140
+ # Corresponds to the JSON property `comments`
3141
+ # @return [Array<Google::Apis::AndroidpublisherV3::Comment>]
3142
+ attr_accessor :comments
3143
+
3144
+ # Unique identifier for this review.
3145
+ # Corresponds to the JSON property `reviewId`
3146
+ # @return [String]
3147
+ attr_accessor :review_id
3148
+
3149
+ def initialize(**args)
3150
+ update!(**args)
3151
+ end
3152
+
3153
+ # Update properties of this object
3154
+ def update!(**args)
3155
+ @author_name = args[:author_name] if args.key?(:author_name)
3156
+ @comments = args[:comments] if args.key?(:comments)
3157
+ @review_id = args[:review_id] if args.key?(:review_id)
3158
+ end
3159
+ end
3160
+
3161
+ # The result of replying/updating a reply to review.
3162
+ class ReviewReplyResult
3163
+ include Google::Apis::Core::Hashable
3164
+
3165
+ # A Timestamp represents a point in time independent of any time zone or local
3166
+ # calendar, encoded as a count of seconds and fractions of seconds at nanosecond
3167
+ # resolution. The count is relative to an epoch at UTC midnight on January 1,
3168
+ # 1970.
3169
+ # Corresponds to the JSON property `lastEdited`
3170
+ # @return [Google::Apis::AndroidpublisherV3::Timestamp]
3171
+ attr_accessor :last_edited
3172
+
3173
+ # The reply text that was applied.
3174
+ # Corresponds to the JSON property `replyText`
3175
+ # @return [String]
3176
+ attr_accessor :reply_text
3177
+
3178
+ def initialize(**args)
3179
+ update!(**args)
3180
+ end
3181
+
3182
+ # Update properties of this object
3183
+ def update!(**args)
3184
+ @last_edited = args[:last_edited] if args.key?(:last_edited)
3185
+ @reply_text = args[:reply_text] if args.key?(:reply_text)
3186
+ end
3187
+ end
3188
+
3189
+ # Response listing reviews.
3190
+ class ReviewsListResponse
3191
+ include Google::Apis::Core::Hashable
3192
+
3193
+ # Information about the current page. List operations that supports paging
3194
+ # return only one "page" of results. This protocol buffer message describes the
3195
+ # page that has been returned.
3196
+ # Corresponds to the JSON property `pageInfo`
1343
3197
  # @return [Google::Apis::AndroidpublisherV3::PageInfo]
1344
3198
  attr_accessor :page_info
1345
3199
 
@@ -1411,6 +3265,107 @@ module Google
1411
3265
  end
1412
3266
  end
1413
3267
 
3268
+ # Information associated with purchases made with 'Subscribe with Google'.
3269
+ class SubscribeWithGoogleInfo
3270
+ include Google::Apis::Core::Hashable
3271
+
3272
+ # The email address of the user when the subscription was purchased.
3273
+ # Corresponds to the JSON property `emailAddress`
3274
+ # @return [String]
3275
+ attr_accessor :email_address
3276
+
3277
+ # The family name of the user when the subscription was purchased.
3278
+ # Corresponds to the JSON property `familyName`
3279
+ # @return [String]
3280
+ attr_accessor :family_name
3281
+
3282
+ # The given name of the user when the subscription was purchased.
3283
+ # Corresponds to the JSON property `givenName`
3284
+ # @return [String]
3285
+ attr_accessor :given_name
3286
+
3287
+ # The Google profile id of the user when the subscription was purchased.
3288
+ # Corresponds to the JSON property `profileId`
3289
+ # @return [String]
3290
+ attr_accessor :profile_id
3291
+
3292
+ # The profile name of the user when the subscription was purchased.
3293
+ # Corresponds to the JSON property `profileName`
3294
+ # @return [String]
3295
+ attr_accessor :profile_name
3296
+
3297
+ def initialize(**args)
3298
+ update!(**args)
3299
+ end
3300
+
3301
+ # Update properties of this object
3302
+ def update!(**args)
3303
+ @email_address = args[:email_address] if args.key?(:email_address)
3304
+ @family_name = args[:family_name] if args.key?(:family_name)
3305
+ @given_name = args[:given_name] if args.key?(:given_name)
3306
+ @profile_id = args[:profile_id] if args.key?(:profile_id)
3307
+ @profile_name = args[:profile_name] if args.key?(:profile_name)
3308
+ end
3309
+ end
3310
+
3311
+ # A single subscription for an app.
3312
+ class Subscription
3313
+ include Google::Apis::Core::Hashable
3314
+
3315
+ # Output only. Whether this subscription is archived. Archived subscriptions are
3316
+ # not available to any subscriber any longer, cannot be updated, and are not
3317
+ # returned in list requests unless the show archived flag is passed in.
3318
+ # Corresponds to the JSON property `archived`
3319
+ # @return [Boolean]
3320
+ attr_accessor :archived
3321
+ alias_method :archived?, :archived
3322
+
3323
+ # The set of base plans for this subscription. Represents the prices and
3324
+ # duration of the subscription if no other offers apply.
3325
+ # Corresponds to the JSON property `basePlans`
3326
+ # @return [Array<Google::Apis::AndroidpublisherV3::BasePlan>]
3327
+ attr_accessor :base_plans
3328
+
3329
+ # Required. List of localized listings for this subscription. Must contain at
3330
+ # least an entry for the default language of the parent app.
3331
+ # Corresponds to the JSON property `listings`
3332
+ # @return [Array<Google::Apis::AndroidpublisherV3::SubscriptionListing>]
3333
+ attr_accessor :listings
3334
+
3335
+ # Immutable. Package name of the parent app.
3336
+ # Corresponds to the JSON property `packageName`
3337
+ # @return [String]
3338
+ attr_accessor :package_name
3339
+
3340
+ # Immutable. Unique product ID of the product. Unique within the parent app.
3341
+ # Product IDs must be composed of lower-case letters (a-z), numbers (0-9),
3342
+ # underscores (_) and dots (.). It must start with a lower-case letter or number,
3343
+ # and be between 1 and 40 (inclusive) characters in length.
3344
+ # Corresponds to the JSON property `productId`
3345
+ # @return [String]
3346
+ attr_accessor :product_id
3347
+
3348
+ # Details about taxation, Google Play policy and legal compliance for
3349
+ # subscription products.
3350
+ # Corresponds to the JSON property `taxAndComplianceSettings`
3351
+ # @return [Google::Apis::AndroidpublisherV3::SubscriptionTaxAndComplianceSettings]
3352
+ attr_accessor :tax_and_compliance_settings
3353
+
3354
+ def initialize(**args)
3355
+ update!(**args)
3356
+ end
3357
+
3358
+ # Update properties of this object
3359
+ def update!(**args)
3360
+ @archived = args[:archived] if args.key?(:archived)
3361
+ @base_plans = args[:base_plans] if args.key?(:base_plans)
3362
+ @listings = args[:listings] if args.key?(:listings)
3363
+ @package_name = args[:package_name] if args.key?(:package_name)
3364
+ @product_id = args[:product_id] if args.key?(:product_id)
3365
+ @tax_and_compliance_settings = args[:tax_and_compliance_settings] if args.key?(:tax_and_compliance_settings)
3366
+ end
3367
+ end
3368
+
1414
3369
  # Information provided by the user when they complete the subscription
1415
3370
  # cancellation flow (cancellation reason survey).
1416
3371
  class SubscriptionCancelSurveyResult
@@ -1445,18 +3400,250 @@ module Google
1445
3400
  class SubscriptionDeferralInfo
1446
3401
  include Google::Apis::Core::Hashable
1447
3402
 
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
3403
+ # The desired next expiry time to assign to the subscription, in milliseconds
3404
+ # since the Epoch. The given time must be later/greater than the current expiry
3405
+ # time for the subscription.
3406
+ # Corresponds to the JSON property `desiredExpiryTimeMillis`
3407
+ # @return [Fixnum]
3408
+ attr_accessor :desired_expiry_time_millis
3409
+
3410
+ # The expected expiry time for the subscription. If the current expiry time for
3411
+ # the subscription is not the value specified here, the deferral will not occur.
3412
+ # Corresponds to the JSON property `expectedExpiryTimeMillis`
3413
+ # @return [Fixnum]
3414
+ attr_accessor :expected_expiry_time_millis
3415
+
3416
+ def initialize(**args)
3417
+ update!(**args)
3418
+ end
3419
+
3420
+ # Update properties of this object
3421
+ def update!(**args)
3422
+ @desired_expiry_time_millis = args[:desired_expiry_time_millis] if args.key?(:desired_expiry_time_millis)
3423
+ @expected_expiry_time_millis = args[:expected_expiry_time_millis] if args.key?(:expected_expiry_time_millis)
3424
+ end
3425
+ end
3426
+
3427
+ # Price change related information of a subscription item.
3428
+ class SubscriptionItemPriceChangeDetails
3429
+ include Google::Apis::Core::Hashable
3430
+
3431
+ # The renewal time at which the price change will become effective for the user.
3432
+ # This is subject to change(to a future time) due to cases where the renewal
3433
+ # time shifts like pause.
3434
+ # Corresponds to the JSON property `expectedNewPriceChargeTime`
3435
+ # @return [String]
3436
+ attr_accessor :expected_new_price_charge_time
3437
+
3438
+ # Represents an amount of money with its currency type.
3439
+ # Corresponds to the JSON property `newPrice`
3440
+ # @return [Google::Apis::AndroidpublisherV3::Money]
3441
+ attr_accessor :new_price
3442
+
3443
+ # Price change mode specifies how the subscription item price is changing.
3444
+ # Corresponds to the JSON property `priceChangeMode`
3445
+ # @return [String]
3446
+ attr_accessor :price_change_mode
3447
+
3448
+ # State the price change is currently in.
3449
+ # Corresponds to the JSON property `priceChangeState`
3450
+ # @return [String]
3451
+ attr_accessor :price_change_state
3452
+
3453
+ def initialize(**args)
3454
+ update!(**args)
3455
+ end
3456
+
3457
+ # Update properties of this object
3458
+ def update!(**args)
3459
+ @expected_new_price_charge_time = args[:expected_new_price_charge_time] if args.key?(:expected_new_price_charge_time)
3460
+ @new_price = args[:new_price] if args.key?(:new_price)
3461
+ @price_change_mode = args[:price_change_mode] if args.key?(:price_change_mode)
3462
+ @price_change_state = args[:price_change_state] if args.key?(:price_change_state)
3463
+ end
3464
+ end
3465
+
3466
+ # The consumer-visible metadata of a subscription.
3467
+ class SubscriptionListing
3468
+ include Google::Apis::Core::Hashable
3469
+
3470
+ # A list of benefits shown to the user on platforms such as the Play Store and
3471
+ # in restoration flows in the language of this listing. Plain text. Ordered list
3472
+ # of at most four benefits.
3473
+ # Corresponds to the JSON property `benefits`
3474
+ # @return [Array<String>]
3475
+ attr_accessor :benefits
3476
+
3477
+ # The description of this subscription in the language of this listing. Maximum
3478
+ # length - 80 characters. Plain text.
3479
+ # Corresponds to the JSON property `description`
3480
+ # @return [String]
3481
+ attr_accessor :description
3482
+
3483
+ # Required. The language of this listing, as defined by BCP-47, e.g. "en-US".
3484
+ # Corresponds to the JSON property `languageCode`
3485
+ # @return [String]
3486
+ attr_accessor :language_code
3487
+
3488
+ # Required. The title of this subscription in the language of this listing.
3489
+ # Plain text.
3490
+ # Corresponds to the JSON property `title`
3491
+ # @return [String]
3492
+ attr_accessor :title
3493
+
3494
+ def initialize(**args)
3495
+ update!(**args)
3496
+ end
3497
+
3498
+ # Update properties of this object
3499
+ def update!(**args)
3500
+ @benefits = args[:benefits] if args.key?(:benefits)
3501
+ @description = args[:description] if args.key?(:description)
3502
+ @language_code = args[:language_code] if args.key?(:language_code)
3503
+ @title = args[:title] if args.key?(:title)
3504
+ end
3505
+ end
3506
+
3507
+ # A single, temporary offer
3508
+ class SubscriptionOffer
3509
+ include Google::Apis::Core::Hashable
3510
+
3511
+ # Required. Immutable. The ID of the base plan to which this offer is an
3512
+ # extension.
3513
+ # Corresponds to the JSON property `basePlanId`
3514
+ # @return [String]
3515
+ attr_accessor :base_plan_id
3516
+
3517
+ # Required. Immutable. Unique ID of this subscription offer. Must be unique
3518
+ # within the base plan.
3519
+ # Corresponds to the JSON property `offerId`
3520
+ # @return [String]
3521
+ attr_accessor :offer_id
3522
+
3523
+ # List of up to 20 custom tags specified for this offer, and returned to the app
3524
+ # through the billing library.
3525
+ # Corresponds to the JSON property `offerTags`
3526
+ # @return [Array<Google::Apis::AndroidpublisherV3::OfferTag>]
3527
+ attr_accessor :offer_tags
3528
+
3529
+ # Configuration for any new locations Play may launch in specified on a
3530
+ # subscription offer.
3531
+ # Corresponds to the JSON property `otherRegionsConfig`
3532
+ # @return [Google::Apis::AndroidpublisherV3::OtherRegionsSubscriptionOfferConfig]
3533
+ attr_accessor :other_regions_config
3534
+
3535
+ # Required. Immutable. The package name of the app the parent subscription
3536
+ # belongs to.
3537
+ # Corresponds to the JSON property `packageName`
3538
+ # @return [String]
3539
+ attr_accessor :package_name
3540
+
3541
+ # Required. The phases of this subscription offer. Must contain at least one
3542
+ # entry, and may contain at most five. Users will always receive all these
3543
+ # phases in the specified order. Phases may not be added, removed, or reordered
3544
+ # after initial creation.
3545
+ # Corresponds to the JSON property `phases`
3546
+ # @return [Array<Google::Apis::AndroidpublisherV3::SubscriptionOfferPhase>]
3547
+ attr_accessor :phases
3548
+
3549
+ # Required. Immutable. The ID of the parent subscription this offer belongs to.
3550
+ # Corresponds to the JSON property `productId`
3551
+ # @return [String]
3552
+ attr_accessor :product_id
3553
+
3554
+ # Required. The region-specific configuration of this offer. Must contain at
3555
+ # least one entry.
3556
+ # Corresponds to the JSON property `regionalConfigs`
3557
+ # @return [Array<Google::Apis::AndroidpublisherV3::RegionalSubscriptionOfferConfig>]
3558
+ attr_accessor :regional_configs
3559
+
3560
+ # Output only. The current state of this offer. Can be changed using Activate
3561
+ # and Deactivate actions. NB: the base plan state supersedes this state, so an
3562
+ # active offer may not be available if the base plan is not active.
3563
+ # Corresponds to the JSON property `state`
3564
+ # @return [String]
3565
+ attr_accessor :state
3566
+
3567
+ # Defines the rule a user needs to satisfy to receive this offer.
3568
+ # Corresponds to the JSON property `targeting`
3569
+ # @return [Google::Apis::AndroidpublisherV3::SubscriptionOfferTargeting]
3570
+ attr_accessor :targeting
3571
+
3572
+ def initialize(**args)
3573
+ update!(**args)
3574
+ end
3575
+
3576
+ # Update properties of this object
3577
+ def update!(**args)
3578
+ @base_plan_id = args[:base_plan_id] if args.key?(:base_plan_id)
3579
+ @offer_id = args[:offer_id] if args.key?(:offer_id)
3580
+ @offer_tags = args[:offer_tags] if args.key?(:offer_tags)
3581
+ @other_regions_config = args[:other_regions_config] if args.key?(:other_regions_config)
3582
+ @package_name = args[:package_name] if args.key?(:package_name)
3583
+ @phases = args[:phases] if args.key?(:phases)
3584
+ @product_id = args[:product_id] if args.key?(:product_id)
3585
+ @regional_configs = args[:regional_configs] if args.key?(:regional_configs)
3586
+ @state = args[:state] if args.key?(:state)
3587
+ @targeting = args[:targeting] if args.key?(:targeting)
3588
+ end
3589
+ end
3590
+
3591
+ # A single phase of a subscription offer.
3592
+ class SubscriptionOfferPhase
3593
+ include Google::Apis::Core::Hashable
3594
+
3595
+ # Required. The duration of a single recurrence of this phase. Specified in ISO
3596
+ # 8601 format.
3597
+ # Corresponds to the JSON property `duration`
3598
+ # @return [String]
3599
+ attr_accessor :duration
3600
+
3601
+ # Configuration for any new locations Play may launch in for a single offer
3602
+ # phase.
3603
+ # Corresponds to the JSON property `otherRegionsConfig`
3604
+ # @return [Google::Apis::AndroidpublisherV3::OtherRegionsSubscriptionOfferPhaseConfig]
3605
+ attr_accessor :other_regions_config
3606
+
3607
+ # Required. The number of times this phase repeats. If this offer phase is not
3608
+ # free, each recurrence charges the user the price of this offer phase.
3609
+ # Corresponds to the JSON property `recurrenceCount`
3610
+ # @return [Fixnum]
3611
+ attr_accessor :recurrence_count
3612
+
3613
+ # Required. The region-specific configuration of this offer phase. This list
3614
+ # must contain exactly one entry for each region for which the subscription
3615
+ # offer has a regional config.
3616
+ # Corresponds to the JSON property `regionalConfigs`
3617
+ # @return [Array<Google::Apis::AndroidpublisherV3::RegionalSubscriptionOfferPhaseConfig>]
3618
+ attr_accessor :regional_configs
3619
+
3620
+ def initialize(**args)
3621
+ update!(**args)
3622
+ end
3623
+
3624
+ # Update properties of this object
3625
+ def update!(**args)
3626
+ @duration = args[:duration] if args.key?(:duration)
3627
+ @other_regions_config = args[:other_regions_config] if args.key?(:other_regions_config)
3628
+ @recurrence_count = args[:recurrence_count] if args.key?(:recurrence_count)
3629
+ @regional_configs = args[:regional_configs] if args.key?(:regional_configs)
3630
+ end
3631
+ end
3632
+
3633
+ # Defines the rule a user needs to satisfy to receive this offer.
3634
+ class SubscriptionOfferTargeting
3635
+ include Google::Apis::Core::Hashable
3636
+
3637
+ # Represents a targeting rule of the form: User never had `scope` before.
3638
+ # Corresponds to the JSON property `acquisitionRule`
3639
+ # @return [Google::Apis::AndroidpublisherV3::AcquisitionTargetingRule]
3640
+ attr_accessor :acquisition_rule
1454
3641
 
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
3642
+ # Represents a targeting rule of the form: User currently has `scope` [with
3643
+ # billing period `billing_period`].
3644
+ # Corresponds to the JSON property `upgradeRule`
3645
+ # @return [Google::Apis::AndroidpublisherV3::UpgradeTargetingRule]
3646
+ attr_accessor :upgrade_rule
1460
3647
 
1461
3648
  def initialize(**args)
1462
3649
  update!(**args)
@@ -1464,8 +3651,8 @@ module Google
1464
3651
 
1465
3652
  # Update properties of this object
1466
3653
  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)
3654
+ @acquisition_rule = args[:acquisition_rule] if args.key?(:acquisition_rule)
3655
+ @upgrade_rule = args[:upgrade_rule] if args.key?(:upgrade_rule)
1469
3656
  end
1470
3657
  end
1471
3658
 
@@ -1626,7 +3813,8 @@ module Google
1626
3813
  attr_accessor :obfuscated_external_profile_id
1627
3814
 
1628
3815
  # The order id of the latest recurring order associated with the purchase of the
1629
- # subscription.
3816
+ # subscription. If the subscription was canceled because payment was declined,
3817
+ # this will be the order id from the payment declined order.
1630
3818
  # Corresponds to the JSON property `orderId`
1631
3819
  # @return [String]
1632
3820
  attr_accessor :order_id
@@ -1638,9 +3826,11 @@ module Google
1638
3826
  # @return [Fixnum]
1639
3827
  attr_accessor :payment_state
1640
3828
 
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.
3829
+ # Price of the subscription, For tax exclusive countries, the price doesn't
3830
+ # include tax. For tax inclusive countries, the price includes tax. Price is
3831
+ # expressed in micro-units, where 1,000,000 micro-units represents one unit of
3832
+ # the currency. For example, if the subscription price is €1.99,
3833
+ # price_amount_micros is 1990000.
1644
3834
  # Corresponds to the JSON property `priceAmountMicros`
1645
3835
  # @return [Fixnum]
1646
3836
  attr_accessor :price_amount_micros
@@ -1741,6 +3931,153 @@ module Google
1741
3931
  end
1742
3932
  end
1743
3933
 
3934
+ # Item-level info for a subscription purchase.
3935
+ class SubscriptionPurchaseLineItem
3936
+ include Google::Apis::Core::Hashable
3937
+
3938
+ # Information related to an auto renewing plan.
3939
+ # Corresponds to the JSON property `autoRenewingPlan`
3940
+ # @return [Google::Apis::AndroidpublisherV3::AutoRenewingPlan]
3941
+ attr_accessor :auto_renewing_plan
3942
+
3943
+ # Time at which the subscription expired or will expire unless the access is
3944
+ # extended (ex. renews).
3945
+ # Corresponds to the JSON property `expiryTime`
3946
+ # @return [String]
3947
+ attr_accessor :expiry_time
3948
+
3949
+ # Offer details information related to a purchase line item.
3950
+ # Corresponds to the JSON property `offerDetails`
3951
+ # @return [Google::Apis::AndroidpublisherV3::OfferDetails]
3952
+ attr_accessor :offer_details
3953
+
3954
+ # Information related to a prepaid plan.
3955
+ # Corresponds to the JSON property `prepaidPlan`
3956
+ # @return [Google::Apis::AndroidpublisherV3::PrepaidPlan]
3957
+ attr_accessor :prepaid_plan
3958
+
3959
+ # The purchased product ID (for example, 'monthly001').
3960
+ # Corresponds to the JSON property `productId`
3961
+ # @return [String]
3962
+ attr_accessor :product_id
3963
+
3964
+ def initialize(**args)
3965
+ update!(**args)
3966
+ end
3967
+
3968
+ # Update properties of this object
3969
+ def update!(**args)
3970
+ @auto_renewing_plan = args[:auto_renewing_plan] if args.key?(:auto_renewing_plan)
3971
+ @expiry_time = args[:expiry_time] if args.key?(:expiry_time)
3972
+ @offer_details = args[:offer_details] if args.key?(:offer_details)
3973
+ @prepaid_plan = args[:prepaid_plan] if args.key?(:prepaid_plan)
3974
+ @product_id = args[:product_id] if args.key?(:product_id)
3975
+ end
3976
+ end
3977
+
3978
+ # Indicates the status of a user's subscription purchase.
3979
+ class SubscriptionPurchaseV2
3980
+ include Google::Apis::Core::Hashable
3981
+
3982
+ # The acknowledgement state of the subscription.
3983
+ # Corresponds to the JSON property `acknowledgementState`
3984
+ # @return [String]
3985
+ attr_accessor :acknowledgement_state
3986
+
3987
+ # Information specific to a subscription in canceled state.
3988
+ # Corresponds to the JSON property `canceledStateContext`
3989
+ # @return [Google::Apis::AndroidpublisherV3::CanceledStateContext]
3990
+ attr_accessor :canceled_state_context
3991
+
3992
+ # User account identifier in the third-party service.
3993
+ # Corresponds to the JSON property `externalAccountIdentifiers`
3994
+ # @return [Google::Apis::AndroidpublisherV3::ExternalAccountIdentifiers]
3995
+ attr_accessor :external_account_identifiers
3996
+
3997
+ # This kind represents a SubscriptionPurchaseV2 object in the androidpublisher
3998
+ # service.
3999
+ # Corresponds to the JSON property `kind`
4000
+ # @return [String]
4001
+ attr_accessor :kind
4002
+
4003
+ # The order id of the latest order associated with the purchase of the
4004
+ # subscription. For autoRenewing subscription, this is the order id of signup
4005
+ # order if it is not renewed yet, or the last recurring order id (success,
4006
+ # pending, or declined order). For prepaid subscription, this is the order id
4007
+ # associated with the queried purchase token.
4008
+ # Corresponds to the JSON property `latestOrderId`
4009
+ # @return [String]
4010
+ attr_accessor :latest_order_id
4011
+
4012
+ # Item-level info for a subscription purchase. The items in the same purchase
4013
+ # should be either all with AutoRenewingPlan or all with PrepaidPlan.
4014
+ # Corresponds to the JSON property `lineItems`
4015
+ # @return [Array<Google::Apis::AndroidpublisherV3::SubscriptionPurchaseLineItem>]
4016
+ attr_accessor :line_items
4017
+
4018
+ # The purchase token of the old subscription if this subscription is one of the
4019
+ # following: * Re-signup of a canceled but non-lapsed subscription * Upgrade/
4020
+ # downgrade from a previous subscription. * Convert from prepaid to auto
4021
+ # renewing subscription. * Convert from an auto renewing subscription to prepaid.
4022
+ # * Topup a prepaid subscription.
4023
+ # Corresponds to the JSON property `linkedPurchaseToken`
4024
+ # @return [String]
4025
+ attr_accessor :linked_purchase_token
4026
+
4027
+ # Information specific to a subscription in paused state.
4028
+ # Corresponds to the JSON property `pausedStateContext`
4029
+ # @return [Google::Apis::AndroidpublisherV3::PausedStateContext]
4030
+ attr_accessor :paused_state_context
4031
+
4032
+ # ISO 3166-1 alpha-2 billing country/region code of the user at the time the
4033
+ # subscription was granted.
4034
+ # Corresponds to the JSON property `regionCode`
4035
+ # @return [String]
4036
+ attr_accessor :region_code
4037
+
4038
+ # Time at which the subscription was granted. Not set for pending subscriptions (
4039
+ # subscription was created but awaiting payment during signup).
4040
+ # Corresponds to the JSON property `startTime`
4041
+ # @return [String]
4042
+ attr_accessor :start_time
4043
+
4044
+ # Information associated with purchases made with 'Subscribe with Google'.
4045
+ # Corresponds to the JSON property `subscribeWithGoogleInfo`
4046
+ # @return [Google::Apis::AndroidpublisherV3::SubscribeWithGoogleInfo]
4047
+ attr_accessor :subscribe_with_google_info
4048
+
4049
+ # The current state of the subscription.
4050
+ # Corresponds to the JSON property `subscriptionState`
4051
+ # @return [String]
4052
+ attr_accessor :subscription_state
4053
+
4054
+ # Whether this subscription purchase is a test purchase.
4055
+ # Corresponds to the JSON property `testPurchase`
4056
+ # @return [Google::Apis::AndroidpublisherV3::TestPurchase]
4057
+ attr_accessor :test_purchase
4058
+
4059
+ def initialize(**args)
4060
+ update!(**args)
4061
+ end
4062
+
4063
+ # Update properties of this object
4064
+ def update!(**args)
4065
+ @acknowledgement_state = args[:acknowledgement_state] if args.key?(:acknowledgement_state)
4066
+ @canceled_state_context = args[:canceled_state_context] if args.key?(:canceled_state_context)
4067
+ @external_account_identifiers = args[:external_account_identifiers] if args.key?(:external_account_identifiers)
4068
+ @kind = args[:kind] if args.key?(:kind)
4069
+ @latest_order_id = args[:latest_order_id] if args.key?(:latest_order_id)
4070
+ @line_items = args[:line_items] if args.key?(:line_items)
4071
+ @linked_purchase_token = args[:linked_purchase_token] if args.key?(:linked_purchase_token)
4072
+ @paused_state_context = args[:paused_state_context] if args.key?(:paused_state_context)
4073
+ @region_code = args[:region_code] if args.key?(:region_code)
4074
+ @start_time = args[:start_time] if args.key?(:start_time)
4075
+ @subscribe_with_google_info = args[:subscribe_with_google_info] if args.key?(:subscribe_with_google_info)
4076
+ @subscription_state = args[:subscription_state] if args.key?(:subscription_state)
4077
+ @test_purchase = args[:test_purchase] if args.key?(:test_purchase)
4078
+ end
4079
+ end
4080
+
1744
4081
  # Request for the purchases.subscriptions.acknowledge API.
1745
4082
  class SubscriptionPurchasesAcknowledgeRequest
1746
4083
  include Google::Apis::Core::Hashable
@@ -1799,6 +4136,37 @@ module Google
1799
4136
  end
1800
4137
  end
1801
4138
 
4139
+ # Details about taxation, Google Play policy and legal compliance for
4140
+ # subscription products.
4141
+ class SubscriptionTaxAndComplianceSettings
4142
+ include Google::Apis::Core::Hashable
4143
+
4144
+ # Digital content or service classification for products distributed to users in
4145
+ # the European Economic Area (EEA). The withdrawal regime under EEA consumer
4146
+ # laws depends on this classification. Refer to the [Help Center article](https:/
4147
+ # /support.google.com/googleplay/android-developer/answer/10463498) for more
4148
+ # information.
4149
+ # Corresponds to the JSON property `eeaWithdrawalRightType`
4150
+ # @return [String]
4151
+ attr_accessor :eea_withdrawal_right_type
4152
+
4153
+ # A mapping from region code to tax rate details. The keys are region codes as
4154
+ # defined by Unicode's "CLDR".
4155
+ # Corresponds to the JSON property `taxRateInfoByRegionCode`
4156
+ # @return [Hash<String,Google::Apis::AndroidpublisherV3::RegionalTaxRateInfo>]
4157
+ attr_accessor :tax_rate_info_by_region_code
4158
+
4159
+ def initialize(**args)
4160
+ update!(**args)
4161
+ end
4162
+
4163
+ # Update properties of this object
4164
+ def update!(**args)
4165
+ @eea_withdrawal_right_type = args[:eea_withdrawal_right_type] if args.key?(:eea_withdrawal_right_type)
4166
+ @tax_rate_info_by_region_code = args[:tax_rate_info_by_region_code] if args.key?(:tax_rate_info_by_region_code)
4167
+ end
4168
+ end
4169
+
1802
4170
  # Response to list previously created system APK variants.
1803
4171
  class SystemApksListResponse
1804
4172
  include Google::Apis::Core::Hashable
@@ -1818,7 +4186,75 @@ module Google
1818
4186
  end
1819
4187
  end
1820
4188
 
1821
- # The testers of an app. The resource for TestersService.
4189
+ # Representation of a system feature.
4190
+ class SystemFeature
4191
+ include Google::Apis::Core::Hashable
4192
+
4193
+ # The name of the feature.
4194
+ # Corresponds to the JSON property `name`
4195
+ # @return [String]
4196
+ attr_accessor :name
4197
+
4198
+ def initialize(**args)
4199
+ update!(**args)
4200
+ end
4201
+
4202
+ # Update properties of this object
4203
+ def update!(**args)
4204
+ @name = args[:name] if args.key?(:name)
4205
+ end
4206
+ end
4207
+
4208
+ # Information specific to cancellations initiated by Google system.
4209
+ class SystemInitiatedCancellation
4210
+ include Google::Apis::Core::Hashable
4211
+
4212
+ def initialize(**args)
4213
+ update!(**args)
4214
+ end
4215
+
4216
+ # Update properties of this object
4217
+ def update!(**args)
4218
+ end
4219
+ end
4220
+
4221
+ # Defines the scope of subscriptions which a targeting rule can match to target
4222
+ # offers to users based on past or current entitlement.
4223
+ class TargetingRuleScope
4224
+ include Google::Apis::Core::Hashable
4225
+
4226
+ # The scope of the current targeting rule is the subscription with the specified
4227
+ # subscription ID. Must be a subscription within the same parent app.
4228
+ # Corresponds to the JSON property `specificSubscriptionInApp`
4229
+ # @return [String]
4230
+ attr_accessor :specific_subscription_in_app
4231
+
4232
+ def initialize(**args)
4233
+ update!(**args)
4234
+ end
4235
+
4236
+ # Update properties of this object
4237
+ def update!(**args)
4238
+ @specific_subscription_in_app = args[:specific_subscription_in_app] if args.key?(:specific_subscription_in_app)
4239
+ end
4240
+ end
4241
+
4242
+ # Whether this subscription purchase is a test purchase.
4243
+ class TestPurchase
4244
+ include Google::Apis::Core::Hashable
4245
+
4246
+ def initialize(**args)
4247
+ update!(**args)
4248
+ end
4249
+
4250
+ # Update properties of this object
4251
+ def update!(**args)
4252
+ end
4253
+ end
4254
+
4255
+ # The testers of an app. The resource for TestersService. Note: while it is
4256
+ # possible in the Play Console UI to add testers via email lists, email lists
4257
+ # are not supported by this resource.
1822
4258
  class Testers
1823
4259
  include Google::Apis::Core::Hashable
1824
4260
 
@@ -1909,7 +4345,10 @@ module Google
1909
4345
  # @return [Array<Google::Apis::AndroidpublisherV3::TrackRelease>]
1910
4346
  attr_accessor :releases
1911
4347
 
1912
- # Identifier of the track.
4348
+ # Identifier of the track. Form factor tracks have a special prefix as an
4349
+ # identifier, for example `wear:production`, `automotive:production`. [More on
4350
+ # track name](https://developers.google.com/android-publisher/tracks#ff-track-
4351
+ # name)
1913
4352
  # Corresponds to the JSON property `track`
1914
4353
  # @return [String]
1915
4354
  attr_accessor :track
@@ -1925,6 +4364,45 @@ module Google
1925
4364
  end
1926
4365
  end
1927
4366
 
4367
+ # Resource for per-track country availability information.
4368
+ class TrackCountryAvailability
4369
+ include Google::Apis::Core::Hashable
4370
+
4371
+ # A list of one or more countries where artifacts in this track are available.
4372
+ # This list includes all countries that are targeted by the track, even if only
4373
+ # specific carriers are targeted in that country.
4374
+ # Corresponds to the JSON property `countries`
4375
+ # @return [Array<Google::Apis::AndroidpublisherV3::TrackTargetedCountry>]
4376
+ attr_accessor :countries
4377
+
4378
+ # Whether artifacts in this track are available to "rest of the world" countries.
4379
+ # Corresponds to the JSON property `restOfWorld`
4380
+ # @return [Boolean]
4381
+ attr_accessor :rest_of_world
4382
+ alias_method :rest_of_world?, :rest_of_world
4383
+
4384
+ # Whether this track's availability is synced with the default production track.
4385
+ # See https://support.google.com/googleplay/android-developer/answer/7550024 for
4386
+ # more information on syncing country availability with production. Note that if
4387
+ # this is true, the returned "countries" and "rest_of_world" fields will reflect
4388
+ # the values for the default production track.
4389
+ # Corresponds to the JSON property `syncWithProduction`
4390
+ # @return [Boolean]
4391
+ attr_accessor :sync_with_production
4392
+ alias_method :sync_with_production?, :sync_with_production
4393
+
4394
+ def initialize(**args)
4395
+ update!(**args)
4396
+ end
4397
+
4398
+ # Update properties of this object
4399
+ def update!(**args)
4400
+ @countries = args[:countries] if args.key?(:countries)
4401
+ @rest_of_world = args[:rest_of_world] if args.key?(:rest_of_world)
4402
+ @sync_with_production = args[:sync_with_production] if args.key?(:sync_with_production)
4403
+ end
4404
+ end
4405
+
1928
4406
  # A release within a track.
1929
4407
  class TrackRelease
1930
4408
  include Google::Apis::Core::Hashable
@@ -1988,6 +4466,25 @@ module Google
1988
4466
  end
1989
4467
  end
1990
4468
 
4469
+ # Representation of a single country where the contents of a track are available.
4470
+ class TrackTargetedCountry
4471
+ include Google::Apis::Core::Hashable
4472
+
4473
+ # The country to target, as a two-letter CLDR code.
4474
+ # Corresponds to the JSON property `countryCode`
4475
+ # @return [String]
4476
+ attr_accessor :country_code
4477
+
4478
+ def initialize(**args)
4479
+ update!(**args)
4480
+ end
4481
+
4482
+ # Update properties of this object
4483
+ def update!(**args)
4484
+ @country_code = args[:country_code] if args.key?(:country_code)
4485
+ end
4486
+ end
4487
+
1991
4488
  # Response listing all tracks.
1992
4489
  class TracksListResponse
1993
4490
  include Google::Apis::Core::Hashable
@@ -2013,6 +4510,107 @@ module Google
2013
4510
  end
2014
4511
  end
2015
4512
 
4513
+ # Represents a targeting rule of the form: User currently has `scope` [with
4514
+ # billing period `billing_period`].
4515
+ class UpgradeTargetingRule
4516
+ include Google::Apis::Core::Hashable
4517
+
4518
+ # The specific billing period duration, specified in ISO 8601 format, that a
4519
+ # user must be currently subscribed to to be eligible for this rule. If not
4520
+ # specified, users subscribed to any billing period are matched.
4521
+ # Corresponds to the JSON property `billingPeriodDuration`
4522
+ # @return [String]
4523
+ attr_accessor :billing_period_duration
4524
+
4525
+ # Limit this offer to only once per user. If set to true, a user can never be
4526
+ # eligible for this offer again if they ever subscribed to this offer.
4527
+ # Corresponds to the JSON property `oncePerUser`
4528
+ # @return [Boolean]
4529
+ attr_accessor :once_per_user
4530
+ alias_method :once_per_user?, :once_per_user
4531
+
4532
+ # Defines the scope of subscriptions which a targeting rule can match to target
4533
+ # offers to users based on past or current entitlement.
4534
+ # Corresponds to the JSON property `scope`
4535
+ # @return [Google::Apis::AndroidpublisherV3::TargetingRuleScope]
4536
+ attr_accessor :scope
4537
+
4538
+ def initialize(**args)
4539
+ update!(**args)
4540
+ end
4541
+
4542
+ # Update properties of this object
4543
+ def update!(**args)
4544
+ @billing_period_duration = args[:billing_period_duration] if args.key?(:billing_period_duration)
4545
+ @once_per_user = args[:once_per_user] if args.key?(:once_per_user)
4546
+ @scope = args[:scope] if args.key?(:scope)
4547
+ end
4548
+ end
4549
+
4550
+ # A user resource.
4551
+ class User
4552
+ include Google::Apis::Core::Hashable
4553
+
4554
+ # Output only. The state of the user's access to the Play Console.
4555
+ # Corresponds to the JSON property `accessState`
4556
+ # @return [String]
4557
+ attr_accessor :access_state
4558
+
4559
+ # Permissions for the user which apply across the developer account.
4560
+ # Corresponds to the JSON property `developerAccountPermissions`
4561
+ # @return [Array<String>]
4562
+ attr_accessor :developer_account_permissions
4563
+
4564
+ # Immutable. The user's email address.
4565
+ # Corresponds to the JSON property `email`
4566
+ # @return [String]
4567
+ attr_accessor :email
4568
+
4569
+ # The time at which the user's access expires, if set. When setting this value,
4570
+ # it must always be in the future.
4571
+ # Corresponds to the JSON property `expirationTime`
4572
+ # @return [String]
4573
+ attr_accessor :expiration_time
4574
+
4575
+ # Output only. Per-app permissions for the user.
4576
+ # Corresponds to the JSON property `grants`
4577
+ # @return [Array<Google::Apis::AndroidpublisherV3::Grant>]
4578
+ attr_accessor :grants
4579
+
4580
+ # Required. Resource name for this user, following the pattern "developers/`
4581
+ # developer`/users/`email`".
4582
+ # Corresponds to the JSON property `name`
4583
+ # @return [String]
4584
+ attr_accessor :name
4585
+
4586
+ # Output only. Whether there are more permissions for the user that are not
4587
+ # represented here. This can happen if the caller does not have permission to
4588
+ # manage all apps in the account. This is also `true` if this user is the
4589
+ # account owner. If this field is `true`, it should be taken as a signal that
4590
+ # this user cannot be fully managed via the API. That is, the API caller is not
4591
+ # be able to manage all of the permissions this user holds, either because it
4592
+ # doesn't know about them or because the user is the account owner.
4593
+ # Corresponds to the JSON property `partial`
4594
+ # @return [Boolean]
4595
+ attr_accessor :partial
4596
+ alias_method :partial?, :partial
4597
+
4598
+ def initialize(**args)
4599
+ update!(**args)
4600
+ end
4601
+
4602
+ # Update properties of this object
4603
+ def update!(**args)
4604
+ @access_state = args[:access_state] if args.key?(:access_state)
4605
+ @developer_account_permissions = args[:developer_account_permissions] if args.key?(:developer_account_permissions)
4606
+ @email = args[:email] if args.key?(:email)
4607
+ @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
4608
+ @grants = args[:grants] if args.key?(:grants)
4609
+ @name = args[:name] if args.key?(:name)
4610
+ @partial = args[:partial] if args.key?(:partial)
4611
+ end
4612
+ end
4613
+
2016
4614
  # User entry from conversation between user and developer.
2017
4615
  class UserComment
2018
4616
  include Google::Apis::Core::Hashable
@@ -2108,6 +4706,60 @@ module Google
2108
4706
  end
2109
4707
  end
2110
4708
 
4709
+ # A set of user countries. A country set determines what variation of app
4710
+ # content gets served to a specific location.
4711
+ class UserCountrySet
4712
+ include Google::Apis::Core::Hashable
4713
+
4714
+ # List of country codes representing countries. A Country code is represented in
4715
+ # ISO 3166 alpha-2 format. For Example:- "IT" for Italy, "GE" for Georgia.
4716
+ # Corresponds to the JSON property `countryCodes`
4717
+ # @return [Array<String>]
4718
+ attr_accessor :country_codes
4719
+
4720
+ # Country set name.
4721
+ # Corresponds to the JSON property `name`
4722
+ # @return [String]
4723
+ attr_accessor :name
4724
+
4725
+ def initialize(**args)
4726
+ update!(**args)
4727
+ end
4728
+
4729
+ # Update properties of this object
4730
+ def update!(**args)
4731
+ @country_codes = args[:country_codes] if args.key?(:country_codes)
4732
+ @name = args[:name] if args.key?(:name)
4733
+ end
4734
+ end
4735
+
4736
+ # Information specific to cancellations initiated by users.
4737
+ class UserInitiatedCancellation
4738
+ include Google::Apis::Core::Hashable
4739
+
4740
+ # Result of the cancel survey when the subscription was canceled by the user.
4741
+ # Corresponds to the JSON property `cancelSurveyResult`
4742
+ # @return [Google::Apis::AndroidpublisherV3::CancelSurveyResult]
4743
+ attr_accessor :cancel_survey_result
4744
+
4745
+ # The time at which the subscription was canceled by the user. The user might
4746
+ # still have access to the subscription after this time. Use line_items.
4747
+ # expiry_time to determine if a user still has access.
4748
+ # Corresponds to the JSON property `cancelTime`
4749
+ # @return [String]
4750
+ attr_accessor :cancel_time
4751
+
4752
+ def initialize(**args)
4753
+ update!(**args)
4754
+ end
4755
+
4756
+ # Update properties of this object
4757
+ def update!(**args)
4758
+ @cancel_survey_result = args[:cancel_survey_result] if args.key?(:cancel_survey_result)
4759
+ @cancel_time = args[:cancel_time] if args.key?(:cancel_time)
4760
+ end
4761
+ end
4762
+
2111
4763
  # A permission used by this APK.
2112
4764
  class UsesPermission
2113
4765
  include Google::Apis::Core::Hashable