NOTE: If you are using any AndroidX dependencies in your project, refer v2.0.0
-
Import the CleverTapUnityPlugin.unitypackage into your Unity Project (
Assets>Import Package>Custom Package) or manually CopyPlugin/CleverTapUnity,Plugin/PlayServicesResolverandPlugin/Plugins/Android(or copy the files inPlugin/Plugins/Androidto your existingAssets/Plugins/Androiddirectory) into the Assets directory of your Unity Project. -
Create an empty game object (GameObject -> Create Empty) and rename it
CleverTapUnity. AddAssets/CleverTapUnity/CleverTapUnity-Scripts/CleverTapUnity.csas a component of theCleverTapUnity GameObject. -
Select the
CleverTapUnity GameObjectyou created in the Hierarchy pane and add your CleverTap settings inside the Inspector window. You must include yourCleverTap Account IDandCleverTap Account Tokenfrom your CleverTap Dashboard -> Settings. -
Edit
Assets/CleverTapUnity/CleverTapUnity-Scripts/CleverTapUnity.csto add your calls to CleverTap SDK. See usage examples in example/CleverTapUnity.cs. For more information check out our documentation.
-
If you want to enable Push Notifications, be sure to add the Push Notifications capability to your Xcode project.
-
Add a run script to your build phases, In Xcode, go to your Targets, under your app’s name, select Build Phases after embed frameworks, add a run script phase and set it to use
/bin/shand the script found here:
The script will look through your built application’s Frameworks folder and strip out the unnecessary simulator architectures from the CleverTakSDK.framework prior to archiving/submitting the app store.
- Build and run your iOS project.
-
Run
Assets>Play Services Resolver>Android Resolver>Resolve Client Jarsfrom the Unity menu bar to install the required google play services and android support library dependencies. -
Edit the
AndroidManifest.xmlfile inAssets/Plugins/Androidto add your Bundle Identifier, FCM Sender ID, CleverTap Account Id, CleverTap Token and Deep Link url scheme (if applicable):<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="YOUR_BUNDLE_IDENTIFIER" android:versionName="1.0" android:versionCode="1" android:installLocation="preferExternal"> <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" /><meta-data android:name="GCM_SENDER_ID" android:value="id:YOUR_FCM_SENDER_ID"/> <meta-data android:name="CLEVERTAP_ACCOUNT_ID" android:value="Your CleverTap Account ID"/> <meta-data android:name="CLEVERTAP_TOKEN" android:value="Your CleverTap Account Token"/><!-- Deep Links uncomment and replace YOUR_URL_SCHEME, if applicable, or remove if not supporting deep links--> <!-- <intent-filter android:label="@string/app_name"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="YOUR_URL_SCHEME" /> </intent-filter> --> -
Add the following in the
AndroidManifest.xmlfile -<service android:name="com.clevertap.android.sdk.FcmTokenListenerService"> <intent-filter> <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/> </intent-filter> </service> <service android:name="com.clevertap.android.sdk.FcmMessageListenerService"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT"/> </intent-filter> </service> -
Add your
google-services.jsonfile to the Assets folder of the project. -
To enable A/B UI editor, edit
Assets/CleverTapUnity/CleverTapUnity-Scripts/CleverTapBinding.csandCleverTapAPI.CallStatic("setUIEditorConnectionEnabled", true)call just before getting the clevertap instance.
public static AndroidJavaObject CleverTap {
get {
if (clevertap == null) {
AndroidJavaObject context = unityCurrentActivity.Call<AndroidJavaObject>("getApplicationContext");
//set the UI editor flag before getting the Clevertap instance, defaults to false.
CleverTapAPI.CallStatic("setUIEditorConnectionEnabled", true);
clevertap = CleverTapAPI.CallStatic<AndroidJavaObject>("getInstance", context);
}
return clevertap;
}
}
- Build your app or Android project as usual.


