Skip to content

Instantly share code, notes, and snippets.

@sessionm-docs
Last active February 23, 2016 16:20
Show Gist options
  • Save sessionm-docs/a038bf8fd6c4de930ca9 to your computer and use it in GitHub Desktop.
Save sessionm-docs/a038bf8fd6c4de930ca9 to your computer and use it in GitHub Desktop.
MMC - Push Integration
//
// In your LAUNCHER activity
// MyApp
//
//
public class BaseActivity extends Activity implements SessionListener {
MessageData messageData;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Ready to handle onMessage
Bundle extras = getIntent().getExtras();
if (extras != null) {
messageData = extras.getParcelable(MessageData.SESSIONM_MESSAGE_DATA_KEY);
}
if (SessionM.getInstance().getSessionState() != SessionM.State.STARTED_ONLINE) {
SessionM.getInstance().setGCMSenderID(YOUR_SENDER_ID);
SessionM.getInstance().setPushNotificationsEnabled(true);
}
}
//Make sure to call this in onResume() method so SessionM Ad can be presented.
@Override
protected void onResume() {
super.onResume();
//Let SessionM examine messageData, listen on onNotificationMessage() method to get processed messageData.
//If messageData is null, then app was not launched using SessionM service.
if (messageData != null)
sessionM.executePendingNotification(messageData);
}
private void handleMessageAction(MessageData message){
if (messageData.getActionType() == MessageData.MessageActionType.EXTERNAL_LINK){
// Launch URL in Mobile Browser
} else if (messageData.getActionType() == MessageData.MessageActionType.DEEP_LINK) {
// handle navigation to deep line
String deep_link_url = message.getActionURL();
} else {
// Log Error
}
}
@Override
public void onNotificationMessage(SessionM sessionM, MessageData messageData) {
//Handle NotificationMessageData here
handleMessageAction(messageData);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment