{"_id":"55e67b91de6fef23009480cb","category":{"_id":"55e67b5556007d23005fee7d","__v":35,"pages":["55e67b91de6fef23009480cb","55e67c28de6fef23009480ce","55e67c3cde6fef23009480d1","55e680e185a9741900314e96","55e682b7de6fef23009480dc","55ecd69bb2714d2100f227c0","55ecd6c554a67b1700edcf40","55ecd6edae66a30d00446ce7","55ecd777b2714d2100f227c2","55ecda5a7659d21700a7ef9b","55ecdaf6ae66a30d00446cf3","55ed006a0d968e2100de831e","55ed0258c9d5b3350072ae7a","55ee66a073d3941700f760e5","55f5ef61a1dea80d00a5dec5","55f5f38618b39b0d00c27eb0","55f9f86417b9d00d00969e29","55f9fdc8aba81f0d00a1156d","561b10b4c89cc30d0082154f","561b110a03bce90d00c4bd11","561c6195ad272c0d00a892dd","561c6ca0be5fb20d00077754","564f3e66c133343500286ca0","565b955b922c9a0d00d1f124","566784d2919aaa0d008e32db","566e1ee5972a290d00552084","569c58d77c3e44170014114f","56a2692f6928550d006c8327","56ca6c868014e417002bfe54","56cfa5386c5d7a13005eec0f","56e73d86555c030e00a52a73","56e7460c9000b120000ffe2e","56e8c19e99c6400e003820cf","56e8c53fc88bf80e00f8bed8","56f06ff4d386ce0e008e9b21"],"project":"55e67aaa9cc7c62b00c4a1ea","version":"55e67aab9cc7c62b00c4a1ed","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-09-02T04:30:13.305Z","from_sync":false,"order":1,"slug":"install-in-your-app","title":"Install in your app"},"parentDoc":null,"user":"55d2bd8e2463351700f67dd7","__v":53,"project":"55e67aaa9cc7c62b00c4a1ea","version":{"_id":"55e67aab9cc7c62b00c4a1ed","project":"55e67aaa9cc7c62b00c4a1ea","__v":10,"createdAt":"2015-09-02T04:27:23.612Z","releaseDate":"2015-09-02T04:27:23.612Z","categories":["55e67aac9cc7c62b00c4a1ee","55e67b5556007d23005fee7d","55e67b5dde6fef23009480ca","55e680efde6fef23009480db","55e6829485a9741900314e99","561c61b4ad272c0d00a892df","586c014c0abf1d0f000d04d4","58991d2ad207df0f0002186b","589b8e1fdbb7cd190026732c","58b8ca5e3265d70f001788d4"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"updates":["59094a6595b5490f0052ea36","59e5fc0ffce6c0003a3615cb"],"next":{"pages":[],"description":""},"createdAt":"2015-09-02T04:31:13.245Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":0,"body":"Add the Carnival SDK into your apps to enable tracking of live user data, user activity, and send push and in-app messages.  It typically takes less than 10 minutes to successfully integrate.\n\nPick a platform below for integration documentation:\n\n[block:html]\n{\n  \"html\": \"  <div class=\\\"row integrate-sdk-section\\\" >\\n    <div class=\\\"col-sm-6\\\">\\n      <a href=\\\"/docs/ios-integration\\\">\\n        <img src=\\\"https://files.readme.io/z5IuJfO8SzK9n94EcNQ5_ios.png\\\" >\\n      </a>\\n      <div class=\\\"description\\\" data-release-info=\\\"https://api.github.com/repos/carnivalmobile/carnival-ios-sdk/releases/latest\\\">\\n        <a href=\\\"/docs/ios-integration\\\">iOS</a><span class=\\\"version\\\"><a href=\\\"https://github.com/carnivalmobile/carnival-ios-sdk/releases\\\">v7.1.1</a></span>\\n        <div class=\\\"release-date\\\">Released 2017-11-30</div>\\n      </div>\\n    </div>\\n\\n\\n    <div class=\\\"col-sm-6\\\">\\n      <a href=\\\"/docs/android-integration\\\">\\n      <img src=\\\"https://files.readme.io/QbxKWCzRs6nnEELD9FvQ_android.png\\\" >\\n      </a>\\n      <div class=\\\"description\\\" data-release-info=\\\"https://api.github.com/repos/carnivalmobile/carnival-ios-sdk/releases/latest\\\">\\n        <a href=\\\"/docs/android-integration\\\">Android</a><span class=\\\"version\\\"><a href=\\\"https://github.com/carnivalmobile/carnival-android-sdk/releases\\\">v5.2.0</a></span>\\n        <div class=\\\"release-date\\\">Released 2017-11-07</div>\\n      </div>\\n    </div>\\n  </div>\\n\\n  <div class=\\\"row integrate-sdk-section\\\" >\\n    <div class=\\\"col-sm-4\\\">\\n      <a href=\\\"/docs/cordova-integration\\\">\\n      <img src=\\\"https://files.readme.io/6IZ4WpXnQlWtll7zn55W_cordova.png\\\" >\\n      </a>\\n      <div class=\\\"description\\\" data-release-info=\\\"https://api.github.com/repos/carnivalmobile/carnival-sdk-cordova/releases/latest\\\">\\n        <a href=\\\"/docs/cordova-integration\\\">Cordova</a><span class=\\\"version\\\"><a href=\\\"https://github.com/carnivalmobile/carnival-sdk-cordova/releases\\\">v4.0.3</a></span>\\n        <div class=\\\"release-date\\\">Released 2017-12-06</div>\\n      </div>\\n    </div>\\n  \\n    <div class=\\\"col-sm-4\\\">\\n      <a href=\\\"/docs/unity-integration\\\">\\n      <img src=\\\"https://files.readme.io/6IZ4WpXnQlWtll7zn55W_cordova.png\\\" >\\n      </a>\\n      <div class=\\\"description\\\" data-release-info=\\\"https://api.github.com/repos/carnivalmobile/carnival-sdk-unity/releases/latest\\\">\\n        <a href=\\\"/docs/unity-integration\\\">Unity</a><span class=\\\"version\\\"><a href=\\\"https://github.com/carnivalmobile/carnival-sdk-unity/releases\\\">v1.0.0</a></span>\\n        <div class=\\\"release-date\\\">Released 2017-12-06</div>\\n      </div>\\n    </div>\\n\\n    <div class=\\\"col-sm-4\\\">\\n      <a href=\\\"/docs/react-native-integration\\\">\\n      <img src=\\\"https://files.readme.io/HMUOEq2uTAiGoCSpCjCN_react-native.png\\\" >\\n      </a>\\n      <div class=\\\"description\\\" data-release-info=\\\"https://api.github.com/repos/carnivalmobile/carnival-sdk-react-native/releases/latest\\\">\\n        <a href=\\\"/docs/react-native-integration\\\">React Native</a><span class=\\\"version\\\"><a href=\\\"https://github.com/carnivalmobile/carnival-sdk-react-native/releases\\\">v1.0.0</a></span>\\n        <div class=\\\"release-date\\\">Released 2017-12-06</div>\\n      </div>\\n    </div>\\n\\n  </div>\\n\\n  <style>\\n    \\n    .integrate-sdk-section img{\\n      width:120px;\\n      height:120px;\\n      display: block;\\n      margin: auto;\\n    }\\n    \\n    .integrate-sdk-section a {\\n      display:block;\\n      padding:20px 0px 10px 0px;\\n      border-radius:5px;\\n    }\\n    \\n    .integrate-sdk-section a:hover {\\n      background-color:#f9f9f9 !important;\\n    \\n    }\\n    \\n    .integrate-sdk-section .col-sm-3 {\\n      text-align:center;\\n    }\\n    \\n    .integrate-sdk-section .description {\\n      padding-top:10px;\\n      text-align:center !important;\\n    }\\n      \\n    \\n    .integrate-sdk-section .description > a {\\n      padding-top:0;\\n      display:inline;\\n    }\\n\\n    .integrate-sdk-section .description span.version {\\n      font-size:1.1rem;\\n      margin-left:10px;\\n    }\\n    \\n    .integrate-sdk-section .description span.version > a {\\n      display:inline;\\n      margin:0;\\n      padding:0;\\n    }\\n\\n    .integrate-sdk-section .description div.release-date {\\n      font-size:1.1rem;\\n    }\\n  </style>\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Note\",\n  \"body\": \"The above guides assume you are a developer and have already gone through the process of [creating an app](doc:creating-an-app) in the platform.\"\n}\n[/block]\n## Migrating from another platform\n\nWe can help you migrate existing push tokens and data from your current provider. Please read [Migrating to Carnival](doc:migrating-to-carnival) guide for more details.\n\n## Message Stream Templates\nOur [Message Stream Templates](https://github.com/carnivalmobile/carnival-stream-examples) are available for Native iOS and Android apps only.\n\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Plugin SDKs limitations\",\n  \"body\": \"Our SDKs for Unity and React Native experience don't allow to customize the look and feel of in-app notifications. This is due to the nature of their plugin system architecture. We hope to bring customization to these platforms in the near future.\\n\\nBecause of the nature of Cordova, Unity, React Native and their (many!) variants, some integrations may take longer. We're of course happy to help during this time. Reach out to [support](mailto:support:::at:::sailthru.com) for assistance.\"\n}\n[/block]\n## Deprecation and Support Policy\n\nOur SDKs  follow [Semantic Versioning](http://semver.org/) (SemVer). We use SemVer to communicate the significance of change between SDK versions to you. We also use deprecation annotations to mark deprecated methods, which you can expect to be removed fully in the following major release. If you are using a deprecated method, we encourage you to use the supported alternative. For each deprecated method, we provide a supported alternative, either in the form of another method or as a different solution.\n\nWe support the latest major release only with bug fixes.  While we will keep a public facing repository of past SDK version for reference, we will not update nor support them. Customers who implement a version of the SDK other than the latest may do so at their own risk, understanding that any known or unknown issue may not be addressed, in particular if a newer SDK version contains a resolution for such issues.\n\nAs always, keeping up to date by using the latest version of the Carnival SDKs is recommended. You can read the release notes which include details about bug fixes and new features, and these are attached to our GitHub releases. It is also advised you update to the latest SDK version before contacting support. \n\nThis also applies to our open source wrapper SDKs for Cordova, React Native and Unity. These wrappers are maintained by both the open source community and Carnival, and are reviewed quarterly for updates and maintenance. \n\nAs always, we’re more than happy to help with any questions you have while developing with our SDKs. Don’t hesitate to reach out to your Customer Success Manager (CSM) or our Support team if you have questions during development.\n\n\n## Supported OS and Tooling Versions\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"SDK\",\n    \"h-1\": \"iOS\",\n    \"h-2\": \"Android\",\n    \"h-3\": \"Cordova\",\n    \"h-4\": \"React Native\",\n    \"h-5\": \"Unity\",\n    \"0-0\": \"**Type**\",\n    \"1-0\": \"**Supported OS Versions**\",\n    \"2-0\": \"**Supported Tooling Versions**\",\n    \"0-1\": \"Core\",\n    \"0-2\": \"Core\",\n    \"0-3\": \"Wrapper\",\n    \"0-4\": \"Wrapper\",\n    \"0-5\": \"Wrapper\",\n    \"1-1\": \"iOS 8.0+\",\n    \"1-2\": \"Android Ice Cream Sandwich 4.0+ (API Level 14)\",\n    \"1-3\": \"Same as Core\",\n    \"1-4\": \"Same as Core\",\n    \"1-5\": \"Same as Core\",\n    \"2-1\": \"Xcode 8+\",\n    \"2-2\": \"Android Studio 3+\",\n    \"2-3\": \"Cordova 6.0+\",\n    \"2-4\": \"React Native 0.48+\",\n    \"2-5\": \"Unity 5+ (2017.2.x)\"\n  },\n  \"cols\": 6,\n  \"rows\": 3\n}\n[/block]","excerpt":"","slug":"sdk-integration","type":"basic","title":"Add the SDK"}
Add the Carnival SDK into your apps to enable tracking of live user data, user activity, and send push and in-app messages. It typically takes less than 10 minutes to successfully integrate. Pick a platform below for integration documentation: [block:html] { "html": " <div class=\"row integrate-sdk-section\" >\n <div class=\"col-sm-6\">\n <a href=\"/docs/ios-integration\">\n <img src=\"https://files.readme.io/z5IuJfO8SzK9n94EcNQ5_ios.png\" >\n </a>\n <div class=\"description\" data-release-info=\"https://api.github.com/repos/carnivalmobile/carnival-ios-sdk/releases/latest\">\n <a href=\"/docs/ios-integration\">iOS</a><span class=\"version\"><a href=\"https://github.com/carnivalmobile/carnival-ios-sdk/releases\">v7.1.1</a></span>\n <div class=\"release-date\">Released 2017-11-30</div>\n </div>\n </div>\n\n\n <div class=\"col-sm-6\">\n <a href=\"/docs/android-integration\">\n <img src=\"https://files.readme.io/QbxKWCzRs6nnEELD9FvQ_android.png\" >\n </a>\n <div class=\"description\" data-release-info=\"https://api.github.com/repos/carnivalmobile/carnival-ios-sdk/releases/latest\">\n <a href=\"/docs/android-integration\">Android</a><span class=\"version\"><a href=\"https://github.com/carnivalmobile/carnival-android-sdk/releases\">v5.2.0</a></span>\n <div class=\"release-date\">Released 2017-11-07</div>\n </div>\n </div>\n </div>\n\n <div class=\"row integrate-sdk-section\" >\n <div class=\"col-sm-4\">\n <a href=\"/docs/cordova-integration\">\n <img src=\"https://files.readme.io/6IZ4WpXnQlWtll7zn55W_cordova.png\" >\n </a>\n <div class=\"description\" data-release-info=\"https://api.github.com/repos/carnivalmobile/carnival-sdk-cordova/releases/latest\">\n <a href=\"/docs/cordova-integration\">Cordova</a><span class=\"version\"><a href=\"https://github.com/carnivalmobile/carnival-sdk-cordova/releases\">v4.0.3</a></span>\n <div class=\"release-date\">Released 2017-12-06</div>\n </div>\n </div>\n \n <div class=\"col-sm-4\">\n <a href=\"/docs/unity-integration\">\n <img src=\"https://files.readme.io/6IZ4WpXnQlWtll7zn55W_cordova.png\" >\n </a>\n <div class=\"description\" data-release-info=\"https://api.github.com/repos/carnivalmobile/carnival-sdk-unity/releases/latest\">\n <a href=\"/docs/unity-integration\">Unity</a><span class=\"version\"><a href=\"https://github.com/carnivalmobile/carnival-sdk-unity/releases\">v1.0.0</a></span>\n <div class=\"release-date\">Released 2017-12-06</div>\n </div>\n </div>\n\n <div class=\"col-sm-4\">\n <a href=\"/docs/react-native-integration\">\n <img src=\"https://files.readme.io/HMUOEq2uTAiGoCSpCjCN_react-native.png\" >\n </a>\n <div class=\"description\" data-release-info=\"https://api.github.com/repos/carnivalmobile/carnival-sdk-react-native/releases/latest\">\n <a href=\"/docs/react-native-integration\">React Native</a><span class=\"version\"><a href=\"https://github.com/carnivalmobile/carnival-sdk-react-native/releases\">v1.0.0</a></span>\n <div class=\"release-date\">Released 2017-12-06</div>\n </div>\n </div>\n\n </div>\n\n <style>\n \n .integrate-sdk-section img{\n width:120px;\n height:120px;\n display: block;\n margin: auto;\n }\n \n .integrate-sdk-section a {\n display:block;\n padding:20px 0px 10px 0px;\n border-radius:5px;\n }\n \n .integrate-sdk-section a:hover {\n background-color:#f9f9f9 !important;\n \n }\n \n .integrate-sdk-section .col-sm-3 {\n text-align:center;\n }\n \n .integrate-sdk-section .description {\n padding-top:10px;\n text-align:center !important;\n }\n \n \n .integrate-sdk-section .description > a {\n padding-top:0;\n display:inline;\n }\n\n .integrate-sdk-section .description span.version {\n font-size:1.1rem;\n margin-left:10px;\n }\n \n .integrate-sdk-section .description span.version > a {\n display:inline;\n margin:0;\n padding:0;\n }\n\n .integrate-sdk-section .description div.release-date {\n font-size:1.1rem;\n }\n </style>" } [/block] [block:callout] { "type": "info", "title": "Note", "body": "The above guides assume you are a developer and have already gone through the process of [creating an app](doc:creating-an-app) in the platform." } [/block] ## Migrating from another platform We can help you migrate existing push tokens and data from your current provider. Please read [Migrating to Carnival](doc:migrating-to-carnival) guide for more details. ## Message Stream Templates Our [Message Stream Templates](https://github.com/carnivalmobile/carnival-stream-examples) are available for Native iOS and Android apps only. [block:callout] { "type": "warning", "title": "Plugin SDKs limitations", "body": "Our SDKs for Unity and React Native experience don't allow to customize the look and feel of in-app notifications. This is due to the nature of their plugin system architecture. We hope to bring customization to these platforms in the near future.\n\nBecause of the nature of Cordova, Unity, React Native and their (many!) variants, some integrations may take longer. We're of course happy to help during this time. Reach out to [support](mailto:support@sailthru.com) for assistance." } [/block] ## Deprecation and Support Policy Our SDKs follow [Semantic Versioning](http://semver.org/) (SemVer). We use SemVer to communicate the significance of change between SDK versions to you. We also use deprecation annotations to mark deprecated methods, which you can expect to be removed fully in the following major release. If you are using a deprecated method, we encourage you to use the supported alternative. For each deprecated method, we provide a supported alternative, either in the form of another method or as a different solution. We support the latest major release only with bug fixes. While we will keep a public facing repository of past SDK version for reference, we will not update nor support them. Customers who implement a version of the SDK other than the latest may do so at their own risk, understanding that any known or unknown issue may not be addressed, in particular if a newer SDK version contains a resolution for such issues. As always, keeping up to date by using the latest version of the Carnival SDKs is recommended. You can read the release notes which include details about bug fixes and new features, and these are attached to our GitHub releases. It is also advised you update to the latest SDK version before contacting support. This also applies to our open source wrapper SDKs for Cordova, React Native and Unity. These wrappers are maintained by both the open source community and Carnival, and are reviewed quarterly for updates and maintenance. As always, we’re more than happy to help with any questions you have while developing with our SDKs. Don’t hesitate to reach out to your Customer Success Manager (CSM) or our Support team if you have questions during development. ## Supported OS and Tooling Versions [block:parameters] { "data": { "h-0": "SDK", "h-1": "iOS", "h-2": "Android", "h-3": "Cordova", "h-4": "React Native", "h-5": "Unity", "0-0": "**Type**", "1-0": "**Supported OS Versions**", "2-0": "**Supported Tooling Versions**", "0-1": "Core", "0-2": "Core", "0-3": "Wrapper", "0-4": "Wrapper", "0-5": "Wrapper", "1-1": "iOS 8.0+", "1-2": "Android Ice Cream Sandwich 4.0+ (API Level 14)", "1-3": "Same as Core", "1-4": "Same as Core", "1-5": "Same as Core", "2-1": "Xcode 8+", "2-2": "Android Studio 3+", "2-3": "Cordova 6.0+", "2-4": "React Native 0.48+", "2-5": "Unity 5+ (2017.2.x)" }, "cols": 6, "rows": 3 } [/block]