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.



161
162
163
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 161

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)


128
129
130
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 128

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)


135
136
137
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 135

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)


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

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)


153
154
155
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 153

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)


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

def delivered_no_delay
  @delivered_no_delay
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



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

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