Class: Google::Apis::FcmdataV1beta1::GoogleFirebaseFcmDataV1beta1DeliveryPerformancePercents

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/fcmdata_v1beta1/classes.rb,
lib/google/apis/fcmdata_v1beta1/representations.rb,
lib/google/apis/fcmdata_v1beta1/representations.rb

Overview

Overview of delivery performance for messages that were successfully delivered. All percentages are calculated with countMessagesAccepted as the denominator. These categories are not mutually exclusive; a message can be delayed for multiple reasons.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleFirebaseFcmDataV1beta1DeliveryPerformancePercents

Returns a new instance of GoogleFirebaseFcmDataV1beta1DeliveryPerformancePercents.



176
177
178
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 176

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#delayed_device_dozeFloat

The percentage of accepted messages that were delayed because the device was in doze mode. Only normal priority messages should be delayed due to doze mode. Corresponds to the JSON property delayedDeviceDoze

Returns:

  • (Float)


143
144
145
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 143

def delayed_device_doze
  @delayed_device_doze
end

#delayed_device_offlineFloat

The percentage of accepted messages that were delayed because the target device was not connected at the time of sending. These messages were eventually delivered when the device reconnected. Corresponds to the JSON property delayedDeviceOffline

Returns:

  • (Float)


150
151
152
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 150

def delayed_device_offline
  @delayed_device_offline
end

#delayed_message_throttledFloat

The percentage of accepted messages that were delayed due to message throttling, such as collapsible message throttling or maximum message rate throttling. Corresponds to the JSON property delayedMessageThrottled

Returns:

  • (Float)


159
160
161
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 159

def delayed_message_throttled
  @delayed_message_throttled
end

#delayed_user_stoppedFloat

The percentage of accepted messages that were delayed because the intended device user-profile was stopped on the target device at the time of the send. The messages were eventually delivered when the user-profile was started again. Corresponds to the JSON property delayedUserStopped

Returns:

  • (Float)


168
169
170
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 168

def delayed_user_stopped
  @delayed_user_stopped
end

#delivered_no_delayFloat

The percentage of accepted messages that were delivered to the device without delay from the FCM system. Corresponds to the JSON property deliveredNoDelay

Returns:

  • (Float)


174
175
176
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 174

def delivered_no_delay
  @delivered_no_delay
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



181
182
183
184
185
186
187
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 181

def update!(**args)
  @delayed_device_doze = args[:delayed_device_doze] if args.key?(:delayed_device_doze)
  @delayed_device_offline = args[:delayed_device_offline] if args.key?(:delayed_device_offline)
  @delayed_message_throttled = args[:delayed_message_throttled] if args.key?(:delayed_message_throttled)
  @delayed_user_stopped = args[:delayed_user_stopped] if args.key?(:delayed_user_stopped)
  @delivered_no_delay = args[:delivered_no_delay] if args.key?(:delivered_no_delay)
end