# SDK vs API

<table><thead><tr><th width="244.49528246466184">Functionality</th><th width="244.02037127471493" align="center">SDK</th><th align="center">API</th></tr></thead><tbody><tr><td>Loading the campaign and wallet</td><td align="center">Make a one-time call to load wallet and reduce number of network calls.</td><td align="center">Make call every time to load wallet.</td></tr><tr><td>Time to Integrate</td><td align="center">1 Day</td><td align="center">Multi-Day</td></tr><tr><td>Handling Button clicks</td><td align="center">Close, Open and Share handled directly by SDK</td><td align="center">Additional configuration required to bind webview events with native app</td></tr><tr><td>Registering a user</td><td align="center">Token expiry handling is in-built</td><td align="center">Developer effort to handle token expiry</td></tr><tr><td>Use third party messaging tools to load campaigns and wallet directly</td><td align="center">Yes</td><td align="center">No</td></tr><tr><td>Error handling</td><td align="center">Yes</td><td align="center">No</td></tr><tr><td>Load speeds</td><td align="center">500- 700 ms</td><td align="center">800 - 1000 ms</td></tr><tr><td>SDK Size</td><td align="center">250 KB for Android<br>2 MB for IOS</td><td align="center">NA</td></tr><tr><td>Display in-app nudges</td><td align="center">Allows you to run rich preset nudge templates like bottom nudge, interstitial etc along with configurable parameters Background Opacity.</td><td align="center">Sent as a data object which requires developer effort to configure how to display nudges.</td></tr><tr><td>Low internet availability(2G speed)</td><td align="center">Yes</td><td align="center">No</td></tr><tr><td>Dynamic entry points and banners(Upcoming)</td><td align="center">Yes</td><td align="center">No</td></tr><tr><td>Ready push Notification support for Firebase and APNS</td><td align="center">Yes</td><td align="center">No</td></tr><tr><td>Native loader customisability</td><td align="center">Customise Loader color, page etc.</td><td align="center">Not available.</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.customerglu.com/guides/sdk-vs-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
