@Override public void onReceive(Context context, Intent intent) { Log.d(TAG, "onHandleIntent - context: " + context); // Extract the payload from the message Bundle extras = intent.getExtras(); GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(context); String messageType = gcm.getMessageType(intent); if (extras != null) { try { if (GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR.equals(messageType)) { JSONObject json = new JSONObject(); json.put("event", "error"); json.put("message", extras.toString()); PushPlugin.sendJavascript(json); } else if (GoogleCloudMessaging.MESSAGE_TYPE_DELETED.equals(messageType)) { JSONObject json = new JSONObject(); json.put("event", "deleted"); json.put("message", extras.toString()); PushPlugin.sendJavascript(json); } else if (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(messageType)) { // if we are in the foreground, just surface the payload, else post it to the statusbar if (PushPlugin.isInForeground()) { extras.putBoolean("foreground", true); PushPlugin.sendExtras(extras); } else { extras.putBoolean("foreground", false); // Send a notification if there is a message if (extras.getString("message") != null && extras.getString("message").length() != 0) { createNotification(context, extras); } } } } catch (JSONException exception) { Log.d(TAG, "JSON Exception was had!"); } } }
@Override protected void onMessage(Context context, Intent intent) { Log.d(TAG, "onMessage - context: " + context); // Extract the payload from the message Bundle extras = intent.getExtras(); if (extras != null) { // if we are in the foreground, just surface the payload, else post it to the statusbar if (PushPlugin.isInForeground()) { extras.putBoolean("foreground", true); PushPlugin.sendExtras(extras); } else { extras.putBoolean("foreground", false); // Send a notification if there is a message if (extras.getString("message") != null && extras.getString("message").length() != 0) { createNotification(context, extras); } } } }
@Override public void onRegistered(Context context, String regId) { Log.v(TAG, "onRegistered: " + regId); JSONObject json; try { json = new JSONObject().put("event", "registered"); json.put("regid", regId); Log.v(TAG, "onRegistered: " + json.toString()); // Send this JSON data to the JavaScript application above EVENT should be set to the msg type // In this case this is the registration ID PushPlugin.sendJavascript(json); } catch (JSONException e) { // No message to the user is sent, JSON failed Log.e(TAG, "onRegistered: JSON exception"); } }