using UnityEngine;
namespace GFGGame
{
public class DouYouSDK
{
private static AndroidJavaClass _unityPlayerClass;
private static AndroidJavaObject _douYouMainActivity;
private static DouYouSDK _instance;
#region basic code
public static DouYouSDK Instance()
{
if (null == _instance)
{
_instance = new DouYouSDK();
}
return _instance;
}
//调用桥接的 DouYouMainActivity.java 对象的方法
private void CallDouYouMainActivity(string functionName, params object[] args)
{
_douYouMainActivity.Call(functionName, args);
}
//临时获取adId,之后需要配置到配置文件里面,已达到热更
public string GetAdId()
{
return "123";
}
#endregion
///
/// douYou sdk init
///
///
public void InitDouYouSdk(string adId)
{
if (_unityPlayerClass == null)
{
_unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
}
if (_douYouMainActivity == null)
{
_douYouMainActivity = _unityPlayerClass.GetStatic("currentActivity");
}
DouYouSDKHandler eventHandler = GameObject.Find("DouYouSDKGameObject")?.GetComponent();
if (eventHandler == null)
{
GameObject gameObject = new GameObject("DouYouSDKGameObject");
gameObject.AddComponent();
GameObject.DontDestroyOnLoad(gameObject);
}
Instance().CallDouYouMainActivity("initDouYou", adId);
}
///
/// 显示登录界面
///
public void ShowLogin()
{
Instance().CallDouYouMainActivity("extShowLogin");
}
///
/// 角色登录数据上报
///
///
///
///
///
public void ReportRoleLogin(string id, string level, string nickname, string sid)
{
Instance().CallDouYouMainActivity("extReportRoleLogin", id, level, nickname, sid);
}
///
/// 角色数据上报
///
///
///
///
///
public void ReportRole(string id, string level, string nickname, string sid)
{
Instance().CallDouYouMainActivity("extReportRole", id, level, nickname, sid);
}
///
/// 退出登录
///
public void ShowLogout()
{
Instance().CallDouYouMainActivity("extShowLogout");
}
///
/// 退出app
///
public void ExitApp()
{
Instance().CallDouYouMainActivity("extExitApp");
}
///
/// 调起支付
///
public void ShowSwitchPayment()
{
Instance().CallDouYouMainActivity("extShowSwitchPayment");
}
///
/// cp激励广告订单id 登录后用户uid 角色id
///
public void OpenGroMoreAD()
{
Instance().CallDouYouMainActivity("extOpenGroMoreAD");
}
}
}