123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927 |
- 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<AndroidJavaObject>("getInstance");
- private static AndroidJavaObject GoogleGameManagerClass;
- static PottingMobileAndroid()
- {
- InitManager();
- }
- /// <summary>
- /// 初始化SDK
- /// </summary>
- /// <param name="jsonAds">广告id</param>
- /// <param name="facebookid"></param>
- /// <param name="app_flyers_id"></param>
- /// <param name="umengId"></param>
- 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<AndroidJavaObject>("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();
- }
- }
- /// <summary>
- /// 初始化sdk
- /// </summary>
- public static void InitializeSdk()
- {
- InitializeSdk(PottingMobileContent.AdJsonString, AdManagerSettings.Instance.AndroidFacebookID,
- PottingMobileContent.AppsFlyerAppid, PottingMobileContent.UmengAppid, PottingMobileContent.umengChannel,
- "", PottingMobileContent.PangleAppID);
- }
- /// <summary>
- /// 设置debug日志开关
- /// </summary>
- /// <param name="isDebug"></param>
- public static void withLogDebug(bool isDebug)
- {
- YouLoftClass.CallStatic("setDebug", isDebug);
- PottingMobileBase.isDebug = isDebug;
- }
- /// <summary>
- /// 开启定时自动加载广告
- /// </summary>
- 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<AndroidJavaObject>("currentActivity");
- StatisticsClass.CallStatic("validateAndTrackInAppPurchase", jo, "", signature, purchaseData, price, currency);
- }
- /// <summary>
- /// 提交反馈接口
- /// </summary>
- /// <param name="msg">反馈信息</param>
- /// <param name="connect">联系方式</param>
- /// <param name="docInfo">存档</param>
- public static void _FeedBackSubmit(string msg, string connect, string docInfo)
- {
- YouLoftClass.CallStatic(
- "feedback",
- msg, connect, docInfo
- );
- }
- /// <summary>
- /// 显示webview
- /// </summary>
- /// <param name="url"></param>
- 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<AndroidJavaObject>("currentActivity");
- webViewClass.CallStatic("openHtml", jo, url);
- }
- public static void _showFeedBackHtml(Dictionary<string, string> lable = null)
- {
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- var jsonString = Json.Serialize(lable);
- YouLoftClass.CallStatic(
- "showFeedBackHtml", jo, jsonString);
- }
- /// <summary>
- /// 打开bbs
- /// </summary>
- /// <param name="bbsId">论坛id</param>
- /// <param name="userId">用户唯一标识</param>
- public static void _Showbbs(string bbsId, string userId)
- {
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- YouLoftClass.CallStatic(
- "showbbs", jo, bbsId, userId);
- }
- /// <summary>
- /// 打开bbs
- /// </summary>
- /// <param name="bbsId">论坛id</param>
- /// <param name="emial">用户邮箱</param>
- public static void _ShowBBSWithEmail(string bbsId, string emial)
- {
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- YouLoftClass.CallStatic(
- "showbbsEmail", jo, bbsId, emial);
- }
- /// <summary>
- /// 显示推荐界面
- /// </summary>
- public static void _ShowGameRecommendView()
- {
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- YouLoftClass.CallStatic(
- "showGameRecommend", jo);
- }
- /// <summary>
- /// 谷歌登录
- /// </summary>
- public static void _LoginUseGoogle()
- {
- AndroidJavaObject LoginClass = new AndroidJavaObject("com.youloft.login.LoginActivity");
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("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<AndroidJavaObject>("currentActivity");
- LoginClass.CallStatic("jumpGoogle", jo, clientId);
- }
- /// <summary>
- /// /谷歌退出登录
- /// </summary>
- public static void _LogOutGoogle()
- {
- AndroidJavaObject LoginClass = new AndroidJavaObject("com.youloft.login.LoginUtils");
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- LoginClass.CallStatic("loginOutToGoogle", jo);
- }
- /// <summary>
- /// Facebook登录
- /// </summary>
- public static void _LoginUseFacebook()
- {
- AndroidJavaObject LoginClass = new AndroidJavaObject("com.youloft.login.LoginActivity");
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- LoginClass.CallStatic("jump", jo, 0);
- }
- /// <summary>
- /// Facebook退出登录
- /// </summary>
- public static void _LogOutFacebook()
- {
- AndroidJavaObject LoginClass = new AndroidJavaObject("com.youloft.login.LoginUtils");
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- LoginClass.CallStatic("loginOutToFacebook");
- }
- public static void _GetADID()
- {
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- AdClass.Call(
- "getADID", jo);
- PottingLog("andorid_GetADID");
- }
-
- /// <summary>
- /// 重置同意的链接
- /// </summary>
- public static void _consentInformationReset()
- {
- AdClass.Call(
- "consentInformationReset");
- PottingLog("_consentInformationReset");
- }
- /// <summary>
- /// 播放插屏广告
- /// </summary>
- public static void _ShowInterstitialAd()
- {
- AdClass.Call(
- "showInterstitialAd");
- PottingLog("_ShowInterstitialAd");
- }
- /// <summary>
- /// 手动加载插屏广告
- /// </summary>
- 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");
- }
- /// <summary>
- /// 手动加载视频广告
- /// </summary>
- public static void _LoadRewardedVideoAd()
- {
- AdClass.Call(
- "loadRewardedVideoAd");
- PottingLog("PottingMobileAndroid:_LoadRewardedVideoAd");
- }
- /// <summary>
- /// 播放视频广告
- /// </summary>
- public static void _ShowRewardedVideoAd()
- {
- AdClass.Call(
- "showRewardedVideoAd");
- PottingLog("PottingMobileAndroid:_ShowRewardedVideoAd");
- }
- /// <summary>
- /// 播放指定的视频广告
- /// </summary>
- /// <param name="adid">视频广告id</param>
- public static void _ShowRewardedVideoAd(string adid)
- {
- AdClass.Call(
- "showRewardedVideoAd", adid);
- PottingLog("PottingMobileAndroid:_ShowRewardedVideoAd");
- }
- /// <summary>
- /// 判断是否有缓存广告
- /// </summary>
- /// <returns>返回是否有广告</returns>
- public static bool _HasRewardedVideo()
- {
- return AdClass.Call<bool>(
- "hasRewardedVideo");
- }
- /// <summary>
- /// 判断指定id是否有缓存广告
- /// </summary>
- /// <param name="adId"></param>
- /// <returns>返回是否有广告</returns>
- public static bool _HasRewardedVideo(string adId)
- {
- return AdClass.Call<bool>(
- "hasRewardedVideo", adId);
- }
- /// <summary>
- /// 加载并显示Banner广告
- /// </summary>
- /// <param name="adPostion">Banner位置</param>
- /// <param name="adSize">Banner大小</param>
- public static void _LoadAndShowBannerAd(AdPosition adPostion, AdSize adSize)
- {
- PottingLog("_LoadAndShowBannerAd--" + adPostion);
- AdClass.Call(
- "loadAndShowBannerAd", (int)adPostion, (int)adSize);
- }
- /// <summary>
- /// 加载并显示Banner广告
- /// </summary>
- /// <param name="adPostion">Banner位置</param>
- public static void _LoadAndShowBannerAd(AdPosition adPostion)
- {
- PottingLog("_LoadAndShowBannerAd--" + adPostion);
- _LoadAndShowBannerAd(adPostion, AdSize.H_50);
- }
- /// <summary>
- /// 隐藏Banner广告
- /// </summary>
- 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");
- }
- /// <summary>
- /// 内购支付成功埋点
- /// </summary>
- /// <param name="price">价格,固定为美元</param>
- 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-关卡名称
- /// <summary>
- /// 开始关卡,levelName-关卡名称
- /// </summary>
- /// <param name="levelName"></param>
- 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-关卡名称
- /// <summary>
- /// 关卡完成,levelName-关卡名称
- /// </summary>
- /// <param name="levelName">关卡名称</param>
- public static void _FinishLevel(string levelName)
- {
- StatisticsClass.CallStatic("finishLevel", levelName);
- PottingLog("_FinishLevel");
- }
- //关卡失败,levelName-关卡名称
- /// <summary>
- /// 关卡失败,levelName-关卡名称
- /// </summary>
- /// <param name="levelName">关卡名称</param>
- 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");
- }
- /// <summary>
- /// 自定义埋点
- /// </summary>
- /// <param name="key">事件名字</param>
- /// <param name="lable">事件参数</param>
- public static void _CustomEvent(string key, Dictionary<string, string> lable)
- {
- var jsonString = Json.Serialize(lable);
- StatisticsClass.CallStatic("customEvent", key, jsonString);
- PottingLog("_CustomEvent--key");
- }
- /// <summary>
- /// facebook自定义埋点
- /// </summary>
- /// <param name="key">事件名字</param>
- /// <param name="lable">事件参数</param>
- public static void _CustomEventFacebook(string key, Dictionary<string, string> lable)
- {
- var jsonString = Json.Serialize(lable);
- StatisticsClass.CallStatic("customEventFacebook", key, jsonString);
- PottingLog("_CustomEvent--key");
- }
- public static void _CustomLogEventFacebook(string key, double valueToSum, Dictionary<string, string> lable)
- {
- var jsonString = Json.Serialize(lable);
- StatisticsClass.CallStatic("faceBookLogEvent", key, valueToSum, jsonString);
- PottingLog("_CustomLogEventFacebook");
- }
- /// <summary>
- /// firebase自定义埋点
- /// </summary>
- /// <param name="key">事件名字</param>
- /// <param name="lable">事件参数</param>
- public static void _CustomEventFirebase(string key, Dictionary<string, string> lable)
- {
- var jsonString = Json.Serialize(lable);
- StatisticsClass.CallStatic("customEventFirebase", key, jsonString);
- PottingLog("_CustomEvent--key");
- }
- /// <summary>
- /// appsflyer自定义埋点
- /// </summary>
- /// <param name="key">事件名字</param>
- /// <param name="lable">事件参数</param>
- public static void _CustomEventAppsflyer(string key, Dictionary<string, string> lable)
- {
- var jsonString = Json.Serialize(lable);
- StatisticsClass.CallStatic("customEventAf", key, jsonString);
- PottingLog("_CustomEvent--key");
- }
- /// <summary>
- /// umeng自定义埋点
- /// </summary>
- /// <param name="key">事件名字</param>
- /// <param name="lable">事件参数</param>
- public static void _CustomEventUmeng(string key, Dictionary<string, string> lable)
- {
- var jsonString = Json.Serialize(lable);
- StatisticsClass.CallStatic("customEventUm", key, jsonString);
- PottingLog("_CustomEvent--key");
- }
- //内购相关函数
- /// <summary>
- /// 调起内购,productId-内购产品ID
- /// </summary>
- /// <param name="productId">内购产品ID</param>
- 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<AndroidJavaObject>("currentActivity");
- PayClass.Call("InternalPay", jo, productId, "inapp", actId, accountId, profileId);
- }
- /// <summary>
- /// 订阅
- /// </summary>
- /// <param name="productId">订阅的商品id</param>
- 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<AndroidJavaObject>("currentActivity");
- PayClass.Call("InternalPay", jo, productId, "subs", actId);
- }
- /// <summary>
- /// 处理已支付没有消耗的订单
- /// </summary>
- /// <param name="skuType">inapp(应用内购买);subs(订阅)</param>
- 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<AndroidJavaObject>("currentActivity");
- PayClass.Call("checkPurchases", jo, skuType);
- }
- //恢复购买相关函数
- /// <summary>
- /// 恢复购买相关函数 仅ios
- /// </summary>
- public static void _Restore()
- {
- }
- /// <summary>
- /// 查询商品价格
- /// </summary>
- /// <param name="skus">商品id</param>
- 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<AndroidJavaObject>("currentActivity");
- PayClass.Call("querySkuDetail", jo, jsonString);
- }
- /// <summary>
- /// 查询缓存的购买交易
- /// </summary>
- /// <param name="skuType">inapp(应用内购买);subs(订阅)</param>
- 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<AndroidJavaObject>("currentActivity");
- PayClass.Call("queryPurchases", jo, skuType);
- }
- /// <summary>_LoadAppOpenAd
- /// 查询历史购买交易
- /// </summary>
- /// <param name="skuType">类型 inapp(应用内购买);subs(订阅)</param>
- 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<AndroidJavaObject>("currentActivity");
- PayClass.Call("queryHistoryPurchases", jo, skuType);
- }
- //发送本地通知
- /// <summary>
- /// 发送本地通知
- /// </summary>
- /// <param name="id"></param>
- /// <param name="title">标题</param>
- /// <param name="content">内容</param>
- /// <param name="delayTime">延迟时间</param>
- public static void _SetLocalNotification(int id, string title, string content, int delayTime)
- {
- NotificationClass.CallStatic("SetLocalNotification", id, title, content, delayTime);
- }
- //取消单个本地通知
- /// <summary>
- /// 取消单个本地通知
- /// </summary>
- /// <param name="id">通知id</param>
- public static void _CancelLocalNotification(int id)
- {
- NotificationClass.CallStatic("CancelLocalNotification", id);
- }
- //取消全部本地通知
- /// <summary>
- /// 取消全部本地通知
- /// </summary>
- public static void _CancelAllLocalNotification()
- {
- NotificationClass.CallStatic("CancelAllLocalNotification");
- }
- /// <summary>
- /// 分享文本
- /// </summary>
- /// <param name="extraText">需要分享的文本</param>
- 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<AndroidJavaObject>("currentActivity");
- ShareUtilClass.CallStatic("shareText", jo, extraText);
- }
- public static void _InitApplePaySharedSecretKey(string sharedSecret)
- {
- }
- /// <summary>
- /// 游戏登录
- /// </summary>
- public static void _GameLogin()
- {
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- if (GoogleGameManagerClass == null)
- {
- AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager");
- GoogleGameManagerClass = jcgg.CallStatic<AndroidJavaObject>("getInstance");
- }
- GoogleGameManagerClass.Call("loginGame", jo);
- }
- /// <summary>
- /// 加载存档
- /// </summary>
- public static void _LoadGame()
- {
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- if (GoogleGameManagerClass == null)
- {
- AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager");
- GoogleGameManagerClass = jcgg.CallStatic<AndroidJavaObject>("getInstance");
- }
- GoogleGameManagerClass.Call("loadGame", jo, "gamesave");
- }
- /// <summary>
- /// 上传存档
- /// </summary>
- /// <param name="data">存档数据</param>
- public static void _SavedGame(string data)
- {
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- if (GoogleGameManagerClass == null)
- {
- AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager");
- GoogleGameManagerClass = jcgg.CallStatic<AndroidJavaObject>("getInstance");
- }
- GoogleGameManagerClass.Call("saveGame", jo, "gamesave", data);
- }
- /// <summary>
- /// 加载存档
- /// </summary>
- /// <param name="name">存档名字</param>
- public static void _LoadGame(string name)
- {
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- if (GoogleGameManagerClass == null)
- {
- AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager");
- GoogleGameManagerClass = jcgg.CallStatic<AndroidJavaObject>("getInstance");
- }
- GoogleGameManagerClass.Call("loadGame", jo, name);
- }
- /// <summary>
- /// 上传存档
- /// </summary>
- /// <param name="data">存档数据</param>
- /// <param name="name">存档名字</param>
- public static void _SavedGame(string name, string data)
- {
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- if (GoogleGameManagerClass == null)
- {
- AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager");
- GoogleGameManagerClass = jcgg.CallStatic<AndroidJavaObject>("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)
- {
- }
- /// <summary>
- /// 显示排行榜
- /// </summary>
- ///
- public static void _ShowLeaderBoard()
- {
- if (GoogleGameManagerClass == null)
- {
- AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager");
- GoogleGameManagerClass = jcgg.CallStatic<AndroidJavaObject>("getInstance");
- }
- GoogleGameManagerClass.Call("showLeaderBoard");
- }
- /// <summary>
- /// 显示指定排行榜
- /// </summary>
- /// <param name="id">排行榜id</param>
- public static void _ShowLeaderBoard(string id, TimeSpan timeSpan)
- {
- if (GoogleGameManagerClass == null)
- {
- AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager");
- GoogleGameManagerClass = jcgg.CallStatic<AndroidJavaObject>("getInstance");
- }
- GoogleGameManagerClass.Call("showLeaderBoard", id, (int)timeSpan);
- }
- /// <summary>
- /// 拉取排行榜个人信息
- /// </summary>
- /// <param name="id">排行榜id</param>
- public static void _LoadLeaderBoard(string id, TimeSpan timeSpan)
- {
- if (GoogleGameManagerClass == null)
- {
- AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager");
- GoogleGameManagerClass = jcgg.CallStatic<AndroidJavaObject>("getInstance");
- }
- GoogleGameManagerClass.Call("loadLeaderBoard", id, (int)timeSpan);
- }
- /// <summary>
- /// 提交排行榜分数
- /// </summary>
- /// <param name="id">排行榜id</param>
- /// <param name="score">分数</param>
- public static void _SubmitLeaderBoardScore(string id, long score)
- {
- if (GoogleGameManagerClass == null)
- {
- AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager");
- GoogleGameManagerClass = jcgg.CallStatic<AndroidJavaObject>("getInstance");
- }
- GoogleGameManagerClass.Call("submitLeaderBoardScore", id, score);
- }
- /// <summary>
- /// 检查谷歌服务是否可用
- /// </summary>
- /// <returns>0-可用;</returns>
- public static int _isGooglePlayServicesAvailable()
- {
- AndroidJavaClass jcgg = new AndroidJavaClass("com.youloft.google.GoogleGameManager");
- return jcgg.CallStatic<int>("isGooglePlayServicesAvailable");
- }
- /// <summary>
- /// 打开谷歌应用内评论
- /// </summary>
- public static void launchReview()
- {
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- AndroidJavaClass jcrm = new AndroidJavaClass("com.youloft.google.GoogleReviewManager");
- jcrm.CallStatic("launchReview", jo);
- }
- public static void _YouLoftGameInfo(Dictionary<string, string> 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<AndroidJavaObject>("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<AndroidJavaObject>("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<AndroidJavaObject>("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<AndroidJavaObject>("currentActivity");
- LoginClass.CallStatic("uploadVideo", jo, path);
- }
- public static void _hideLoading()
- {
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- jo.Call("hideLoading");
- }
- public static void _checkLicense()
- {
- AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- jo.Call("doCheck");
- }
- }
|