Supported Platforms | Supported Devices |
iOS12.0+ | iPhone devices with iOS12.0 and above |
Android API 14+ (Ice Cream Sandwich) | Android devices with API 14 and above |
Lead Creation and Association
The following scenarios assume that the push notification token is registered on login and unregistered on logout. Prior to the initial login and token registration, the device/lead will not be targetable.
Scenario 1 – Two users each with separate devices
Lead A opens the app on Device X and an anonymous lead is created
- Device X is not targetable yet
Lead A logs into Device X with email leadA@mkto.com
- If email does not exist, the anonymous lead will be updated with the email, otherwise the leads will be merged
- Targeting leadA@mkto.com will send push notification to Device X with lead A tokens
Lead B opens the app on Device Y and second anonymous lead is created
- Device Y is not targetable yet
Lead B logs into Device Y with email leadB@mkto.com
- If email does not exist, the anonymous lead will be updated with the email, otherwise the leads will be merged
- Targeting leadB@mkto.com will send push notification to Device Y with lead B tokens
At this point, there are two distinct leads with each having an associated device and push token
Lead A logs out of Device X
- Device X is no longer targetable
Lead B logs out of Device Y
- device Y is no longer targetable
At this point, there are two distinct leads with each having an associated device with push enabled flags equal to false
Scenario 2 – Two users share a device
Lead A opens the app on Device X and an anonymous lead is created
- Device X is not targetable yet
Lead A logs into Device X leadA@mkto.com
- If email does not exist, the anonymous lead will be updated with the email, otherwise the leads will be merged
- Targeting leadA@mkto.com will send push notification to Device X with lead A tokens
Lead A logs out of Device X disabling the push-enabled flag
- Device X is no longer targetable
Lead B opens the app on Device X
- Until Lead B logins, all activities will be tied to Lead A
Lead B logs in with email leadB@mkto.com on Device X
- The lead is already associated with leadA@mkto.com, consequently a new lead is created for leadB@mkto.com
- Targeting leadB@mkto.com will send push notification to Device X with lead B tokens
Lead B logs out of Device X disabling the push-enabled flag
- Device X is no longer target-able
Now there are two distinct leads with each having an associated device with push enabled flags equal to false
Scenario 3 – One user with multiple devices
Lead A opens the app on Device X and an anonymous lead is created
- Device X is not targetable yet
Lead A logs into Device X with email leadA@mkto.com
- If email does not exist, the anonymous lead will be updated with the email, otherwise the leads will be merged
- Targeting leadA@mkto.com will send push notification to Device X with lead A tokens
Lead A opens the app on Device Y and an anonymous lead is created
- Device Y is not targetable yet
Lead A logs into Device Y with email leadA@mkto.com
- If email already exists so the anonymous lead will be merged along with the associated Device Y
- Targeting leadA@mkto.com will send push notification to both devices each with lead A tokens
Lead A logs out of Device X
- Device X is no longer target-able
- Targeting leadA@mkto.com will send push notification to device Y with lead A tokens
Lead A logs out of device Y
- Both devices are no longer target-able
At this point, there is only one lead with two associated devices with push enabled flags equal to false
*** NOTES ***
If the token is registered on login but not unregistered on logout, there could be multiple tokens associated with that particular device. The system will suppress the older message and disable the tokens on the backend when the next push notification is received on the device. Under these conditions, the device will show only one notification which may contain tokens from a logged-out user. Therefore, it is recommended to always unregister the push token on logout.
Marketo’s developer documentation provides step-by-step instructions on how to download and install the MME SDK for iOS, Android, and PhoneGap. For Android, the SDK is downloaded directly. For iOS and PhoneGap, the SDK/Plugin is downloaded indirectly using CocoaPods or Cordova CLI respectively.
The README files on GitHub contain instructions on how to upgrade your SDK.
At present, we do not have a demo app.
The Marketo MME SDK currently does not support the presentation of in-app messages on Apple Watch.
MME SDK Version | Supports Push Notifications | Supports In-App Messages |
Version 0.5 | ✔ | |
Version 0.6+ | ✔ | ✔ |
Currently the Marketo MME SDK supports Messages and Sound. It does not support Badge, Silent Notification, Action Categories (e.g. Yes/No, Ignore/Respond), or Localization.
Currently the Marketo MME SDK supports Full Screen and Popup notifications. It does not support Duration or Animation notifications.
Yes. There is a Xamarin plugin for Marketo MME SDK. This plugin acts like a bridge between native app to Xamarin.
Yes, with a few caveats. In-app messages can be sent to your entire app audience, not just those that opted-in to push notifications. Caveats:
- iOS7 users can only receive in-app messages if they are opted in to receive push messages.
- iOS8 users will receive in-app messages even if opted out of push, except if they have disabled the Background App Refresh feature.
- As a developer, you can allow your users to disable in-app messages if you would like to give users the choice.
Marketo support is available to you to help you troubleshoot your app-SDK integration. To begin the process, please enter a support case or send an email. In your support case or email, describe the issue in as much detail as possible and provide instructions on how to reproduce the issue. If you have isolated the code that is causing the issue, include the code snippet as well.
Also, please include the following to help us track down the issue:
- MME SDK version number or PhoneGap plugin version number
- iOS or Android version (e.g. 8.0.3)
- Device model (e.g. iPhone 5, iPad 2)
- For iOS developers, your Xcode version number and the Xcode log console output that shows the stack trace and errors