using System.Collections; using System.Collections.Generic; using System.Globalization; using PottingMobileSDK; using PottingMobileSDK.MiniJSON; using Sdk.Phone; using UnityEngine; public class PottingMobileAndroid : PottingMobileBase { private static readonly AndroidJavaClass PluginClass = new AndroidJavaClass("com.youloft.advert.YouLoftAdManager"); private static readonly AndroidJavaClass YouLoftClass = new AndroidJavaClass("com.youloft.core.YouLoftSdk"); private static readonly AndroidJavaClass StatisticsClass = new AndroidJavaClass("com.youloft.statistics.StatisticsManager"); private static readonly AndroidJavaClass NotificationClass = new AndroidJavaClass("com.youloft.notification.local.NotificationUtil"); private static readonly AndroidJavaClass YouLoftAdManagerClass = new AndroidJavaClass("com.youloft.advert.YouLoftAdManager"); private static AndroidJavaObject AdClass = PluginClass.CallStatic("getInstance"); private static AndroidJavaObject GoogleGameManagerClass; static PottingMobileAndroid() { InitManager(); } /// /// 初始化SDK /// /// 广告id /// /// /// public static void InitializeSdk(string jsonAds, string facebookid, string app_flyers_id, string umengId, string umengChannel, string pk, string pangleAppID) { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); PluginClass.CallStatic("setRepeatTime", AdManagerSettings.Instance.RepeatTime); AndroidJavaObject jo = jc.GetStatic("currentActivity"); YouLoftClass.CallStatic("initApi", PottingMobileContent.GameId, PottingMobileContent.GameSecret, jo); YouLoftClass.CallStatic( "initUnityAdSdk", jo, jsonAds, facebookid, PottingMobileContent.APPSFLYER_DEV_KEY, umengId, umengChannel, pk, pangleAppID); if (AdManagerSettings.Instance.isChcek) { NetTimeCheck.Init(); } } /// /// 初始化sdk /// public static void InitializeSdk() { InitializeSdk(PottingMobileContent.AdJsonString, AdManagerSettings.Instance.AndroidFacebookID, PottingMobileContent.AppsFlyerAppid, PottingMobileContent.UmengAppid, PottingMobileContent.umengChannel, "", PottingMobileContent.PangleAppID); } /// /// 设置debug日志开关 /// /// public static void withLogDebug(bool isDebug) { YouLoftClass.CallStatic("setDebug", isDebug); PottingMobileBase.isDebug = isDebug; } /// /// 开启定时自动加载广告 /// public static void autoLoadAd() { AdClass.Call( "autoLoad"); PottingLog("andorid_autoLoadAd"); } public static void _ValidateAndTrackInAppPurchase(string signature, string purchaseData, string price, string currency) { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); StatisticsClass.CallStatic("validateAndTrackInAppPurchase", jo, "", signature, purchaseData, price, currency); } /// /// 提交反馈接口 /// /// 反馈信息 /// 联系方式 /// 存档 public static void _FeedBackSubmit(string msg, string connect, string docInfo) { YouLoftClass.CallStatic( "feedback", msg, connect, docInfo ); } /// /// 显示webview /// /// public static void _ShowWebView(string url) { AndroidJavaObject webViewClass = new AndroidJavaObject("com.youloft.webview.WebViewUtil"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); webViewClass.CallStatic("openHtml", jo, url); } public static void _showFeedBackHtml(Dictionary lable = null) { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); var jsonString = Json.Serialize(lable); YouLoftClass.CallStatic( "showFeedBackHtml", jo, jsonString); } /// /// 打开bbs /// /// 论坛id /// 用户唯一标识 public static void _Showbbs(string bbsId, string userId) { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); YouLoftClass.CallStatic( "showbbs", jo, bbsId, userId); } /// /// 打开bbs /// /// 论坛id /// 用户邮箱 public static void _ShowBBSWithEmail(string bbsId, string emial) { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); YouLoftClass.CallStatic( "showbbsEmail", jo, bbsId, emial); } /// /// 显示推荐界面 /// public static void _ShowGameRecommendView() { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); YouLoftClass.CallStatic( "showGameRecommend", jo); } /// /// 谷歌登录 /// public static void _LoginUseGoogle() { AndroidJavaObject LoginClass = new AndroidJavaObject("com.youloft.login.LoginActivity"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); LoginClass.CallStatic("jump", jo, 1); } public static void _LoginUseGoogleInClient(string clientId) { AndroidJavaObject LoginClass = new AndroidJavaObject("com.youloft.login.LoginActivity"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); LoginClass.CallStatic("jumpGoogle", jo, clientId); } /// /// /谷歌退出登录 /// public static void _LogOutGoogle() { AndroidJavaObject LoginClass = new AndroidJavaObject("com.youloft.login.LoginUtils"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); LoginClass.CallStatic("loginOutToGoogle", jo); } /// /// Facebook登录 /// public static void _LoginUseFacebook() { AndroidJavaObject LoginClass = new AndroidJavaObject("com.youloft.login.LoginActivity"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); LoginClass.CallStatic("jump", jo, 0); } /// /// Facebook退出登录 /// public static void _LogOutFacebook() { AndroidJavaObject LoginClass = new AndroidJavaObject("com.youloft.login.LoginUtils"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); LoginClass.CallStatic("loginOutToFacebook"); } public static void _GetADID() { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); AdClass.Call( "getADID", jo); PottingLog("andorid_GetADID"); } /// /// 重置同意的链接 /// public static void _consentInformationReset() { AdClass.Call( "consentInformationReset"); PottingLog("_consentInformationReset"); } /// /// 播放插屏广告 /// public static void _ShowInterstitialAd() { AdClass.Call( "showInterstitialAd"); PottingLog("_ShowInterstitialAd"); } /// /// 手动加载插屏广告 /// public static void _LoadInterstitialAd() { AdClass.Call( "loadInterstitialAd"); PottingLog("PottingMobileAndroid:_LoadInterstitialAd"); } public static void _LoadRewardedInterstitialAd() { AdClass.Call( "loadRewardedInterstitialAd"); PottingLog("andorid_LoadRewardedInterstitialAd"); } public static void _ShowRewardedInterstitialAd() { AdClass.Call( "showRewardedInterstitialAd"); PottingLog("andorid_ShowRewardedInterstitialAd"); } public static void _LoadAppOpenAd() { AdClass.Call( "fetchAd"); PottingLog("andorid_LoadAppOpenAd"); } public static void _ShowAppOpenAd() { AdClass.Call( "showAdIfAvailable"); PottingLog("andorid_ShowAppOpenAd"); } /// /// 手动加载视频广告 /// public static void _LoadRewardedVideoAd() { AdClass.Call( "loadRewardedVideoAd"); PottingLog("PottingMobileAndroid:_LoadRewardedVideoAd"); } /// /// 播放视频广告 /// public static void _ShowRewardedVideoAd() { AdClass.Call( "showRewardedVideoAd"); PottingLog("PottingMobileAndroid:_ShowRewardedVideoAd"); } /// /// 播放指定的视频广告 /// /// 视频广告id public static void _ShowRewardedVideoAd(string adid) { AdClass.Call( "showRewardedVideoAd", adid); PottingLog("PottingMobileAndroid:_ShowRewardedVideoAd"); } /// /// 判断是否有缓存广告 /// /// 返回是否有广告 public static bool _HasRewardedVideo() { return AdClass.Call( "hasRewardedVideo"); } /// /// 判断指定id是否有缓存广告 /// /// /// 返回是否有广告 public static bool _HasRewardedVideo(string adId) { return AdClass.Call( "hasRewardedVideo", adId); } /// /// 加载并显示Banner广告 /// /// Banner位置 /// Banner大小 public static void _LoadAndShowBannerAd(AdPosition adPostion, AdSize adSize) { PottingLog("_LoadAndShowBannerAd--" + adPostion); AdClass.Call( "loadAndShowBannerAd", (int)adPostion, (int)adSize); } /// /// 加载并显示Banner广告 /// /// Banner位置 public static void _LoadAndShowBannerAd(AdPosition adPostion) { PottingLog("_LoadAndShowBannerAd--" + adPostion); _LoadAndShowBannerAd(adPostion, AdSize.H_50); } /// /// 隐藏Banner广告 /// public static void _HideBannerAd() { AdClass.Call( "hideBannerAd"); } //充值购买虚拟货币(金币、宝石、金票等), cash-现金数额,source-购买渠道,coin-虚拟货币数额 public static void _Pay(double cash, int source, double coin) { StatisticsClass.CallStatic("pay", cash, coin, source); PottingLog("payEvent"); } /// /// 内购支付成功埋点 /// /// 价格,固定为美元 public static void _buyProductEvent(double price, string productId) { StatisticsClass.CallStatic("buyProduct", price, productId); PottingLog("_buyProductEvent"); } //充值购买虚拟道具, cash-现金数额,source-购买渠道,coin-虚拟货币数额 public static void _PayItem(double cash, int source, string itemName, int amount, double price) { StatisticsClass.CallStatic("pay", cash, itemName, amount, price, source); PottingLog("_PayItem"); } //游戏内部货币购买道具操作,itemName-道具名称,amount-数量,price-价格 public static void _Buy(string itemName, int amount, double price) { StatisticsClass.CallStatic("buy", itemName, amount, price); PottingLog("_Buy"); } //游戏内消耗道具操作,itemName-道具名称,amount-数量,price-价格 public static void _Use(string itemName, int amount, double price) { StatisticsClass.CallStatic("use", itemName, amount, price); PottingLog("_Use"); } //开始关卡,levelName-关卡名称 /// /// 开始关卡,levelName-关卡名称 /// /// public static void _StartLevel(string levelName) { StatisticsClass.CallStatic("startLevel", levelName); PottingLog("_StartLevel"); } public static void onPause() { YouLoftAdManagerClass.CallStatic("onMopubPause"); } public static void onResume() { YouLoftAdManagerClass.CallStatic("onMopubResume"); } //关卡完成,levelName-关卡名称 /// /// 关卡完成,levelName-关卡名称 /// /// 关卡名称 public static void _FinishLevel(string levelName) { StatisticsClass.CallStatic("finishLevel", levelName); PottingLog("_FinishLevel"); } //关卡失败,levelName-关卡名称 /// /// 关卡失败,levelName-关卡名称 /// /// 关卡名称 public static void _FailLevel(string levelName) { StatisticsClass.CallStatic("failLevel", levelName); PottingLog("_FailLevel"); } //得到虚拟货币奖励,coin-虚拟货币数额,source-获取渠道(例:游戏奖励、玩家赠送、节日赠送、打怪掉落等) public static void _Bonus(double coin, int source) { StatisticsClass.CallStatic("bonus", coin, source); PottingLog("_Bonus"); } //得到道具奖励,itemName-道具名称,amount-数量,price-价格,source-奖励方法 public static void _BonusItem(string itemName, int amount, double price, int source) { StatisticsClass.CallStatic("bonus", itemName, amount, price, source); PottingLog("_BonusItem"); } /// /// 自定义埋点 /// /// 事件名字 /// 事件参数 public static void _CustomEvent(string key, Dictionary lable) { var jsonString = Json.Serialize(lable); StatisticsClass.CallStatic("customEvent", key, jsonString); PottingLog("_CustomEvent--key"); } /// /// facebook自定义埋点 /// /// 事件名字 /// 事件参数 public static void _CustomEventFacebook(string key, Dictionary lable) { var jsonString = Json.Serialize(lable); StatisticsClass.CallStatic("customEventFacebook", key, jsonString); PottingLog("_CustomEvent--key"); } public static void _CustomLogEventFacebook(string key, double valueToSum, Dictionary lable) { var jsonString = Json.Serialize(lable); StatisticsClass.CallStatic("faceBookLogEvent", key, valueToSum, jsonString); PottingLog("_CustomLogEventFacebook"); } /// /// firebase自定义埋点 /// /// 事件名字 /// 事件参数 public static void _CustomEventFirebase(string key, Dictionary lable) { var jsonString = Json.Serialize(lable); StatisticsClass.CallStatic("customEventFirebase", key, jsonString); PottingLog("_CustomEvent--key"); } /// /// appsflyer自定义埋点 /// /// 事件名字 /// 事件参数 public static void _CustomEventAppsflyer(string key, Dictionary lable) { var jsonString = Json.Serialize(lable); StatisticsClass.CallStatic("customEventAf", key, jsonString); PottingLog("_CustomEvent--key"); } /// /// umeng自定义埋点 /// /// 事件名字 /// 事件参数 public static void _CustomEventUmeng(string key, Dictionary lable) { var jsonString = Json.Serialize(lable); StatisticsClass.CallStatic("customEventUm", key, jsonString); PottingLog("_CustomEvent--key"); } //内购相关函数 /// /// 调起内购,productId-内购产品ID /// /// 内购产品ID public static void _InternalPay(string productId, string actId = "", string accountId = "youloft", string profileId = "youloft") { AndroidJavaObject PayClass = new AndroidJavaObject("com.youloft.googlepay.PayUtil"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); PayClass.Call("InternalPay", jo, productId, "inapp", actId, accountId, profileId); } /// /// 订阅 /// /// 订阅的商品id public static void Subscription(string productId, string actId = "") { AndroidJavaObject PayClass = new AndroidJavaObject("com.youloft.googlepay.PayUtil"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); PayClass.Call("InternalPay", jo, productId, "subs", actId); } /// /// 处理已支付没有消耗的订单 /// /// inapp(应用内购买);subs(订阅) public static void CheckPurchases(string skuType) { AndroidJavaObject PayClass = new AndroidJavaObject("com.youloft.googlepay.PayUtil"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); PayClass.Call("checkPurchases", jo, skuType); } //恢复购买相关函数 /// /// 恢复购买相关函数 仅ios /// public static void _Restore() { } /// /// 查询商品价格 /// /// 商品id public static void _querySkuDetail(string[] skus) { var jsonString = Json.Serialize(skus); AndroidJavaObject PayClass = new AndroidJavaObject("com.youloft.googlepay.PayUtil"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); PayClass.Call("querySkuDetail", jo, jsonString); } /// /// 查询缓存的购买交易 /// /// inapp(应用内购买);subs(订阅) public static void QueryPurchases(string skuType) { AndroidJavaObject PayClass = new AndroidJavaObject("com.youloft.googlepay.PayUtil"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); PayClass.Call("queryPurchases", jo, skuType); } /// _LoadAppOpenAd /// 查询历史购买交易 /// /// 类型 inapp(应用内购买);subs(订阅) public static void QueryHistoryPurchases(string skuType) { AndroidJavaObject PayClass = new AndroidJavaObject("com.youloft.googlepay.PayUtil"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); PayClass.Call("queryHistoryPurchases", jo, skuType); } //发送本地通知 /// /// 发送本地通知 /// /// /// 标题 /// 内容 /// 延迟时间 public static void _SetLocalNotification(int id, string title, string content, int delayTime) { NotificationClass.CallStatic("SetLocalNotification", id, title, content, delayTime); } //取消单个本地通知 /// /// 取消单个本地通知 /// /// 通知id public static void _CancelLocalNotification(int id) { NotificationClass.CallStatic("CancelLocalNotification", id); } //取消全部本地通知 /// /// 取消全部本地通知 /// public static void _CancelAllLocalNotification() { NotificationClass.CallStatic("CancelAllLocalNotification"); } /// /// 分享文本 /// /// 需要分享的文本 public static void _ShareText(string extraText) { AndroidJavaClass ShareUtilClass = new AndroidJavaClass("com.youloft.core.utils.ShareUtil"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); ShareUtilClass.CallStatic("shareText", jo, extraText); } public static void _InitApplePaySharedSecretKey(string sharedSecret) { } /// /// 游戏登录 /// public static void _GameLogin() { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); if (GoogleGameManagerClass == null) { AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager"); GoogleGameManagerClass = jcgg.CallStatic("getInstance"); } GoogleGameManagerClass.Call("loginGame", jo); } /// /// 加载存档 /// public static void _LoadGame() { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); if (GoogleGameManagerClass == null) { AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager"); GoogleGameManagerClass = jcgg.CallStatic("getInstance"); } GoogleGameManagerClass.Call("loadGame", jo, "gamesave"); } /// /// 上传存档 /// /// 存档数据 public static void _SavedGame(string data) { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); if (GoogleGameManagerClass == null) { AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager"); GoogleGameManagerClass = jcgg.CallStatic("getInstance"); } GoogleGameManagerClass.Call("saveGame", jo, "gamesave", data); } /// /// 加载存档 /// /// 存档名字 public static void _LoadGame(string name) { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); if (GoogleGameManagerClass == null) { AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager"); GoogleGameManagerClass = jcgg.CallStatic("getInstance"); } GoogleGameManagerClass.Call("loadGame", jo, name); } /// /// 上传存档 /// /// 存档数据 /// 存档名字 public static void _SavedGame(string name, string data) { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); if (GoogleGameManagerClass == null) { AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager"); GoogleGameManagerClass = jcgg.CallStatic("getInstance"); } GoogleGameManagerClass.Call("saveGame", jo, name, data); } public static void _DeleteGame(string name) { } public static void _LoadAllGame() { } public static void _ResolveConflictGame(string name, string data) { } /// /// 显示排行榜 /// /// public static void _ShowLeaderBoard() { if (GoogleGameManagerClass == null) { AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager"); GoogleGameManagerClass = jcgg.CallStatic("getInstance"); } GoogleGameManagerClass.Call("showLeaderBoard"); } /// /// 显示指定排行榜 /// /// 排行榜id public static void _ShowLeaderBoard(string id, TimeSpan timeSpan) { if (GoogleGameManagerClass == null) { AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager"); GoogleGameManagerClass = jcgg.CallStatic("getInstance"); } GoogleGameManagerClass.Call("showLeaderBoard", id, (int)timeSpan); } /// /// 拉取排行榜个人信息 /// /// 排行榜id public static void _LoadLeaderBoard(string id, TimeSpan timeSpan) { if (GoogleGameManagerClass == null) { AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager"); GoogleGameManagerClass = jcgg.CallStatic("getInstance"); } GoogleGameManagerClass.Call("loadLeaderBoard", id, (int)timeSpan); } /// /// 提交排行榜分数 /// /// 排行榜id /// 分数 public static void _SubmitLeaderBoardScore(string id, long score) { if (GoogleGameManagerClass == null) { AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager"); GoogleGameManagerClass = jcgg.CallStatic("getInstance"); } GoogleGameManagerClass.Call("submitLeaderBoardScore", id, score); } /// /// 检查谷歌服务是否可用 /// /// 0-可用; public static int _isGooglePlayServicesAvailable() { AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager"); return jcgg.CallStatic("isGooglePlayServicesAvailable"); } /// /// 打开谷歌应用内评论 /// public static void launchReview() { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); AndroidJavaClass jcrm = new AndroidJavaClass("com.youloft.google.GoogleReviewManager"); jcrm.CallStatic("launchReview", jo); } public static void _YouLoftGameInfo(Dictionary lable) { _CustomEvent("youloftgameinfo", lable); } public static void _ShareImgByFacebook(string path) { AndroidJavaObject LoginClass = new AndroidJavaObject("com.youloft.login.LoginActivity"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); LoginClass.CallStatic("jumpShare", jo, path); } public static void _openFriendFinderDeepLink() { AndroidJavaObject LoginClass = new AndroidJavaObject("com.youloft.login.LoginUtils"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); LoginClass.CallStatic("openFriendFinderDeepLink", jo); } public static void _uploadPhoto(string path) { AndroidJavaObject LoginClass = new AndroidJavaObject("com.youloft.login.LoginUtils"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); LoginClass.CallStatic("uploadPhoto", jo, path); } public static void _uploadVideo(string path) { AndroidJavaObject LoginClass = new AndroidJavaObject("com.youloft.login.LoginUtils"); AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); LoginClass.CallStatic("uploadVideo", jo, path); } public static void _hideLoading() { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); jo.Call("hideLoading"); } public static void _checkLicense() { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); jo.Call("doCheck"); } }