Preface :
- GooglePlayServices version must be at least 8.1.
- The Plugin contains Appoxee Android SDK version 2.6.1 .
- The Plugin Contains Appoxee iOS SDK version 4.0.8
Integration Instructions :
Phase 1
- Download the Appoxee Android Unity Plugin Zip file for the Download 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/AppoxeePlugin.cs
- UnityProjectName/Assets/AppoxeePlugin/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.
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 :
Init AppoxeeAndroidBridgeusing 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. ... void Start () { if (unityBridge == null) { unityBridge = AppoxeePlugin.CreateAppoxeeUnityBridge(this, "YOUR_SDK_KEY", "YOUR_SECRET_KEY"); unityBridge.ReportActivation(); } } ... //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 } } ... }
- API Samples can be seen in the following link