All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sap.mobile.services.client.push.NotificationStatus Maven / Gradle / Ivy

The newest version!
package com.sap.mobile.services.client.push;

import java.util.Locale;

import com.fasterxml.jackson.annotation.JsonCreator;

/**
 * Notification status detail response element of
 * {@link NotificationStatusResponse}
 */
public interface NotificationStatus {

	/** Notification status. */
	Status getStatus();

	/** The notification producer. */
	String getCaller();

	/** The target type, like ios, android ... */
	String getNotificationType();

	/**
	 * List of matching topic subscriptions on
	 * {@link PushClient#pushToTopics(java.util.Collection, java.util.Collection, LocalizedPushPayload)}
	 */
	Topics getTopics();

	/**
	 * Notification ID
	 */
	String getNotificationId();

	/**
	 * Native notification ID from channel, like APNs or FCM.
	 * APNs apns-unique-id is used on development target.
	 */
	String getProviderReference();

	/**
	 * The current notification status.
	 * 

* Please note: Some status relies on the mobile app implementing callbacks and * may not be available. */ public enum Status { /** The notification is queued and send later. */ QUEUED, /** The notification was accepted by the push provider. */ SENT, /** Sending the notification failed. */ ERROR, /** * The mobile app has received the notification. This status relies on the app * implementation. */ RECEIVED, /** * The mobile app has consumed the notification. This status relies on the app * implementation. */ CONSUMED, /** * The mobile app has confirmed the notification. This status relies on the app * implementation. */ CONFIRMED; @JsonCreator public static Status fromString(String val) { if (val == null) { return null; } return Status.valueOf(val.toUpperCase(Locale.US)); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy