1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using DouYouSdk;
- using UniFramework.Event;
- using UnityEngine;
- namespace GFGGame.Launcher
- {
- public class AliPayManagerInit : SingletonBase<AliPayManagerInit>
- {
- public IAliSDKListener aliSDKListener;
-
- private static AndroidJavaClass _unityPlayerClass;
- private static AndroidJavaObject _mainActivity;
- public void InitSDK()
- {
- if (_unityPlayerClass == null)
- {
- _unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
- }
- if (_mainActivity == null)
- {
- _mainActivity = _unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
- }
- AliDKHandler eventHandler = GameObject.Find("AliPayGameObject")?.GetComponent<AliDKHandler>();
- if (eventHandler == null)
- {
- GameObject gameObject = new GameObject("AliPayGameObject");
- gameObject.AddComponent<AliDKHandler>();
- GameObject.DontDestroyOnLoad(gameObject);
- }
- }
- /// <summary>
- /// 调起支付
- /// </summary>
- public void ShowSwitchPayment(string orderStr, string callBackObjectName = "AliPayGameObject", string callBackFuncName = "AliPayReceive")
- {
- Instance.CallDouYouMainActivity("AliPay", orderStr, callBackObjectName, callBackFuncName);
- }
- private void CallDouYouMainActivity(string functionName, params object[] args)
- {
- _mainActivity?.Call(functionName, args);
- }
- public class AliDKHandler : AliPaySDKHandler
- {
- /// <summary>
- /// 支付回调
- /// </summary>
- /// <param name="message">支付回调</param>
- public override void AliPayReceiveAb(string message)
- {
- Debug.Log($"AliPayReceiveAb:{message}");
- AliPayManagerInit.Instance.aliSDKListener?.AliPayReceiveAb(message);
- }
- }
- }
- }
|