Class: Google::Apis::FcmdataV1beta1::GoogleFirebaseFcmDataV1beta1MessageOutcomePercents

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

Percentage breakdown of message delivery outcomes. These categories are mutually exclusive. All percentages are calculated with countMessagesAccepted as the denominator. These categories may not account for all message outcomes.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleFirebaseFcmDataV1beta1MessageOutcomePercents

Returns a new instance of GoogleFirebaseFcmDataV1beta1MessageOutcomePercents.



305
306
307
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 305

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

Instance Attribute Details

#collapsedFloat

The percentage of accepted messages that were collapsed by another message. Corresponds to the JSON property collapsed

Returns:

  • (Float)


251
252
253
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 251

def collapsed
  @collapsed
end

#deliveredFloat

The percentage of all accepted messages that were successfully delivered to the device. Corresponds to the JSON property delivered

Returns:

  • (Float)


257
258
259
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 257

def delivered
  @delivered
end

#dropped_app_force_stoppedFloat

The percentage of accepted messages that were dropped because the application was force stopped on the device at the time of delivery and retries were unsuccessful. Corresponds to the JSON property droppedAppForceStopped

Returns:

  • (Float)


264
265
266
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 264

def dropped_app_force_stopped
  @dropped_app_force_stopped
end

#dropped_device_inactiveFloat

The percentage of accepted messages that were dropped because the target device is inactive. FCM will drop messages if the target device is deemed inactive by our servers. If a device does reconnect, we call OnDeletedMessages() in our SDK instead of delivering the messages. Corresponds to the JSON property droppedDeviceInactive

Returns:

  • (Float)


274
275
276
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 274

def dropped_device_inactive
  @dropped_device_inactive
end

#dropped_too_many_pending_messagesFloat

The percentage of accepted messages that were dropped due to too many undelivered non-collapsible messages. Specifically, each app instance can only have 100 pending messages stored on our servers for a device which is disconnected. When that device reconnects, those messages are delivered. When there are more than the maximum pending messages, we call OnDeletedMessages() in our SDK instead of delivering the messages. Corresponds to the JSON property droppedTooManyPendingMessages

Returns:

  • (Float)


287
288
289
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 287

def dropped_too_many_pending_messages
  @dropped_too_many_pending_messages
end

#dropped_ttl_expiredFloat

The percentage of accepted messages that expired because Time To Live (TTL) elapsed before the target device reconnected. Corresponds to the JSON property droppedTtlExpired

Returns:

  • (Float)


294
295
296
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 294

def dropped_ttl_expired
  @dropped_ttl_expired
end

#pendingFloat

The percentage of messages accepted on this day that were not dropped and not delivered, due to the device being disconnected (as of the end of the America/ Los_Angeles day when the message was sent to FCM). A portion of these messages will be delivered the next day when the device connects but others may be destined to devices that ultimately never reconnect. Corresponds to the JSON property pending

Returns:

  • (Float)


303
304
305
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 303

def pending
  @pending
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



310
311
312
313
314
315
316
317
318
# File 'lib/google/apis/fcmdata_v1beta1/classes.rb', line 310

def update!(**args)
  @collapsed = args[:collapsed] if args.key?(:collapsed)
  @delivered = args[:delivered] if args.key?(:delivered)
  @dropped_app_force_stopped = args[:dropped_app_force_stopped] if args.key?(:dropped_app_force_stopped)
  @dropped_device_inactive = args[:dropped_device_inactive] if args.key?(:dropped_device_inactive)
  @dropped_too_many_pending_messages = args[:dropped_too_many_pending_messages] if args.key?(:dropped_too_many_pending_messages)
  @dropped_ttl_expired = args[:dropped_ttl_expired] if args.key?(:dropped_ttl_expired)
  @pending = args[:pending] if args.key?(:pending)
end