Table of Contents

Select the best Access Type

The following access types each have different features. They are listed in the order in which an incoming message is processed. Ideally, you will select the lowest priority level suitable for your app. In some cases, your app will be automatically placed, and in cases where another app interferes with your app's performance, it will be re-prioritized. Proper user experience is critical.

ACCESS_TYPE_SYSTEM

Please contact us for system level access as a carrier or manufacturer.

ACCESS_TYPE_SYSRESERVED

Please contact us for reserved, premium access and features.

ACCESS_TYPE_ANTISPAM

Antispam apps block messages from regular messaging and other apps

Instructions for Integrating Antispam Apps

Antispam apps should not request “SMS_DELIVERED” - if you do, you will be denied this permission level and it will default to “unregistered” and your app will not work. This will also help with backward compatibility. Also, SDSMS will send duplicate messages to your app to confirm if the broadcast should be aborted based your user settings. You will not have SMS/MMS write access to the SMS provider.

ACCESS_TYPE_PLUGIN

SMS / MMS preprocessing for special features.

Instructions for Integrating Plugins

Plugin apps should not request “SMS_DELIVERED” - if you do, you will be denied this permission level and it will default to “unregistered” and your app will not work. This will also help with backward compatibility. Also, SDMM will send duplicate messages to your app to confirm if the broadcast should be aborted or modified by your app. You will not have SMS/MMS write access to the SMS provider, so modifications must be made to the broadcast intent.

ACCESS_TYPE_AUTORESPONDER

SMS Autoresponders

Instructions for Integrating Autoresponders

Autoresponder apps should not request “SMS_DELIVERED” - if you do, you will be denied this permission level and it will default to “unregistered” and your app will not work. This will also help with backward compatibility. Do not write the received message to the SMS provider.

ACCESS_TYPE_MSGRESERVED

Premium access for messaging apps. Provide enhanced processing and services to your users before standard messaging apps. Please contact us for details.

ACCESS_TYPE_MESSAGING

Full-featured messaging apps.

Instructions for Integrating Full-Featured Messaging Apps

By requesting this type of access your app will be responsible for writing to the SMS database. Therefore, all features should work in your app. As with pre-KitKat messaging, your app should abort the broadcast if there is reason to (for example, you have an anti-spam feature). The first “messaging” app to either abort or write the message will be the last in this group to receive it.

It is important to NOT follow all of Android's recommendations when you are not the “Default SMS App”. Proper integration requires that your app only disable them when neither your app nor SDMM is the “Default SMS App”. SDMM allows your app to continue to function properly as if it were the default app.

ACCESS_TYPE_BACKUP

Backup apps will have full access to the SMS database.

Instructions for Integrating Messaging Backup Apps

Since the system broadcasts “SMS_RECEIVED”, SDMM will do the same (in the event that Android changes that going forward). If you integrate with SDSMS, you will be able to provide full backup/recovery without user intervention or action.

ACCESS_TYPE_OBSERVER

Observers will simply receive an additional SMS_RECEIVED broadcast.

ACCESS_TYPE_UNREGISTERED

Apps that integrate with SDMM but are not registered with an account.

Reserved for apps that integrate and do not request an appropriate Access Type (either based on their requested permissions, behavior, SDMM review, attempting to modify the SMS tables with authorization, etc.)