{"_id":"55ecd777b2714d2100f227c2","project":"55e67aaa9cc7c62b00c4a1ea","__v":5,"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"},"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","updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-09-07T00:16:55.184Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":true,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":10,"body":"[block:callout]\n{\n  \"type\": \"info\",\n  \"body\": \"Carnival supports a [Unity](https://unity3d.com) plugin that allows you to use the Carnival SDK for iOS and Android through a C# interface.\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Installation\"\n}\n[/block]\n1. Download the Unity Plugin from [our Github repo](https://github.com/carnivalmobile/carnival-sdk-unity).\n2.  Open your project in the Unity Editor\n3. Import the `Carnival.unitypackage` file and select all files\n4. In the scenes you wish to include Carnival, create an object with the Carnival.cs script attached to it.\n\n## iOS Instructions\n\n1. To generate your project for iOS, use the File menu to select Build Settings. Switch to the iOS platform and choose Build.\n2. In the resulting Xcode project:\n\t* Add the -ObjC linker flag to your Other Linker Flags under Project -> Build Settings.\n\t* Add the required frameworks:\n\t * UIKit \n\t * Foundation\n\t * CoreLocation\n\t * CoreGraphics \n\t * AVFoundation\n\t * MediaPlayer\n\t * QuartzCore\n\t* Add [Carnival.embeddedframework](https://github.com/carnivalmobile/carnival-ios-sdk/tree/master/Carnival.embeddedframework) to the Frameworks folder of your project in Xcode. Be sure to check \"Copy items into destination groups' folder\". \n3. Run your application. \n\nThe next step is to [Setup Push Notifications for iOS](doc:push-notifications-for-ios) \n\n## Android Instructions\n\n1. Find your applications \"Bundle Identifier\", this can be found in the Player Settings pane, accessible from **File > Build Settings**, selecting the Android platform and clicking \"Player Settings\". The Bundle Identifier appears under the Identification header in the Inspector.\n2. Open up the Android manifest in **/Assets/Plugins/Android/AndroidManifest.xml** and replace all instances of `${applicationId}` with your Bundle Identifier.\n3. Run your application.\n\nThe next step is to [Setup Push Notifications for Android](doc:enable-push-notifications-for-android) \n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Initializing the Carnival SDK\"\n}\n[/block]\nWhen your app launches, you need to call the right method for your operating system. Calling both sequentially for both platforms is fine.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"Carnival.StartEngineIOS (SDK_KEY); // iOS\\nCarnival.StartEngineAndroid (SDK_KEY, GOOGLE_PROJECT_NUMBER); // Android\",\n      \"language\": \"csharp\"\n    }\n  ]\n}\n[/block]","excerpt":"Integration instructions for Unity Apps","slug":"unity-integration","type":"basic","title":"Unity Integration"}

Unity Integration

Integration instructions for Unity Apps

[block:callout] { "type": "info", "body": "Carnival supports a [Unity](https://unity3d.com) plugin that allows you to use the Carnival SDK for iOS and Android through a C# interface." } [/block] [block:api-header] { "type": "basic", "title": "Installation" } [/block] 1. Download the Unity Plugin from [our Github repo](https://github.com/carnivalmobile/carnival-sdk-unity). 2. Open your project in the Unity Editor 3. Import the `Carnival.unitypackage` file and select all files 4. In the scenes you wish to include Carnival, create an object with the Carnival.cs script attached to it. ## iOS Instructions 1. To generate your project for iOS, use the File menu to select Build Settings. Switch to the iOS platform and choose Build. 2. In the resulting Xcode project: * Add the -ObjC linker flag to your Other Linker Flags under Project -> Build Settings. * Add the required frameworks: * UIKit * Foundation * CoreLocation * CoreGraphics * AVFoundation * MediaPlayer * QuartzCore * Add [Carnival.embeddedframework](https://github.com/carnivalmobile/carnival-ios-sdk/tree/master/Carnival.embeddedframework) to the Frameworks folder of your project in Xcode. Be sure to check "Copy items into destination groups' folder". 3. Run your application. The next step is to [Setup Push Notifications for iOS](doc:push-notifications-for-ios) ## Android Instructions 1. Find your applications "Bundle Identifier", this can be found in the Player Settings pane, accessible from **File > Build Settings**, selecting the Android platform and clicking "Player Settings". The Bundle Identifier appears under the Identification header in the Inspector. 2. Open up the Android manifest in **/Assets/Plugins/Android/AndroidManifest.xml** and replace all instances of `${applicationId}` with your Bundle Identifier. 3. Run your application. The next step is to [Setup Push Notifications for Android](doc:enable-push-notifications-for-android) [block:api-header] { "type": "basic", "title": "Initializing the Carnival SDK" } [/block] When your app launches, you need to call the right method for your operating system. Calling both sequentially for both platforms is fine. [block:code] { "codes": [ { "code": "Carnival.StartEngineIOS (SDK_KEY); // iOS\nCarnival.StartEngineAndroid (SDK_KEY, GOOGLE_PROJECT_NUMBER); // Android", "language": "csharp" } ] } [/block]