Push Notifications


The Google Mobile Data Plan Sharing API also allows an operator to send notifications to a user by pushing a PlanStatus.

The API currently supports 7 types of notifications.

  1. Low Balance: when PlanModule.coarseBalanceLevel is set to LOW_QUOTA
  2. Out of Data: when PlanModule.coarseBalanceLevel is set to OUT_OF_DATA. If in addition to this, the PlanModule.overUsagePolicy is set to PAY_AS_YOU_GO, then the user will be notified that they are about to enter pay as you go mode.
  3. Data Expiration Warning: when PlanModule.planModuleState is set to EXPIRING_SOON
  4. Plan Activation: when PlanModule.planModuleState is set to NEWLY_ACTIVE
  5. Pay as you go: when AccountInfo.payAsYouGoCharge is populated with the amount that the user has spent.
  6. Account top up: when AccountInfo.accountTopUp and AccountInfo.accountBalance are populated. Both these fields are required to send the account top up notification to the user. If units and nanos in AccountInfo.accountTopUp are set to zero, then the top up amount is not in the notification.
  7. Data Expiration: when PlanModule.planModuleState is set to EXPIRED. This is for plans that are already expired.

One notification is sent to the user for each field set. If multiple coarseBalanceLevel or planModuleState fields are set in a single PlanStatus, then an equal number of notifications will be sent to the user.


A notification PlanStatus SHOULD contain as much information as possible about the user's mobile plan. For each type of notification, the Data Plan Sharing API also defines a minimum set of fields which are required to build the notification text. The operator MUST include these fields in a notification PlanStatus.

Notification Required Fields
Low Balance PlanModule.moduleName, PlanModule.byteBalance.remainingBytes
Out of Data PlanModule.moduleName
Data Expiration Warning PlanModule.moduleName, PlanModule.expirationTime
Plan Activation PlanModule.moduleName
Data Expiration PlanModule.moduleName