The SDK Platform
Delighted's SDK makes it super simple to blend surveys seamlessly into your app experience, collecting feedback in a way that feels more like an extension of your app rather than an interruption.
By introducing the survey experience into your app, you'll unlock a degree of contextual feedback that is miles beyond what would historically be possible with traditional Web and Email surveys - meeting customers where they're most likely to be interacting with you product/brand on a regular basis.
With Delighted's SDK, your team can roll-out in-app surveys to cover a range of brand new use cases, such as:
- Gathering contextual feedback about the app and/or in-app features to help influence and shape the product roadmap
- Identifying and addressing dissatisfied customers early, providing an opportunity for outreach prior to those same customers leaving public-facing negative feedback
- Blending in CTAs to push your most enthusiastic and satisfied customers to app stores, review pages, and other third-party apps
- Treating surveys as a feature of the app, such as a Learning Management System (LMS) prompting students to evaluate each course once completed
The use cases shared above just scratch the surface of what's truly possible with Delighted's SDK. With a full development kit at your team's disposal, Delighted surveys have never been more adaptable to fit your team's requirements, while providing a truly frictionless way to capture feedback.
In this section
- Basics of the Delighted SDK
- Benefits of using the Delighted SDK
- Setting up the Delighted SDK (General)
- Setting up the Delighted SDK (Developers' Guide)
- Previewing the Delighted SDK survey
- Testing the SDK platform
- FAQs: The SDK platform
Basics of the Delighted SDK
If you're not a software developer, or perhaps you are a developer but with less familiarity with Delighted, the concept of an SDK for Delighted can certainly seem a bit confusing at first. Basic questions will likely arise around how SDKs work, if they're necessary for your organization's CX program, understanding how much engineering bandwidth will be required, and countless other uncertainties. In this section, we'll cover:
- What is an SDK?
- Is the SDK the best solution for our company?
- What should I pass on to my developers?
What is an SDK?
Think about a typical toolkit. In the kit, you might find important tools like a hammer, screwdriver, nails, and so on. These tools are absolutely essential for making it easier for you to build a structure, make additions, as well as make repairs when something inevitably goes awry!
SDKs, or Software Development Kits, are essentially toolkits for software developers. However, instead of hammers and nails, you'll often find libraries and code samples. In fact, SDKs often contain a wide variety of resources, including:
- Code samples
- Debugging tools
- And more!
All of these tools are used by developers in order to create applications for specific platforms. In the case of the Delighted SDK, our toolkit is primarily designed to give your developers the resources they need to layer in surveys directly within your iOS app.
Is the SDK the best solution for our company?
If you're unsure if your team would benefit from an SDK, here are two quick questions to consider:
- Does your company have an iOS app?
- Does your company have a developer/software developer?
If the answer to both questions is "Yes", the Delighted SDK is the right platform for you! If you have an app available, there is tremendous opportunity for surfacing customer feedback in real-time as customers are navigating your app. Additionally, if you have the technical resources, implementing the Delighted SDK is a straightforward process. We'll cover more of the benefits of using Delighted's SDK in the next section but, for the time being, lets chat about what you can share with your development team to get the in-app surveying process started!
What should I pass on to my developers?
At Delighted, we're highly conscious and considerate of the developer experience. Having leveraged countless SDKs on our side, our team was hyper focused on taking those lessons to develop an SDK that was dependable, instructive but not limiting, and ultimately enjoyable to work with. Areas of the SDK where our team placed significant effort include:
- Accessible and updated documentation
- Helpful sample code
- Clear versioning
- Debugging details
All this is mentioned just as a testament of our commitment to making the Delighted SDK one of the best available for our customers and developer community. Beyond sharing those reassurances, we'd also recommend you pass along the below Developers' Guide section.
Benefits of the Delighted SDK
From a development standpoint, Delighted's SDK offers one of the easiest, and fastest, paths for integrating Delighted surveys within your app environment. No need to assemble a complex infrastructure from scratch, spend excessive engineering bandwidth on development, or require expertise on the Delighted platform.
With Delighted's SDK, your team's developers can lean on the robust set of resources provided - ranging from code samples to detailed installation instructions - to integrate seamlessly and in a fraction of the time it would take without the development kit.
Benefits of using Delighted's SDK
Most developers, especially those in SaaS and eCommerce industries, have exhaustive backgrounds in working with SDKs. However, not all SDKs are made equally. In some cases, SDKs can lack core functionality that makes integrating them rather difficult. Whether dealing with a lack of documentation, or incomplete code samples, SDKs often present frustrating experiences for development teams.
Delighted's SDK was designed with developers in mind. Here are just a few of the notable benefits your development team would actualize by opting to leverage the Delighted SDK:
- Faster time-to-market: Spend less time reinventing the wheel, with countless hours wasted shuffling through resource after resource. Delighted's SDK has done the heavily lifting for you! By providing a complete solution, including a curated collection of resources, developer teams can roll-out integrations in a fraction of the time it would take with standard API integrations.
- Ongoing cost savings: This one is simple - less engineering time equals less cost. With less development, testing, and implementation time required with the Delighted SDK, in-app integration of Delighted surveys will always be highly cost effective.
- Ease of integration: All the core development tools are at your disposal in the SDK. Need to reference some sample code for a solid starting point? We have you covered. Looking for more in-depth installation instructions? We have that too! Delighted's SDK is a comprehensive, one-stop solution for quickly building your CX program into your app framework. Couldn't be easier!
- Collaborative developer community: Delighted's SDK is open source! With more developers iterating on Delighted's SDK, you can expect to see more and more implementations for unique use cases/solutions, heightened transparency via peer review, and an evolving set of technical resources you can use to get started!
Benefits of using in-app surveys
Beyond being an incredibly developer-friendly solution, Delighted's SDK more importantly creates an opportunity to run in-app surveys - expanding beyond Email, SMS, Web, and Delighted's other platform options. In this section, we'll cover a sampling of benefits you can anticipate by introducing in-app surveys to your customer base.
- Easy to manage for non-technical team members: While the initial SDK configuration will require developer support, the ongoing management of in-app surveys can be controlled directly via the Delighted UI. Whether swapping out a question, or fine-tuning the branding, even your least technically savvy team members can play a part in running your in-app surveys!
- Diversify survey channels for more comprehensive coverage: Meet your customers where they're most likely to provide feedback. Firing off an email survey might make sense following a support interaction, but what about when customers are browsing and using your app? Don't miss critical customer touchpoints by siloing your feedback program to just one channel. Include in-app surveys in your existing CX arsenal for a more accurate and complete picture of the customer experience.
Setting up the Delighted SDK (General)
Getting your SDK customized takes just a few minutes, setting a handful of configurations around branding, survey copy, and survey placement/behavior. In this section, we'll detail that set-up flow, a few of the configurations, and the hand-off point to kick-start the technical implementation.
Feel free to review this section for context, or skip ahead to our technical documentation.
The following page will provide you with a number of customization options, similar to those available for our Email and Web platforms:
- Brand/product name: Set the brand name used in the survey question
- Brand color: Set the color of the survey buttons
- Presentation style: Set either a centered modal or a card popping up from the bottom of the screen
- Presentation shape: Set either rounded or squared corners for the survey display
- Button style: Set the style of the survey buttons (ex. filled or outlined)
- Button shape: Set the share of the survey buttons
- Question customization: Set the question prompted to users in-app
- Advanced customization: Set the language of the survey
Once you’ve fine-tuned your visual adjustments, you can now configure who should be surveyed and what actions will trigger the display.
We offer a number of turnkey configurations for surveying visitors to your app.
- Survey a user of your app once: We’ll survey a sample of app users, either focusing on all users, or only those who are returning. We’ll survey customers once, and then never again.
- Periodically survey users of your app: Survey app users either immediately, or at a delay, after subscription with your service. Since you may want a constant pulse of feedback from your customer base, this configuration offers an optional recurring survey to show app users the survey on a regular, ongoing basis (ex. every 3 months).
- Survey a user after a transaction or event: Survey all app users that land on a particular page. Since this method will survey everyone who visits a particular page of your app, we recommend placing it on a post-transaction page - such as where you show a receipt after a purchase.
All set with your customizations and configurations? Don't forget to click that Turn on button! If that is not enabled, your Mobile SDK survey will not display.
Setting up the Delighted SDK (Developers' Guide)
Once you've covered the general setup above, finishing setup of Delighted's SDK requires just a few steps - including importing a framework and installing the applicable code to your app. However, as with any SDK and app build, you'll want to be able to effectively test, debug, and continue to refine your iOS surveys over time.
Requirements for Installation
- Xcode 10.1
- Apps targeting iOS 11.0 or greater
- Note: The Delighted SDK is designed for iPhone's portrait mode. Support for other iOS devices is not available at this time
- Swift 4
- Swift 4.2
- Swift 5
- Starscream (Used for WebSocket support)
With all the core requirements covered, it's time to get started! To set up the SDK, you'll use CocoaPods. CocoaPods is a package dependency manager, which makes it easy to add, remove, and update libraries that are critical for the development of iOS applications. The full details for installation with CocoaPods can be found here.
Previewing the Delighted SDK
The Delighted SDK platform gives you the ability to view the survey on your actual mobile device (as opposed to a rendering on our website). With this advanced preview, your team will be able to better visualize, fine-tune, and interact with the mobile survey.
To preview your SDK survey customization, the first step is downloading the Delighted iOS app. Once downloaded, be sure to log in so the next steps are as seamless as possible.
Once your iOS app is fired up, head to your customization section for the Mobile SDK:
Once on that page, grab your iOS device and follow the steps below:
- Open the Camera app. This can either be done from the Home screen, Control Center, or Lock screen.
- Use the rear-facing camera (don't use the selfie mode). Position the viewfinder of your camera so that the QR code is fully in frame and sharp - this may require you to adjust back-and-forth a bit until you get the QR code in frame. Your iOS device will recognize the QR code and display a notification, typically at the top of your device.
- Tap the notification, this will open the Delighted link associated with the QR code for preview mode.
You're all set! You'll now be able to preview your survey customization on your iOS device.
Testing the SDK platform
With Delighted's SDK, there are a number of conditional checks around eligibility (ex. throttling, delays, etc.) that are applied prior to actually rendering the survey in-app. During testing stages, it can be helpful to bypass those conditions so you can force a display and view the survey immediately.
The best way to bypass the previously noted conditional checks would be to use
testMode, which is a parameter that will force the user to bypass all checks and result in the surveying appearing:
let eligibilityOverrides = EligibilityOverrides( testMode: true ) Delighted.survey(delightedID: "mobile-sdk-xxxxxxxxx", eligibilityOverrides: eligibilityOverrides)<br>
If you need to remove any responses collected during the testing phase, any account Admin can tackle that from the Dashboard.
FAQs: The SDK platform
In this section
What operating systems are supported?
Presently, Delighted's SDK is supported by iOS devices. Reach out to us if you'd like to be notified of any upcoming Android support.
Can I make adjustments once the survey is live?
Adjustments made in the dashboard will be reflected in your iOS app in near real-time. If you're overriding any `Options` (as shown above), you'll need to make updates to that code specifically (i.e. adjustments in the UI will continue to be overridden by the custom code).