添加Transfer SDK 类
This commit is contained in:
parent
9090c1102c
commit
e08fa9a482
|
|
@ -70,6 +70,7 @@ public class AdjustManager : D_MonoSingleton<AdjustManager>
|
||||||
private void AttributionChangedDelegate(AdjustAttribution attribution)
|
private void AttributionChangedDelegate(AdjustAttribution attribution)
|
||||||
{
|
{
|
||||||
Debug.Log("Attribution changed network: " + attribution.Network + " campaign: " + attribution.Campaign + " adgroup: " + attribution.Adgroup + " creative: " + attribution.Creative);
|
Debug.Log("Attribution changed network: " + attribution.Network + " campaign: " + attribution.Campaign + " adgroup: " + attribution.Adgroup + " creative: " + attribution.Creative);
|
||||||
|
SetAttributionData(attribution);
|
||||||
if (m_start) return;
|
if (m_start) return;
|
||||||
m_start = true;
|
m_start = true;
|
||||||
callbackNetwork = attribution.Network;
|
callbackNetwork = attribution.Network;
|
||||||
|
|
@ -81,6 +82,17 @@ public class AdjustManager : D_MonoSingleton<AdjustManager>
|
||||||
InvokeRepeating(nameof(CallGetAttributionAsync), 0, 1);
|
InvokeRepeating(nameof(CallGetAttributionAsync), 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SetAttributionData(AdjustAttribution att)
|
||||||
|
{
|
||||||
|
var network = att.Network;
|
||||||
|
if(string.IsNullOrEmpty(network)) network = "Organic";
|
||||||
|
PlayerPrefsUtils.SavePlayerPrefsString(_adjustNetwork, network);
|
||||||
|
PlayerPrefsUtils.SavePlayerPrefsString(_adjustCampaign, att?.Campaign);
|
||||||
|
PlayerPrefsUtils.SavePlayerPrefsString(_adjustAdgroup, att?.Adgroup);
|
||||||
|
PlayerPrefsUtils.SavePlayerPrefsString(_adjustCreative, att?.Creative);
|
||||||
|
PlayerPrefsUtils.SavePlayerPrefsString(_adjustClickLabel, att?.ClickLabel);
|
||||||
|
}
|
||||||
|
|
||||||
private async Task CallGetAttributionAsync()
|
private async Task CallGetAttributionAsync()
|
||||||
{
|
{
|
||||||
callGetTimes++;
|
callGetTimes++;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 154bbe5c15f564b5aa6ef29b783e453e
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,158 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace WZ
|
||||||
|
{
|
||||||
|
#region Android接口代理类
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// RequestListener接口代理
|
||||||
|
/// </summary>
|
||||||
|
class RequestListenerProxy : AndroidJavaProxy
|
||||||
|
{
|
||||||
|
private Action<bool,string> _callback;
|
||||||
|
|
||||||
|
public RequestListenerProxy(Action<bool,string> callback) : base("com.drive.master.game.RequestListener")
|
||||||
|
{
|
||||||
|
_callback = callback;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public class TransferAndroidClass : MonoBehaviour
|
||||||
|
{
|
||||||
|
private static AndroidJavaClass transferSDKClass = null;
|
||||||
|
private static AndroidJavaObject currentActivity = null;
|
||||||
|
public static void Init()
|
||||||
|
{
|
||||||
|
if (transferSDKClass == null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var name = "com.drive.master.game.TransferSDK";
|
||||||
|
LoggerUtils.Debug("TransferSDK初始化: class name = "+name);
|
||||||
|
transferSDKClass = new AndroidJavaClass(name);
|
||||||
|
// 获取Unity当前Activity
|
||||||
|
using (AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
|
||||||
|
{
|
||||||
|
currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
LoggerUtils.Error("TransferSDK初始化失败: " + e.Message);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 调用init方法
|
||||||
|
transferSDKClass.CallStatic("init");
|
||||||
|
}
|
||||||
|
|
||||||
|
#region VPN权限相关
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 检查是否有VPN权限
|
||||||
|
/// </summary>
|
||||||
|
public static bool IsVpnPermissionGranted()
|
||||||
|
{
|
||||||
|
if (transferSDKClass == null)
|
||||||
|
{
|
||||||
|
LoggerUtils.Warning("TransferSDK未初始化");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return transferSDKClass.CallStatic<bool>("isVpnPermissionGranted");
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
LoggerUtils.Error("检查VPN权限失败: " + e.Message);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 申请VPN权限并连接VPN
|
||||||
|
/// </summary>
|
||||||
|
public static void RequestVpnPermission(Action<bool,string> callback)
|
||||||
|
{
|
||||||
|
if (transferSDKClass == null)
|
||||||
|
{
|
||||||
|
LoggerUtils.Warning("TransferSDK未初始化");
|
||||||
|
callback?.Invoke(false,"TransferSDK未初始化");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
transferSDKClass.CallStatic("requestVpnPermission", currentActivity, new RequestListenerProxy(callback));
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
LoggerUtils.Error("申请VPN权限失败: " + e.Message);
|
||||||
|
callback?.Invoke(false,"申请VPN权限失败: " + e.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 检查VPN连接状态
|
||||||
|
/// </summary>
|
||||||
|
public static bool IsVpnConnected()
|
||||||
|
{
|
||||||
|
if (transferSDKClass == null)
|
||||||
|
{
|
||||||
|
LoggerUtils.Warning("TransferSDK未初始化");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return transferSDKClass.CallStatic<bool>("isVpnConnected");
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
LoggerUtils.Error("检查VPN状态失败: " + e.Message);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region AdMob相关
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 检查是否能使用AdMob
|
||||||
|
/// </summary>
|
||||||
|
public static void IsAllowAdMob(Action<bool, string> callback)
|
||||||
|
{
|
||||||
|
if (transferSDKClass == null)
|
||||||
|
{
|
||||||
|
Debug.LogWarning("TransferSDK未初始化");
|
||||||
|
callback?.Invoke(false, "SDK未初始化");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
transferSDKClass.CallStatic("isAllowAdMob", new RequestListenerProxy(callback));
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
LoggerUtils.Error("检查AdMob权限失败: " + e.Message);
|
||||||
|
callback?.Invoke(false, "SDK调用异常");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c5bca977a1cdb4f9498b996d89b1d9ab
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Loading…
Reference in New Issue