Rpc

  • The Rpc class facilitates communication with the FCM server through Google Play services, but direct use of the play-services-cloud-messaging SDK is discouraged in favor of the Firebase Cloud Messaging SDK.

  • It provides methods to send requests to Google Play services, handle message acknowledgments, and manage proxied notification data.

  • Developers can use Rpc to send data bundles to the FCM server, which are then relayed as HTTP requests along with device and app identification.

  • Rpc allows retrieval of data from proxied notifications and offers control over whether Google Play services retains this data for later access.

  • While Rpc handles the underlying communication, developers should prioritize using the Firebase Cloud Messaging SDK for a more streamlined and supported experience.

public class Rpc extends Object

Handles the communication with FCM server via Google Play services.

Public Constructor Summary

Rpc(Context context)
Constructs object to handle communication with FCM server via Google Play services.

Public Method Summary

Task<CloudMessage>
getProxiedNotificationData()
Gets data for a notification that was proxied, if it exists.
Task<Void>
messageHandled(CloudMessage message)
Tells Google Play services that a message was handled.
Task<Bundle>
send(Bundle data)
Send a request to Google Play services.
Task<Void>
setRetainProxiedNotifications(boolean retain)
Sets whether Google Play services should retain data for notifications that are proxied so that the app can retrieve the data later.

Inherited Method Summary

Public Constructors

public Rpc (Context context)

Constructs object to handle communication with FCM server via Google Play services.

Public Methods

public Task<CloudMessage> getProxiedNotificationData ()

Gets data for a notification that was proxied, if it exists.

Returns
  • A Task with the message data of the proxied notification, a Task with a null CloudMessage if there is no proxied notification data available, or a failed Task if the data could not be retrieved.

public Task<Void> messageHandled (CloudMessage message)

Tells Google Play services that a message was handled.

Parameters
message The message that was successfully handled.
Returns
  • A Task that indicates whether the request was successful.

public Task<Bundle> send (Bundle data)

Send a request to Google Play services.

Google Play services will make an HTTP request to the FCM server, passing all string data in the bundle, along with some device and app data to identify and authenticate the app instance making the request.

Parameters
data The request data
Returns
  • A Task with the response to the request or failed Task with an Exception if there was a failure in sending the request to Google Play services

public Task<Void> setRetainProxiedNotifications (boolean retain)

Sets whether Google Play services should retain data for notifications that are proxied so that the app can retrieve the data later.

Parameters
retain Whether to retain the data or not.
Returns
  • A Task that indicates whether the request was successful.