Registering to Use Push Functionality

To receive messages, a MIDlet must register with the device to give it connection end points from which it might receive messages and from whom it will accept messages. A connection end point specification includes the protocol, host (optionally), and port number. When there is an incoming message from an acceptable entity, the device launches the registered MIDlet. Note that push functionality should not allow the device to receive arbitrary messages from any entity. The app that registers to use the push functionality specifies which entities are permitted to send messages; that specification is called a filter. In other words, push functionality does not require the device to accept all unsolicited messages; it does not make the user of a device vulnerable to spam. Note that push functionality might be blocked temporarily during the installation and deletion of a MIDlet suite.

app Developers

Strongly Recommend: Java graphics bulb1_icon.gif If your MIDlet must be able to use a particular connection to receive messages in order to function correctly, declare this in the MIDlet suite's JAD file.

Declaring your push requirements in the JAD file is called static registration. If your MIDlet can operate without receiving pushed messages, or does not require a well-known end point, register to use the port functionality from within the MIDlet. If possible, allow the device to allocate the port number. Registering to use push functionality from within the MIDlet is called dynamic registration.

MIDP Implementors

Strongly Recommend: Java graphics bulb1_icon.gif Only allow one push registration per connection end point. If a user tries to install a MIDlet suite that requests a connection end point that is already registered by another MIDlet, do not install the new MIDlet suite. If an installed MIDlet tries to dynamically register for a connection end point that is already registered by another MIDlet, do not accept the new registration.

Strongly Recommend: Java graphics bulb1_icon.gif If you cannot install a MIDlet due to a conflict in connections, provide clear error messages to the user to explain the problem. Screenshot shows an error message from the MIDP Reference Implementation.

Screenshot Error Message Reporting a Connection Conflict

Java graphics 14fig02.gif

Consider: Provide more information on the push registry and its entries in an advanced area. The information could be valuable for support purposes.