添加OAID证书读取方法测试

main
Yuntao Hu 2025-11-12 19:29:37 +08:00
parent 0c79870316
commit 690f2c9c78
4 changed files with 95 additions and 2 deletions

View File

@ -22,6 +22,7 @@ public class DeviceIdHandle : MonoBehaviour
}
}
// 原有方法保留
public void GetOAID()
{
if (oaidActivity == null)
@ -34,11 +35,63 @@ public class DeviceIdHandle : MonoBehaviour
}
// 调用 Android 的 GetOAID 方法
AndroidJavaObject utils = new AndroidJavaObject("com.example.oaidtest2.OAID_Activity");
utils.Call("GetOAID", gameObject.name, "OnOAIDReceived");
}
//oaidActivity.Call("GetOAID", gameObject.name, "OnOAIDReceived");
// 新增:从 Resources 加载证书并在调用 GetOAID 之前初始化 SDK同步、用于快速验证
// resourceName 为 Resources 下资源名(不含扩展名),例如文件 Assets/Resources/cert.pem -> resourceName = "cert"
public void GetOAID_FromResources(string resourceName = "com.phxh.official.nld.cert")
{
// 同步加载证书 TextAsset
TextAsset txt = Resources.Load<TextAsset>(resourceName);
if (txt == null)
{
Debug.LogError($"Load certificate failed: Resources/{resourceName} not found. Put your cert file under Assets/Resources and omit extension when calling.");
#if UNITY_EDITOR
// 在编辑器中为了便于调试,也可以输出示例路径
Debug.Log($"Editor path suggestion: Assets/Resources/{resourceName}.pem or .txt");
#endif
return;
}
string cert = txt.text;
if (string.IsNullOrEmpty(cert))
{
Debug.LogError("Certificate content is empty.");
return;
}
#if UNITY_ANDROID && !UNITY_EDITOR
// 获取当前 Android Activity 并调用插件初始化接口
try
{
using (AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
oaidActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
}
AndroidJavaObject utils = new AndroidJavaObject("com.example.oaidtest2.OAID_Activity");
try
{
utils.Call("SetCertContent", cert); // <- 根据 SDK 修改方法名与签名
}
catch (System.Exception ex)
{
Debug.LogWarning("SetCertificate call failed (check method name/signature): " + ex);
}
// 初始化/设置证书后再请求 OAID
utils.Call("GetOAID", gameObject.name, "OnOAIDReceived");
}
catch (System.Exception e)
{
Debug.LogError("GetOAID_FromResources failed: " + e);
}
#else
Debug.Log("GetOAID_FromResources: certificate loaded (editor or non-Android). Android call skipped.\ncontent: " + cert);
#endif
}
// 回调方法,用于接收 OAID

View File

@ -0,0 +1,33 @@
-----BEGIN CERTIFICATE-----
MIIFozCCA4ugAwIBAgIDAYVKMA0GCSqGSIb3DQEBCwUAMIGAMQswCQYDVQQGEwJD
TjEQMA4GA1UECAwHQmVpamluZzEMMAoGA1UECgwDTVNBMREwDwYDVQQLDAhPQUlE
X1NESzEeMBwGA1UEAwwVY29tLmJ1bi5taWl0bWRpZC5zaWduMR4wHAYJKoZIhvcN
AQkBFg9tc2FAY2FpY3QuYWMuY24wHhcNMjUxMDI2MTQxMTEwWhcNMjYxMDI3MTQx
MTEwWjCBlDELMAkGA1UEBhMCQ04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcM
B0JlaWppbmcxGjAYBgNVBAoMEWh1b2VyZ3Vvc2luYWx1b2RhMR4wHAYDVQQDDBVj
b20ucGh4aC5vZmZpY2lhbC5ubGQxJTAjBgkqhkiG9w0BCQEWFm1heXVhbnpoZW5n
QHBoeGhjZC5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCyGC9T
3GW4BSsvnVNqb8+HlnjJAQvTPd7H13m1f945uUsUYYMaaZuICYjb4qefZUyQgyxB
UTYfBOTpE7ccdcNoZgCp05RTng30zvkc4pjawJIkNeIC2NGlN7RquO4Ka/06LSuq
5N+bfL78E0MwZAinoxSswf/yNY5R1LJ2b3I7BnW7rVSb7KbB0Q4z5KmuJ04hPVl7
BtSdfVnvnRVTBDRm/cMgyupEl+CCGW8HUejzPHdHeHRK1rx7fuwQI+5jgMmDYRNX
ZD4AmJ0vClurQR5avN2xOuxB8HbtB+lQitsNnQCvYY1Xp4s7FtfmT6JzDNQ//vRg
XxYrOaVFfoY/ugrO+SfZtqej+mdKR3KgOaAA75t8zcJfM6WGrbPJl3xHc2bhD4kG
wRkTAcHJ7WQOIrWz85CPCfIoYh8nZlBlsCNamJJh6Pl2nAtmnfMtDuYZJo/2QK6J
/KFtywsYIekU6fiRsJaaunBf5sD9IxbvJcRRB+HRCsySKYEg8z7Xlh90fHimfUgT
0Gt44/o+nzPh7Cq9Ay6dWtMxYFx78Z1epapOJdUNpZWIET8wQHriJmbJ18TlidGR
AW85kW2ka2cr4u6Ed68JQa+nN+kbS0dDeuvOBGOsiqqCy5aeA0oz88HRWWIga02P
LTZbEs4PdYrNzHWCISjnk34KpwwxYJUn6Zpy1wIDAQABoxAwDjAMBgNVHRMBAf8E
AjAAMA0GCSqGSIb3DQEBCwUAA4ICAQCIbUS1jk++1oVVoXf7gzgmopWJIFa6hn0L
nHjQciYMAmTcKY1WmaCAZm5XRSmqmSyroinCwsE6Be7prP7vzFxL1r03EPIEbo+x
HUD83RVOgky4tBBG8+lZ7mci2jDjH/7apTq9NLz3V0vUf5iqG5cOJ1k3HsJNvrAv
n3dN7upq6lbh9RjaiY5URan3sTzvjx9085alrsIjjQ8fDCEcjhcssuVUrYpe7P4d
C/LBmaen7uMVu3h7nM0+SppyR6070J/lPlnQSM8mTCNLDdEjg1owKwLyOs5TNe3Z
FMgkyFaWDXyFV1gOp1ypI6MiUF2kT0VlBlvu1duygN9JAt6p4+QRHWwc2/uKApaz
SX5rQWnuIcxWVNrde7Smjkif9iINrfO+3DJdEZxHhhCPmi3uHikoJDuoaq+ZBJEI
nLTXo4NzWqYjmIkPkqO5vx7GwCdY4U0KyNjvMExu86FxYKLewkN7ksPF18gia79V
sg7fdUR6nnqu/qnHImGuvTIbWS342ZyJ3k6MIYF2YjYwGU6tPajFzb8rIEdbZHAb
5iZbwzUdmwWJIyK9U/+/mlFlX5evji2v3CIWC6F60FCuH9ZdQmja0Fq496VS8uYP
i5cLeFU6B39fOceoRIg53fhmK4iVcGu7awxkNb/J6yUp7bbOHdHyVH/E3XT0SgIY
W6RPsf5tIw==
-----END CERTIFICATE-----

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: afa1be6f67445f34ea2039e292e56ff7
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: