This part of the documentation extends the integration process of Appoxee's native library into the Unity3D world.
...
- Download the Appoxee Android Unity Plugin Zip file for the EULA Page.
- Extract the zip file to path :
UnityProjectName/Assets
- For Android Only : Replace in AndroidManifest.xml the "YOUR_PACKAGE_NAME" placeholder to your reverse-domain package name as you set in the Unity IDE
- Verify that this is the directory structure and content after extracting :
- UnityProjectName/Assets/AppoxeePlugin.cs
- UnityProjectName/Assets/IAppoxeeCallable.cs
- UnityProjectName/Assets/Plugins/Android/appoxee-sdk.jar
- UnityProjectName/Assets/Plugins/Android/appoxee-unity-plugin.jar
- UnityProjectName/Assets/Plugins/Android/AppoxeeSDK/AndroidManifest.xml
- UnityProjectName/Assets/Plugins/Android/AppoxeeSDK/project.properties
- UnityProjectName/Assets/Plugins/Android/AppoxeeSDK/libs
- UnityProjectName/Assets/Plugins/Android/AppoxeeSDK/res
- UnityProjectName/Assets/Plugins/Android/google-play-services_lib
- UnityProjectName/Assets/Plugins/ios/AppoxeePlugin.h + m
- UnityProjectName/Assets/Plugins/ios/AppoxeePluginDelegate.h + m
- UnityProjectName/Assets/Plugins/ios/UnityAppController+AppoxeeUnity.h + m
- UnityProjectName/Assets/Plugins/ios/AppoxeeSDK.framework
- Open your Unity project.
Phase 2
Your MainCameraScript class must implement IAppoxeeCallable in order to receive the results of the API calls.
- Your MainCameraScript class should hold a member of the AppoxeePlugin in order to use the different API calls after initializing it, using the Factory method.
In order to initialise the Appoxee Unity Bridge, call AppoxeePlugin.CreateAppoxeeUnityBridge() , passing it your gameObject, Your SDK Key & Secret Key. Do so in your onStart() method.
Warning title SDK Key & Secret - Do Not Confuse Platforms! Make sure the Key & Secret under your iOS Application in the Appoxee Dashboard is used for your iOS Unity App.
Make sure the Key & Secret under your Android Application in the Appoxee Dashboard is used for your Android Unity App.
Do not mix between them!- In your onStart() method, call AppoxeeReportActivate() in order to signal to the SDK that the App is now in foreground. This is crucial for analytics.
- In your onDestroy() method, call AppoxeeReportBackground() in order to signal to the SDK that the App is now in background, This is crucial for analytics.
- Android Users - Please Note : if your AppoxeePlugin member is NULL after calling the Factory method, the appoxee-unity-plugin.jar is MISSING, thus resulting a crash on each API call.
The following code snippet shows the MainCameraScript class as step 1 - 5 explain :
Code Block language c# title Init AppoxeeAndroidBridge linenumbers true using UnityEngine; using System; ... public class MainCameraScript : MonoBehaviour,IAppoxeeCallable<String> { ... private AppoxeePlugin unityBridge; //Keep as field/member in order to use the API. if Null, API calls will cause a crash in runtime. ... // Use this for initialization void Start () { if (unityBridgemyBridge == null) { unityBridge = Debug.Log ("UNITY: Start() calling constructor"); #if UNITY_IOS // No need to pass an SDK key & App secret on iOS. // Values should be passed via and .plist file, in the Xcode project. myBridge =AppoxeePlugin.CreateAppoxeeUnityBridge(this, "YOUR_SDK_KEY", "YOUR_SECRET_KEY"); unityBridge.ReportActivation(); } #elif UNITY_ANDROID myBridge =AppoxeePlugin.CreateAppoxeeUnityBridge(this,"SDK.Key", "App.Secret") #endif } } ... //If Application is on it's way for background / out of focus, must report deactivation for analytics void OnApplicationPause(bool pauseStatus) { if (pauseStatus) { #if UNITY_ANDROID if (unityBridge != null) { unityBridge.ReportDeactivation(); } #elif #endif } } //If Application is in focus/back in foreground, must report activation for analytics void OnApplicationFocus(bool focusStatus) { if (focusStatus) { #if UNITY_ANDROID if (unityBridge != null) { unityBridge.ReportActivation(); } #elif #endif } } ... }
- iOS Only
- Build your project and open Xcode.
- In your Xcode project, create a
.plist
file (File -> New -> File... Recource -> Property List), and provide your SDK key. file needs to be named:AppoxeeConfiguration.plist.
Code Block language actionscript3 title AppoxeeConfiguration.plist example <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>AppoxeeSDKID</key> <string>Your SDK ID</string></dict> </plist>
- API Documentation can be seen in the following link
...