[][src]Enum fcm::ErrorReason

pub enum ErrorReason {
    MissingRegistration,
    InvalidRegistration,
    NotRegistered,
    InvalidPackageName,
    MismatchSenderId,
    InvalidParameters,
    MessageTooBig,
    InvalidDataKey,
    InvalidTtl,
    Unavailable,
    InternalServerError,
    DeviceMessageRateExceeded,
    TopicsMessageRateExceeded,
    InvalidApnsCredential,
}

A description of what went wrong with the push notification. Referred from Firebase documentation

Variants

MissingRegistration

Check that the request contains a registration token (in the to or registration_ids field).

InvalidRegistration

Check the format of the registration token you pass to the server. Make sure it matches the registration token the client app receives from registering with Firebase Notifications. Do not truncate or add additional characters.

NotRegistered

An existing registration token may cease to be valid in a number of scenarios, including:

For all these cases, remove this registration token from the app server and stop using it to send messages.

InvalidPackageName

Make sure the message was addressed to a registration token whose package name matches the value passed in the request.

MismatchSenderId

A registration token is tied to a certain group of senders. When a client app registers for FCM, it must specify which senders are allowed to send messages. You should use one of those sender IDs when sending messages to the client app. If you switch to a different sender, the existing registration tokens won't work.

InvalidParameters

Check that the provided parameters have the right name and type.

MessageTooBig

Check that the total size of the payload data included in a message does not exceed FCM limits: 4096 bytes for most messages, or 2048 bytes in the case of messages to topics. This includes both the keys and the values.

InvalidDataKey

Check that the custom payload data does not contain a key (such as from, or gcm, or any value prefixed by google) that is used internally by FCM. Note that some words (such as collapse_key) are also used by FCM but are allowed in the payload, in which case the payload value will be overridden by the FCM value.

InvalidTtl

Check that the value used in time_to_live is an integer representing a duration in seconds between 0 and 2,419,200 (4 weeks).

Unavailable

In internal use only. Check FcmError::ServerError.

InternalServerError

In internal use only. Check FcmError::ServerError.

DeviceMessageRateExceeded

The rate of messages to a particular device is too high. If an iOS app sends messages at a rate exceeding APNs limits, it may receive this error message

Reduce the number of messages sent to this device and use exponential backoff to retry sending.

TopicsMessageRateExceeded

The rate of messages to subscribers to a particular topic is too high. Reduce the number of messages sent for this topic and use exponential backoff to retry sending.

InvalidApnsCredential

A message targeted to an iOS device could not be sent because the required APNs authentication key was not uploaded or has expired. Check the validity of your development and production credentials.

Trait Implementations

impl Clone for ErrorReason[src]

impl Copy for ErrorReason[src]

impl Debug for ErrorReason[src]

impl<'de> Deserialize<'de> for ErrorReason[src]

impl PartialEq<ErrorReason> for ErrorReason[src]

impl StructuralPartialEq for ErrorReason[src]

Auto Trait Implementations

impl RefUnwindSafe for ErrorReason

impl Send for ErrorReason

impl Sync for ErrorReason

impl Unpin for ErrorReason

impl UnwindSafe for ErrorReason

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.