123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499 |
- using UnityEngine;
- using System.Collections;
- using System.Collections.Generic;
- using System.Runtime.InteropServices;
- using System.Text;
- using System;
- namespace anysdk {
- public enum AccountType
- {
- ANONYMOUS,/**< enum value is anonymous typek. */
- REGISTED,/**< enum value is registed type. */
- SINA_WEIBO,/**< enum value is sineweibo type. */
- TENCENT_WEIBO,/**< enum value is tecentweibo type */
- QQ,/**< enum value is qq type */
- ND91,/**< enum value is nd91 type. */
- } ;
- public enum AccountOperate
- {
- LOGIN,/**< enum value is the login operate. */
- LOGOUT,/**< enum value is the logout operate. */
- REGISTER,/**< enum value is the register operate. */
- } ;
- public enum AccountGender
- {
- MALE,/**< enum value is male. */
- FEMALE,/**< enum value is female. */
- UNKNOWN,/**< enum value is unknow. */
-
- } ;
- public enum TaskType
- {
- GUIDE_LINE,/**< enum value is the guideline type.. */
- MAIN_LINE,/**< enum value is the mainline type.. */
- BRANCH_LINE,/**<enum value is the branchline type.. */
- DAILY,/**< enum value is the daily type.. */
- ACTIVITY,/**< enum value is the activity type. */
- OTHER,/**< enum value is other type. */
- } ;
- public class AnySDKAnalytics
- {
- private static AnySDKAnalytics _instance;
-
- public static AnySDKAnalytics getInstance() {
- if( null == _instance ) {
- _instance = new AnySDKAnalytics();
- }
- return _instance;
- }
- /**
- @brief Start a new session.
- */
- public void startSession()
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- AnySDKAnalytics_nativeStartSession ();
- #else
- Debug.Log("This platform does not support!");
- #endif
- }
- /**
- @brief Stop a session.
- @warning This interface only worked on android
- */
- public void stopSession()
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- AnySDKAnalytics_nativeStopSession ();
- #else
- Debug.Log("This platform does not support!");
- #endif
- }
- /**
- @brief Set the timeout for expiring a session.
- @param millis In milliseconds as the unit of time.
- @note It must be invoked before calling startSession.
- */
- public void setSessionContinueMillis(long millis)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- AnySDKAnalytics_nativeSetSessionContinueMillis (millis);
- #else
- Debug.Log("This platform does not support!");
- #endif
- }
- /**
- @brief log an error
- @param errorId The identity of error
- @param message Extern message for the error
- */
- public void logError(string errorId, string message)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- AnySDKAnalytics_nativeLogError (errorId, message);
- #else
- Debug.Log("This platform does not support!");
- #endif
- }
- /**
- @brief log an event.
- @param eventId The identity of event
- @param paramMap Extern parameters of the event, use NULL if not needed.
- */
- public void logEvent (string eventId,Dictionary<string,string> paramMap = null)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- string value;
- if (paramMap == null) value = null;
- else value = AnySDKUtil.dictionaryToString (paramMap);
- AnySDKAnalytics_nativeLogEvent (eventId,value);
- #else
- Debug.Log("This platform does not support!");
- #endif
- }
- /**
- @brief Track an event begin.
- @param eventId The identity of event
- */
- public void logTimedEventBegin (string errorId)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- AnySDKAnalytics_nativeLogTimedEventBegin (errorId);
- #else
- Debug.Log("This platform does not support!");
- #endif
- }
- /**
- @brief Track an event end.
- @param eventId The identity of event
- */
- public void logTimedEventEnd (string eventId)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- AnySDKAnalytics_nativeLogTimedEventEnd (eventId);
- #else
- Debug.Log("This platform does not support!");
- #endif
- }
- /**
- @brief Whether to catch uncaught exceptions to server.
- @warning This interface only worked on android.
- */
- public void setCaptureUncaughtException (bool enabled)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- AnySDKAnalytics_nativeSetCaptureUncaughtException (enabled);
- #else
- Debug.Log("This platform does not support!");
- #endif
- }
- /**
- @brief Check function the plugin support or not
- */
- public bool isFunctionSupported (string functionName)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- return AnySDKAnalytics_nativeIsFunctionSupported (functionName);
- #else
- Debug.Log("This platform does not support!");
- return false;
- #endif
- }
- /**
- * set debugmode for plugin
- *
- */
- [Obsolete("This interface is obsolete!",false)]
- public void setDebugMode(bool bDebug)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- AnySDKAnalytics_nativeSetDebugMode (bDebug);
- #else
- Debug.Log("This platform does not support!");
- #endif
- }
-
- /**
- * Get Plugin version
- *
- * @return string
- */
- public string getPluginVersion()
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- StringBuilder version = new StringBuilder();
- version.Capacity = AnySDKUtil.MAX_CAPACITY_NUM;
- AnySDKAnalytics_nativeGetPluginVersion (version);
- return version.ToString();
- #else
- Debug.Log("This platform does not support!");
- return "";
- #endif
- }
- /**
- * Get SDK version
- *
- * @return string
- */
- public string getSDKVersion()
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- StringBuilder version = new StringBuilder();
- version.Capacity = AnySDKUtil.MAX_CAPACITY_NUM;
- AnySDKAnalytics_nativeGetSDKVersion (version);
- return version.ToString();
- #else
- Debug.Log("This platform does not support!");
- return "";
- #endif
- }
-
- /**
- *@brief methods for reflections
- *@param function name
- *@param AnySDKParam param
- *@return void
- */
- public void callFuncWithParam(string functionName, AnySDKParam param)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- List<AnySDKParam> list = new List<AnySDKParam> ();
- list.Add (param);
- AnySDKAnalytics_nativeCallFuncWithParam(functionName, list.ToArray(),list.Count);
- #else
- Debug.Log("This platform does not support!");
- #endif
- }
- /**
- *@brief methods for reflections
- *@param function name
- *@param List<AnySDKParam> param
- *@return void
- */
- public void callFuncWithParam(string functionName, List<AnySDKParam> param = null)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- if (param == null)
- {
- AnySDKAnalytics_nativeCallFuncWithParam (functionName, null, 0);
-
- } else {
- AnySDKAnalytics_nativeCallFuncWithParam (functionName, param.ToArray (), param.Count);
- }
- #else
- Debug.Log("This platform does not support!");
- #endif
- }
- /**
- *@brief methods for reflections
- *@param function name
- *@param AnySDKParam param
- *@return int
- */
- public int callIntFuncWithParam(string functionName, AnySDKParam param)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- List<AnySDKParam> list = new List<AnySDKParam> ();
- list.Add (param);
- return AnySDKAnalytics_nativeCallIntFuncWithParam(functionName, list.ToArray(),list.Count);
- #else
- Debug.Log("This platform does not support!");
- return -1;
- #endif
- }
- /**
- *@brief methods for reflections
- *@param function name
- *@param List<AnySDKParam> param
- *@return int
- */
- public int callIntFuncWithParam(string functionName, List<AnySDKParam> param = null)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- if (param == null)
- {
- return AnySDKAnalytics_nativeCallIntFuncWithParam (functionName, null, 0);
-
- } else {
- return AnySDKAnalytics_nativeCallIntFuncWithParam (functionName, param.ToArray (), param.Count);
- }
- #else
- Debug.Log("This platform does not support!");
- return -1;
- #endif
- }
- /**
- *@brief methods for reflections
- *@param function name
- *@param AnySDKParam param
- *@return float
- */
- public float callFloatFuncWithParam(string functionName, AnySDKParam param)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- List<AnySDKParam> list = new List<AnySDKParam> ();
- list.Add (param);
- return AnySDKAnalytics_nativeCallFloatFuncWithParam(functionName, list.ToArray(),list.Count);
- #else
- Debug.Log("This platform does not support!");
- return 0;
- #endif
- }
-
- /**
- *@brief methods for reflections
- *@param function name
- *@param List<AnySDKParam> param
- *@return float
- */
- public float callFloatFuncWithParam(string functionName, List<AnySDKParam> param = null)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- if (param == null)
- {
- return AnySDKAnalytics_nativeCallFloatFuncWithParam (functionName, null, 0);
-
- } else {
- return AnySDKAnalytics_nativeCallFloatFuncWithParam (functionName, param.ToArray (), param.Count);
- }
- #else
- Debug.Log("This platform does not support!");
- return 0;
- #endif
- }
- /**
- *@brief methods for reflections
- *@param function name
- *@param AnySDKParam param
- *@return string
- */
- public bool callBoolFuncWithParam(string functionName, AnySDKParam param)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- List<AnySDKParam> list = new List<AnySDKParam> ();
- list.Add (param);
- return AnySDKAnalytics_nativeCallBoolFuncWithParam(functionName, list.ToArray(),list.Count);
- #else
- Debug.Log("This platform does not support!");
- return false;
- #endif
- }
- /**
- *@brief methods for reflections
- *@param function name
- *@param List<AnySDKParam> param
- *@return string
- */
- public bool callBoolFuncWithParam(string functionName, List<AnySDKParam> param = null)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- if (param == null)
- {
- return AnySDKAnalytics_nativeCallBoolFuncWithParam (functionName, null, 0);
-
- } else {
- return AnySDKAnalytics_nativeCallBoolFuncWithParam (functionName, param.ToArray (), param.Count);
- }
- #else
- Debug.Log("This platform does not support!");
- return false;
- #endif
- }
- /**
- *@brief methods for reflections
- *@param function name
- *@param List<AnySDKParam> param
- *@return string
- */
- public string callStringFuncWithParam(string functionName, AnySDKParam param)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- List<AnySDKParam> list = new List<AnySDKParam> ();
- list.Add (param);
- StringBuilder value = new StringBuilder();
- value.Capacity = AnySDKUtil.MAX_CAPACITY_NUM;
- AnySDKAnalytics_nativeCallStringFuncWithParam(functionName, list.ToArray(),list.Count,value);
- return value.ToString ();
- #else
- Debug.Log("This platform does not support!");
- return "";
- #endif
- }
- /**
- *@brief methods for reflections
- *@param function name
- *@param List<AnySDKParam> param
- *@return string
- */
- public string callStringFuncWithParam(string functionName, List<AnySDKParam> param = null)
- {
- #if !UNITY_EDITOR &&( UNITY_ANDROID || UNITY_IOS)
- StringBuilder value = new StringBuilder();
- value.Capacity = AnySDKUtil.MAX_CAPACITY_NUM;
- if (param == null)
- {
- AnySDKAnalytics_nativeCallStringFuncWithParam (functionName, null, 0,value);
-
- } else {
- AnySDKAnalytics_nativeCallStringFuncWithParam (functionName, param.ToArray (), param.Count,value);
- }
- return value.ToString ();
- #else
- Debug.Log("This platform does not support!");
- return "";
- #endif
- }
-
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern void AnySDKAnalytics_nativeStartSession();
-
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern void AnySDKAnalytics_nativeStopSession();
-
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern void AnySDKAnalytics_nativeSetSessionContinueMillis(long milli);
-
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern void AnySDKAnalytics_nativeLogError(string errorId, string message);
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern void AnySDKAnalytics_nativeLogEvent(string eventId, string message);
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern void AnySDKAnalytics_nativeLogTimedEventBegin(string eventId);
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern void AnySDKAnalytics_nativeLogTimedEventEnd(string eventId);
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern void AnySDKAnalytics_nativeSetCaptureUncaughtException(bool enabled);
-
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern bool AnySDKAnalytics_nativeIsFunctionSupported(string functionName);
-
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern void AnySDKAnalytics_nativeSetDebugMode(bool bDebug);
-
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern void AnySDKAnalytics_nativeGetPluginVersion(StringBuilder version);
-
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern void AnySDKAnalytics_nativeGetSDKVersion(StringBuilder version);
-
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern void AnySDKAnalytics_nativeCallFuncWithParam(string functionName, AnySDKParam[] param,int count);
-
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern int AnySDKAnalytics_nativeCallIntFuncWithParam(string functionName, AnySDKParam[] param,int count);
-
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern float AnySDKAnalytics_nativeCallFloatFuncWithParam(string functionName, AnySDKParam[] param,int count);
-
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern bool AnySDKAnalytics_nativeCallBoolFuncWithParam(string functionName, AnySDKParam[] param,int count);
-
- [DllImport(AnySDKUtil.ANYSDK_PLATFORM)]
- private static extern void AnySDKAnalytics_nativeCallStringFuncWithParam(string functionName, AnySDKParam[] param,int count,StringBuilder value);
- }
-
- }
|