===== Super Duper Messaging Manager SDK (beta)===== The SDMM SDK is an Eclipse project that you can include in your app. The SDK is provided as a library project. It is currently a beta version, so please let us know if we can improve it. Be a part of the early development and features by contributing. Just let us know what you want or need done to improve the product. (Before downloading the SDK, be sure to read and agree to our [[http://superdupersms.com/dw/MarketingSupportAgreement%20-%202014_05_31.pdf|Marketing Support Agreement]] and [[http://superdupersms.com/dw/DevPolicy%20-%202014_05_31.pdf|Developer Policy]]) Download the [[http://superdupersms.com/sdk/SDMM_SDK_0_94_1.zip|SDK version 0.94.1 (beta) - released Jan 10, 2015]] Here's a recent [[http://superdupersms.com/dw/SDMM_2_07.apk|APK version 2.07 (DEV version - Jan 11, 2015)]] if you need it for testing. Import it into Eclipse (or your favorite IDE). Include the SDMM_SDK as a library in your app project. ==== Modify Your Manifest ==== To use SDMM features, you will need to modify your manifest. **UPDATE** The SDMM SDK no longer requires custom permissions. You can keep the following permission requests in your manifest to be backward compatible with older versions of SDMM: ==== Check For Kitkat and SDMM as the Default SMS App ==== To help you prompt users to download SDMM if it is not already on their device, the SDMM_SDK includes some convenience methods and dialog prompts. First, to detect if SDMM is installed and set as default, there are two methods: // to determine if the device is running KitKat, use the following: SDSmsManager.hasKitKat() // to determine if SDMM is installed, use this: SDSmsManager.isSdsmsIntstalled(); // to determine is SDMM is set as the Default SMS app, use this: SDSmsManager.isSdsmsDefaultSmsApp(); Generally, you will want to check for warnings about KitKat to see if you need to prompt your users to get and install SDMM. Then, determine if SDMM is installed. And finally, be sure to check if SDMM is the Default SMS App. You should only perform these checks when your app is either launched or when an SMS (or other event) occurs that requires SDMM to be the Default SMS App. For example, when a message arrives, you should dynamically request the status of SDMM as the Default SMS App since this could change at any time. ==== Prompt Users to Download SDMM and Set as the Default SMS App ==== To notify your users of required action, SDMM provides standard dialogs that will help your users get SDMM and set is as their Default SMS App. If you want to construct your own messages, please do. These are provided for your convenience only: // to notify users that SDMM is required and provide a link to Google Play, use the following: SDSmsManager.notifySdmmRequired(context); // to notify users to set SDMM as the default, use the following: SDSmsManager.notifySetDefaultSms(context); // to launch SDMM when it is not the Default SMS App (recommended), use the following: SDSmsManager.launchSuperDuper(context); SDMM is a full-featured text messaging app. You can integrate any type of app into SDMM, including full-featured text messaging apps. We recommend that if you detect that SDMM is not the Default SMS App, that you notify the user and launch SDMM. ==== Complete Integration for Your App's Access Type ==== Each access type requires different integration steps. While we have tried to make the integration process as simple as possible, messaging interactions can be complicated. We encourage you to carefully review each access type and the features it supports prior to integrating. Refer to the instructions for your [[access_types|Access Type]] to integrate the SDK into your app. Please contact us if you have any questions.