google-apis-androidpublisher_v3 0.2.0 → 0.41.0

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