Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Your MainCameraScript class must implement IAppoxeeCallable in order to receive the results of the API calls.

  2. 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.
  3. 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
    titleSDK Key & Secret - Do Not Confuse Platforms!


    iOS - Make sure the Key & Secret under your iOS Application in the Appoxee Dashboard is used for your iOS Unity App, and is passed to the plugin via a AppoxeeConfig.plist file.

    Android -Make sure the Key & Secret under your Android Application in the Appoxee Dashboard is used for your Android Unity App, and is passed as a parameter to the initialization method.


    Do not mix between them!
  4. 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.
  5. 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.
  6. 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.
  7. The following code snippet shows the MainCameraScript class as step 1 - 5 explain : 

    Code Block
    languagec#
    titleInit AppoxeeAndroidBridge
    linenumberstrue
    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 (myBridge == null) {
    
                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 AppoxeeConfig.plist file, in theyour Xcode project.
    
                    myBridge = AppoxeePlugin.CreateAppoxeeUnityBridge(this, "", "");
    
                #elif UNITY_ANDROID
    
                    myBridge = AppoxeePlugin.CreateAppoxeeUnityBridge(this, "SDK11111.Key11", "App22222.Secret22");
    
                #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
            }
        }
    ...
    }
  8. iOS Only
    1. Open your Xcode project.
    2. create a .plist file (File -> New -> File... Recource -> Property List) and name it AppoxeeConfig.plist. Provide your SDK key, and other relevant settings.
    Code Block
    languageactionscript3
    titleAppoxeeConfig.plist
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
        <dict>
            <key>sdk</key>
            <dict>
                <key>sdk_key</key>
                <string>123456789.00</string>
                <key>is_eu</key> <!-- Optional, indicate if account is EU / US -->
                <false/>
                <key>open_landing_page_inside_app</key> <!-- Optional, indicate if landing page should open inside the app or via Safari -->
                <false/>
            </dict>
        </dict>
    </plist>
  9. API Documentation can be seen in the following link

...