Class MpnDevice

java.lang.Object
com.lightstreamer.client.mpn.AbstractMpnDevice
com.lightstreamer.client.mpn.android.MpnDevice
All Implemented Interfaces:
MpnDeviceInterface

public class MpnDevice extends AbstractMpnDevice
Class representing a device that supports Mobile Push Notifications (MPN).
It contains device details and the listener needed to monitor its status.
An MPN device is created from the application context, the sender ID (a.k.a. authorized entity) and a device token (a.k.a. registration token) obtained from Firebase Cloud Messaging APIs, and must be registered on the LightstreamerClient in order to successfully subscribe an MPN subscription. See MpnSubscription.
After creation, an MpnDevice object is in "unknown" state. It must then be passed to the Lightstreamer Server with the LightstreamerClient.registerForMpn(MpnDeviceInterface) method, which enables the client to subscribe MPN subscriptions and sends the device details to the server's MPN Module, where it is assigned a permanent device ID and its state is switched to "registered".
Upon registration on the server, active MPN subscriptions of the device are received and exposed with the LightstreamerClient.getMpnSubscriptions(String) method.
An MpnDevice's state may become "suspended" if errors occur during push notification delivery. In this case MPN subscriptions stop sending notifications and the device state is reset to "registered" at the first subsequent registration.
  • Constructor Details

    • MpnDevice

      public MpnDevice(@Nonnull android.content.Context appContext, @Nonnull String token)
      Creates an object to be used to describe an MPN device that is going to be registered to the MPN Module of Lightstreamer Server.
      During creation the MpnDevice tries to acquires some more details:
      • The package name, through the Application Context.
      • Any previously registered device token, from the Shared Preferences storage.
      It then saves the current device token on the Shared Preferences storage. Saving and retrieving the previous device token is used to handle automatically the cases where the token changes, such as when the app state is restored from a device backup. The MPN Module of Lightstreamer Server is able to move MPN subscriptions associated with the previous token to the new one.
      Parameters:
      appContext - the Application Context
      token - the device token
      Throws:
      IllegalArgumentException - if context, senderId or token are null.
  • Method Details

    • getPlatform

      public String getPlatform()
      The platform identifier of this MPN device. It equals to the constant Google and is used by the server as part of the device identification.
      Returns:
      the MPN device platform.
      Lifecycle:
      This method can be called at any time.