Przeglądaj źródła

add xuanyou ios sdk

gdl_123 5 miesięcy temu
rodzic
commit
77cc5ee068
47 zmienionych plików z 2058 dodań i 0 usunięć
  1. 81 0
      Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/QSDKMgr.cs
  2. 11 0
      Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/QSDKMgr.cs.meta
  3. 87 0
      Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/QSdkListener.cs
  4. 11 0
      Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/QSdkListener.cs.meta
  5. 165 0
      Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/YouYiListener.cs
  6. 11 0
      Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/YouYiListener.cs.meta
  7. 178 0
      Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/YouYiSDKiOS.cs
  8. 11 0
      Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/YouYiSDKiOS.cs.meta
  9. 36 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/GoogleService-Info.plist
  10. 180 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/QsdkMgr.mm
  11. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/.DS_Store
  12. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Adjust.bundle/Info.plist
  13. 66 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Adjust.bundle/PrivacyInfo.xcprivacy
  14. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Assets.car
  15. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/FBLPromises_Privacy.bundle/Info.plist
  16. 14 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/FBLPromises_Privacy.bundle/PrivacyInfo.xcprivacy
  17. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/FirebaseCoreInternal_Privacy.bundle/Info.plist
  18. 26 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/FirebaseCoreInternal_Privacy.bundle/PrivacyInfo.xcprivacy
  19. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/FirebaseCore_Privacy.bundle/Info.plist
  20. 26 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/FirebaseCore_Privacy.bundle/PrivacyInfo.xcprivacy
  21. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/FirebaseInstallations_Privacy.bundle/Info.plist
  22. 30 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/FirebaseInstallations_Privacy.bundle/PrivacyInfo.xcprivacy
  23. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/GoogleUtilities_Privacy.bundle/Info.plist
  24. 34 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/GoogleUtilities_Privacy.bundle/PrivacyInfo.xcprivacy
  25. 317 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Headers/SPHSDK_DZ-Swift.h
  26. 25 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Headers/SPProductData.h
  27. 34 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Headers/SPRoleData.h
  28. 143 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Headers/SPSDK.h
  29. 28 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Headers/SPUserData.h
  30. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Info.plist
  31. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Modules/SPHSDK_DZ.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo
  32. 9 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Modules/SPHSDK_DZ.swiftmodule/arm64-apple-ios.abi.json
  33. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Modules/SPHSDK_DZ.swiftmodule/arm64-apple-ios.swiftdoc
  34. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Modules/SPHSDK_DZ.swiftmodule/arm64-apple-ios.swiftmodule
  35. 4 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Modules/module.modulemap
  36. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/QMUIKit.bundle/Info.plist
  37. 23 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/QMUIKit.bundle/PrivacyInfo.xcprivacy
  38. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/QMUIResources.bundle/Assets.car
  39. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/QMUIResources.bundle/Info.plist
  40. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/SPHSDK_DZ
  41. 493 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/_CodeSignature/CodeResources
  42. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/en.lproj/Localizable.strings
  43. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/nanopb_Privacy.bundle/Info.plist
  44. 15 0
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/nanopb_Privacy.bundle/PrivacyInfo.xcprivacy
  45. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/vi.lproj/Localizable.strings
  46. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/zh-Hans.lproj/Localizable.strings
  47. BIN
      Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/zh-Hant.lproj/Localizable.strings

+ 81 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/QSDKMgr.cs

@@ -0,0 +1,81 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace qsdk
+{
+    public class QSdkMgr
+    {
+
+        public static QKSDKInitState InitState = QKSDKInitState.None;
+        public static void SetListener(string listener)
+        {
+#if UNITY_IOS
+            QSDK_SetListener(listener);
+#endif
+        }
+
+        public static void Init()
+        {
+#if UNITY_IOS
+            QSDK_Init();
+#endif
+        }
+        public static void Login()
+        {
+#if UNITY_IOS
+            QSDK_login();
+#endif
+        }
+        public static void Pay(string productId, string productName, string amount, string orderNo,
+                    string callBackUrl, string extrasParams,
+                    string gameName, string serverName, string productDesc, string serverID, string accountID, string roleID, string roleLv)
+        {
+#if UNITY_IOS
+            QSDK_Pay( productId,  productName,  amount,  orderNo,
+                     callBackUrl,  extrasParams,
+                     gameName,  serverName,  productDesc,
+                     serverID,accountID,roleID,roleLv);
+#endif
+        }
+        public static void Logout()
+        {
+#if UNITY_IOS
+            QSDK_logout();
+#endif
+        }
+
+        public static void UpdateRoleInfo(int type,GameRoleInfo roleInfo,string extra)
+        {
+#if UNITY_IOS
+            QSDK_UpdateRoleInfo(type,roleInfo.roleName,roleInfo.roleId,roleInfo.roleLv.ToString(),roleInfo.serverName,roleInfo.serverId.ToString(),extra);
+#endif
+        }
+
+
+
+
+#if UNITY_IOS
+        [DllImport("__Internal")]
+        private static extern void QSDK_SetListener(string callbackGoName);
+
+        [DllImport("__Internal")]
+        private static extern void QSDK_Init();
+
+        [DllImport("__Internal")]
+        private static extern void QSDK_login();
+
+        [DllImport("__Internal")]
+        private static extern void QSDK_Pay(string productId, string productName, string amount, string orderNo,
+                    string callBackUrl, string extrasParams,
+                    string gameName, string serverName, string productDesc,
+                    string serverID, string accountID, string roleID, string roleLv);
+
+
+        [DllImport("__Internal")]
+        private static extern void QSDK_logout();
+
+        [DllImport("__Internal")]
+        private static extern void QSDK_UpdateRoleInfo(int type,string roleName,string roleId,string roleLv, string serverName,string serverId,string extra);
+#endif
+    }
+}

+ 11 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/QSDKMgr.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 40d36881020841c4f8b8107f577fb7b1
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 87 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/QSdkListener.cs

@@ -0,0 +1,87 @@
+using UnityEngine;
+using System.Collections;
+#if UNITY_IOS
+namespace qsdk
+{
+
+    public class QSdkListener : MonoBehaviour
+    {
+
+        private YouYiListener m_YouYiListener;
+
+        public void InitListener(YouYiListener youYiListener)
+        {
+            m_YouYiListener = youYiListener;
+        }
+
+        public void onInitSuccess(string msg)
+        {
+            Debug.Log("QKSDK 初始化:"+ msg);
+            //执行初始化成功操作
+            if (msg == "Fail")
+            {
+                Debug.Log("QKSDK初始化失败");
+                QKGame.InitState = QKSDKInitState.Fail;
+                m_YouYiListener.OnInitFailed();
+            }
+            else
+            {
+                QKGame.InitState = QKSDKInitState.Success;
+                Debug.Log("QKSDK初始化成功");
+                m_YouYiListener.OnInitSuccess();
+            }
+               
+
+        }
+
+        public void onLoginSuccess(string userInfo)
+        {         
+             string[] data = userInfo.Split("[]", System.StringSplitOptions.RemoveEmptyEntries);
+
+            if (data.Length < 5)
+            {
+                m_YouYiListener.OnLoginFailed();
+                return;
+            }
+
+            string token = data[2];
+
+            m_YouYiListener.UID = data[3];
+            m_YouYiListener.TimeSp = data[4];
+            m_YouYiListener.OnLoginSuccess(token);
+        }
+
+        public void onLoginFail(string msg)
+        {
+            m_YouYiListener.OnLoginFailed();
+        }
+
+
+
+        public void onGameLogoutSuccess(string msg)
+        {
+            m_YouYiListener.OnLogoutSuccess();
+            //游戏主动调用logout操作完成回调
+        }
+
+        public void onLogoutSuccess(string msg)
+        {
+            m_YouYiListener.OnLogoutSuccess();
+            //玩家主动点击个人中心切换账号成功回调
+        }
+
+        public void onPaySuccess(string orderInfos)
+        {
+            //购买成功回调
+            m_YouYiListener.OnPaySuccess();
+        }
+
+        public void onPayFail()
+        {
+            //购买失败回调
+            m_YouYiListener.OnPayFailed();
+        }
+       
+    }
+}
+#endif

+ 11 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/QSdkListener.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: eae4e84ab20ffa74ab49dad96b8c2069
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 165 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/YouYiListener.cs

@@ -0,0 +1,165 @@
+using System.Collections;
+using System.Text;
+using UnityEngine;
+using UnityEngine.Networking;
+
+public class YouYiListener : MonoBehaviour
+{
+    private UnityWebRequest m_CheckLoginWebRequest;
+    private string m_Token = string.Empty;
+    private string m_Uid = string.Empty;
+    private string m_TimeSp = string.Empty;
+    private Coroutine m_CheckCoroutine = null;
+
+    public string UID { set { m_Uid = value; } get => m_Uid; }
+    public string TimeSp { set { m_TimeSp = value; } get => m_TimeSp; }
+    public void OnInitSuccess()
+    {
+        SDKMgr.Instance.SetInited(true);
+        SDKEventUtil.SendMessage(SDKCBEnum.INIT_SUCCESS_CB);
+    }
+    
+    public void OnInitFailed()
+    {
+        SDKMgr.Instance.SetInited(false);
+        SDKEventUtil.SendMessage(SDKCBEnum.INIT_FAILED_CB);
+    }
+    
+    public void OnLoginSuccess(string token)
+    {
+        SDKMgr.Instance.SetLogined(true);
+        m_Token = token;
+        // StartCheckLogin();
+        UserInfo userInfo = new UserInfo()
+        {
+            uid = m_Uid,
+            userName = "",
+            token = m_Token,
+            timeSp = m_TimeSp,
+        };
+        SDKMgr.Instance.SetInited(true);
+        SDKEventUtil.SendMessage(SDKCBEnum.LOGIN_SUCCESS_CB, userInfo);
+
+    }
+
+    public void OnLoginFailed()
+    {
+        SDKEventUtil.SendMessage(SDKCBEnum.LOGIN_FAILED_CB);
+        StopCheckLogin();
+    }
+
+    public void OnLogoutSuccess()
+    {
+        m_Token = string.Empty;
+        SDKMgr.Instance.SetLogined(false);
+        SDKEventUtil.SendMessage(SDKCBEnum.LOGOUT_SUCCESS_CB);
+    }
+
+    public void OnExitSuccess()
+    {
+        SDKEventUtil.SendMessage(SDKCBEnum.EXIT_SUCCESS_CB);
+    }
+    
+    public void OnPaySuccess()
+    {
+        SDKEventUtil.SendMessage(SDKCBEnum.PAY_SUCCESS_CB);
+    }
+
+    public void OnPayFailed()
+    {
+        SDKEventUtil.SendMessage(SDKCBEnum.PAY_FAILED_CB);
+    }
+
+    private void StopCheckLogin()
+    {
+        if (m_CheckCoroutine != null)
+        {
+            StopCoroutine(m_CheckCoroutine);
+            m_CheckCoroutine = null;
+        }
+        if (m_CheckLoginWebRequest != null)
+        {
+            m_CheckLoginWebRequest.Dispose();
+            m_CheckLoginWebRequest = null;
+        }
+    }
+
+    public void StartCheckLogin()
+    {
+        StopCheckLogin();
+        m_CheckCoroutine = StartCoroutine(CheckLogin());
+    }
+
+    private IEnumerator CheckLogin()
+    {
+        StringBuilder sb = new StringBuilder();
+        sb.Append(SDKMgr.Instance.httpCheckUrl);
+        sb.Append("sdkcheck?platform=");
+        if (SDKMgr.Instance.sdk != null)
+        {
+            sb.Append(SDKMgr.Instance.sdk.SDKName);
+            string subplatform = SDKMgr.Instance.GetChannelName();
+            if (!string.IsNullOrEmpty(subplatform))
+            {
+                sb.Append("&sub_platform=");
+                sb.Append(subplatform);
+            }
+        }
+        sb.Append("&sauthjson=");
+        sb.Append(m_Token);
+        m_CheckLoginWebRequest = UnityWebRequest.Get(sb.ToString());
+        yield return m_CheckLoginWebRequest.SendWebRequest();
+        if (!string.IsNullOrEmpty(m_CheckLoginWebRequest.error))
+        {
+            OnLoginFailed();
+            yield break;
+        }
+        var downloadHandler = m_CheckLoginWebRequest.downloadHandler;
+        if (downloadHandler == null)
+        {
+            OnLoginFailed();
+            yield break;
+        }
+        string text = downloadHandler.text;
+        try
+        {
+            var result = JsonUtility.FromJson<CheckLoginResult>(text);
+            if (result.code == 0 && !string.IsNullOrEmpty(result.userinfo))
+            {
+                var arr = result.userinfo.Split('.');
+                var userinfoStr = Encoding.UTF8.GetString(System.Convert.FromBase64String(arr[0]));
+                var userinfo = JsonUtility.FromJson<LoginResultUserInfo>(userinfoStr);
+                UserInfo userInfo = new UserInfo()
+                {
+                    uid = userinfo.aid,
+                    userName = "",
+                    token = result.userinfo,
+                };
+                SDKMgr.Instance.SetInited(true);
+                SDKEventUtil.SendMessage(SDKCBEnum.LOGIN_SUCCESS_CB , userInfo);
+            }
+            else
+            {
+                OnLoginFailed();
+                SDKMgr.Instance.Logout();
+            }
+        }
+        catch
+        {
+            OnLoginFailed();
+            Debug.LogWarning("CheckLogin Fail   " + sb.ToString());
+        }
+    }
+
+    private class CheckLoginResult
+    {
+        public int code = 0;
+        public string userinfo = string.Empty;
+        public string platform = string.Empty;
+    }
+
+    private class LoginResultUserInfo
+    {
+        public string aid = string.Empty;
+    }
+}

+ 11 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/YouYiListener.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 487a476c504f9f74da509ffeb5deb207
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 178 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/YouYiSDKiOS.cs

@@ -0,0 +1,178 @@
+#if UNITY_IOS
+using System.Runtime.InteropServices;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+using qsdk;
+
+public class YouYiSDKiOS : SDKBase
+{
+    private YouYiListener m_YouYiListener;
+
+    public QKGame qKGamesdk;
+    private QSdkListener qListenter;
+    public YouYiSDKiOS()
+    {
+        SDKName = "XUAN_YOU_IOS";
+        m_YouYiListener = SDKMgr.Instance.gameObject.AddComponent<YouYiListener>();
+        qListenter = SDKMgr.Instance.gameObject.AddComponent<QSdkListener>();
+        qKGamesdk = new QKGame();
+        //YouYi_SetCallbackGoName(SDKMgr.Instance.gameObject.name);
+        qListenter.InitListener(m_YouYiListener);
+        QSdkMgr.SetListener(qListenter.gameObject.name);
+    }
+
+    public override void Init()
+    {
+        base.Init();
+        //YouYi_Init();
+        if (QSdkMgr.InitState == QKSDKInitState.Success)
+        {
+            CallInitSuccessCB();
+            return;
+        }
+
+        QSdkMgr.Init();
+    }
+
+    public override void OnApplicationFocus(bool focusStatus)
+    {
+        base.OnApplicationFocus(focusStatus);
+    }
+
+    public override void Login()
+    {
+        QSdkMgr.Login();
+    }
+
+    public override void Logout()
+    {
+        //YouYi_Logout();
+        QSdkMgr.Logout();
+    }
+
+    public override void SwitchAccount()
+    {
+        //YouYi_SwitchAccount();
+        
+    }
+
+    public override void Pay(int goodsId, string goodsName, string goodsDesc, int count, float amount, string cpOrderId, string extrasParams)
+    {
+        GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+       
+        if (gameRoleInfo == null || !gameRoleInfo.Valid())
+        {
+            Debug.LogError("[YISDK][Pay] GameRoleInfo is null or not valid !!!");
+            m_YouYiListener.OnPayFailed();
+            return;
+        }
+        Dictionary<string, SDKMgr.ProductInfo> cfgs = SDKMgr.Instance.ProductInfos;
+
+        int itemp = Mathf.FloorToInt(amount);
+        string pice = "";
+        if ((itemp + 0.005f) > amount)
+        {
+            pice = itemp.ToString();
+        }
+        else
+        {
+            pice = amount.ToString("F2");
+        }
+
+        Debug.Log("价格 = " + pice);
+        if (cfgs.ContainsKey(pice))
+        {
+            Debug.Log("有 价格 = " + pice);
+            SDKMgr.ProductInfo productInfo = cfgs[pice];
+
+            //Debug.Log($"=========================={productInfo.ID}======={productInfo.Name}");
+
+            object extraInfo =JsonUtility.FromJson(extrasParams, typeof(SDKOrderExtraInfo));
+
+            if (extraInfo != null)
+            {
+                SDKOrderExtraInfo ext = (SDKOrderExtraInfo)extraInfo;
+                ext.orderNo = cpOrderId;
+                extrasParams = JsonUtility.ToJson(ext);
+            }
+
+            QSdkMgr.Pay(productInfo.ID, productInfo.Name, amount.ToString(), cpOrderId, goodsName,
+                extrasParams, Application.productName, gameRoleInfo.serverName, goodsDesc,
+                gameRoleInfo.serverId.ToString(), m_YouYiListener.UID,gameRoleInfo.roleId,gameRoleInfo.roleLv.ToString());
+        }
+        else
+        {
+            Debug.Log("没有 价格 = " + pice);
+            m_YouYiListener.OnPayFailed();
+        } 
+    }
+
+    public override void CreateRole()
+    {
+        GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+
+        if (gameRoleInfo == null || !gameRoleInfo.Valid())
+        {       
+            return;
+        }
+        QSdkMgr.UpdateRoleInfo(0,gameRoleInfo,"");
+    }
+
+    public override void EnterGame()
+    {
+        GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+
+        if (gameRoleInfo == null || !gameRoleInfo.Valid())
+        {
+            return;
+        }
+        QSdkMgr.UpdateRoleInfo(1, gameRoleInfo, "");
+    }
+
+    public override void UpdateRoleLv()
+    {
+        GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+
+        if (gameRoleInfo == null || !gameRoleInfo.Valid())
+        {
+            return;
+        }
+        QSdkMgr.UpdateRoleInfo(2, gameRoleInfo, "");
+    }
+
+    public override void ExitGame()
+    {
+
+    }
+
+    public override bool Exit()
+    {
+        return false;
+    }
+
+    public override bool Quit()
+    {
+        return false;
+    }
+
+    public override void CallInitSuccessCB()
+    {
+        m_YouYiListener.OnInitSuccess();
+    }
+
+    public override void CallLoginSuccessCB()
+    {
+        m_YouYiListener.StartCheckLogin();
+    }
+    public class SDKOrderExtraInfo
+    {
+        public int serverId;
+        public string platform;
+        public string subPlatform;
+        public string orderNo;
+    }
+
+}
+#endif

+ 11 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/YouYiSDKiOS.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6e5b82231d5ff544fa992ba91963107c
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 36 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/GoogleService-Info.plist

@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CLIENT_ID</key>
+	<string>718180692364-6kt5r5va1o4jv6ucvjnr5jh3luqlbpkg.apps.googleusercontent.com</string>
+	<key>REVERSED_CLIENT_ID</key>
+	<string>com.googleusercontent.apps.718180692364-6kt5r5va1o4jv6ucvjnr5jh3luqlbpkg</string>
+	<key>ANDROID_CLIENT_ID</key>
+	<string>718180692364-q5g325g55enqfm3lr3ih73spioeo53ij.apps.googleusercontent.com</string>
+	<key>API_KEY</key>
+	<string>AIzaSyCSAae_p1nxi0cI0AjMQh8HzO2mR8_iz-k</string>
+	<key>GCM_SENDER_ID</key>
+	<string>718180692364</string>
+	<key>PLIST_VERSION</key>
+	<string>1</string>
+	<key>BUNDLE_ID</key>
+	<string>com.boli.ios</string>
+	<key>PROJECT_ID</key>
+	<string>boliking</string>
+	<key>STORAGE_BUCKET</key>
+	<string>boliking.firebasestorage.app</string>
+	<key>IS_ADS_ENABLED</key>
+	<false></false>
+	<key>IS_ANALYTICS_ENABLED</key>
+	<false></false>
+	<key>IS_APPINVITE_ENABLED</key>
+	<true></true>
+	<key>IS_GCM_ENABLED</key>
+	<true></true>
+	<key>IS_SIGNIN_ENABLED</key>
+	<true></true>
+	<key>GOOGLE_APP_ID</key>
+	<string>1:718180692364:ios:d431350e1bdf7c1eb566a9</string>
+</dict>
+</plist>

+ 180 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/QsdkMgr.mm

@@ -0,0 +1,180 @@
+#import <Foundation/Foundation.h>
+
+#import <SPSDK/SPSDK.h>
+
+
+ void SendMsgToUnity(NSString* messageName,messageName* parameters)
+    {
+
+        if (!UnityListenerGoName) {
+            NSLog(@"U3D not set listener");
+            return;
+        }
+        if ([parameters isKindOfClass:NSString.class] && [parameters length]) {
+            UnitySendMessage([UnityListenerGoName UTF8String], [messageName UTF8String], [parameters UTF8String]);
+        }
+        else{
+            UnitySendMessage([UnityListenerGoName UTF8String], [messageName UTF8String], "");
+        }
+    }
+
+    NSString* QsdkCreateNSString (const char* string)
+    {
+        if (string)
+            return [NSString stringWithUTF8String: string];
+        else
+            return [NSString stringWithUTF8String: ""];
+    }
+
+//=============================回调函数=============================================
+//=============================回调函数=============================================
+//=============================回调函数=============================================
+//
+void SDK_observer_CallBack(SPSDKEvent event, NSDictionary *data)
+{
+    switch(event)
+    {
+        case SPSDKEventLogout:
+        {
+            //
+            NSLog(@"退出登录成功");
+            SendMsgToUnity(@"onLogoutSuccess",@"");
+        }
+            break;
+        default:
+            break;
+    }
+}
+
+void SDK_Init_Callback(BOOL success, id data)
+{
+    if(success)
+    {
+         SendMsgToUnity(@"onInitSuccess",@"Init:Init Success");
+    }
+    else
+    {
+        SendMsgToUnity(@"onInitSuccess",@"Fail");
+    }
+}
+
+void SDK_Logout_Callback(BOOL success, id data)
+{
+
+}
+
+void SDK_Login_Callback(BOOL success, SPUserData *data)
+{
+     if (success)
+        {
+            //[self log:[NSString stringWithFormat:@"登录成功:%@",data.username]];
+            int code = 0;
+            SendMsgToUnity(@"onLoginSuccess",[NSString stringWithFormat:@"%d[]%@[]%@[]%@[]%@",code,"success", data.token, data.username, data.timestamp]);
+        }else
+        {
+            //[self log:[NSString stringWithFormat:@"登录失败❌:%@",data]];
+            SendMsgToUnity(@"onLoginFail",[NSString stringWithFormat:@"登录失败:%@",data]);
+        }    
+}
+
+
+void SDK_Pay_Callback(BOOL success, id data) 
+{
+    if(success)
+    {
+        SendMsgToUnity(@"onPaySuccess",@"支付Suc");
+    }
+    else
+    {
+        SendMsgToUnity(@"onPayFail",@"");
+    }
+}
+
+void SDK_UpdateRoleInfo_Callback(BOOL success, id data)
+{
+
+}
+//=============================回调函数=============================================
+//=============================回调函数=============================================
+
+extern "C" 
+{
+    static  NSString* UnityListenerGoName;
+
+
+    void QSDK_SetListener(const char *gameObjectName){
+       UnityListenerGoName = QsdkCreateNSString(gameObjectName);
+    }
+
+
+   
+
+void QSDK_Init() {
+    //SendMsgToUnity(@"onInitSuccess",@"Init:Init Success");
+    //SendMsgToUnity(@"onInitSuccess",@"Fail");
+    //SDK初始化 code: 0:成功, 1:失败
+    NSDictionary *game = @{
+//        @"timestamp":@"XXXX",///设置此值来切换线上域名
+//        @"tempDomain":@"",///设置此值来切换线上域名
+        @"gameId":@"7",///替换为实际游戏id
+    };
+    [SPSDK.instance registerGame:game callback:SDK_Init_Callback];
+    SPSDK.instance.observer = SDK_observer_CallBack;
+}
+
+void QSDK_login()
+{
+    //使用SDK登录界面登录
+    [SPSDK.instance login:SDK_Login_Callback]
+}
+
+void QSDK_Pay(const char *productId,const char *productName,const char * amount,const char *orderNo,
+                const char *callBackUrl,const char *extrasParams, 
+                const char * gameName,const char * serverName,
+                const char* productDesc,
+                const char* serverID,const char* accountID,const char* roleID,const char* roleLv) {
+    
+    //支付
+    SPProductData *product = [SPProductData new];
+    product.productId = QsdkCreateNSString(productId);
+    product.productName = QsdkCreateNSString(productName);
+    product.amount =QsdkCreateNSString(amount);
+    product.extra = QsdkCreateNSString(extrasParams);
+    [SPSDK.instance pay:product callback:SDK_Pay_Callback];
+    
+}
+
+void QSDK_logout() {
+    
+    //退出登录
+     NSLog(@"U3D call SDK logout");
+    [SPSDK.instance logout:SDK_Logout_Callback];
+}
+
+void QSDK_UpdateRoleInfo(int type,const char * roleName,const char * roleId,
+                        const char * roleLv, const char * serverName,
+                        const char * serverId,const char * extra)
+{
+    SPSDKReportType RType = SPSDKReportTypeOnlinePeriod;
+    if(type == 0)
+    {
+        RType =  SPSDKReportTypeCreateRole;
+    }
+    else if(type == 1)
+    {
+        RType =  SPSDKReportTypeEnterGame;
+    }
+    else
+    {
+        return;
+    }
+    SPRoleData *roleData = [SPRoleData new];
+    roleData.roleName =QsdkCreateNSString(roleName);
+    roleData.roleLevel = QsdkCreateNSString(roleLv);
+    roleData.roleId = QsdkCreateNSString(roleId);
+    roleData.serverId = QsdkCreateNSString(serverID);
+    roleData.serverName = QsdkCreateNSString(serverName);
+    [SPSDK.instance reportRole:roleData type:RType callback:SDK_UpdateRoleInfo_Callback];
+}
+
+}

BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/.DS_Store


BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Adjust.bundle/Info.plist


+ 66 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Adjust.bundle/PrivacyInfo.xcprivacy

@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>NSPrivacyTracking</key>
+	<true/>
+	<key>NSPrivacyTrackingDomains</key>
+	<array>
+		<string>https://consent.adjust.com</string>
+		<string>https://consent.adjust.io</string>
+		<string>https://consent.adjust.net.in</string>
+		<string>https://consent.adjust.world</string>
+		<string>https://consent.adjust.cn</string>
+		<string>https://consent.eu.adjust.com</string>
+		<string>https://consent.tr.adjust.com</string>
+		<string>https://consent.us.adjust.com</string>
+	</array>
+	<key>NSPrivacyAccessedAPITypes</key>
+	<array>
+		<dict>
+			<key>NSPrivacyAccessedAPIType</key>
+			<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
+			<key>NSPrivacyAccessedAPITypeReasons</key>
+			<array>
+				<string>CA92.1</string>
+			</array>
+		</dict>
+		<dict>
+			<key>NSPrivacyAccessedAPIType</key>
+			<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
+			<key>NSPrivacyAccessedAPITypeReasons</key>
+			<array>
+				<string>C617.1</string>
+			</array>
+		</dict>
+	</array>
+	<key>NSPrivacyCollectedDataTypes</key>
+	<array>
+		<dict>
+			<key>NSPrivacyCollectedDataType</key>
+			<string>NSPrivacyCollectedDataTypeDeviceID</string>
+			<key>NSPrivacyCollectedDataTypeLinked</key>
+			<true/>
+			<key>NSPrivacyCollectedDataTypeTracking</key>
+			<true/>
+			<key>NSPrivacyCollectedDataTypePurposes</key>
+			<array>
+				<string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
+				<string>NSPrivacyCollectedDataTypePurposeThirdPartyAdvertising</string>
+			</array>
+		</dict>
+		<dict>
+			<key>NSPrivacyCollectedDataType</key>
+			<string>NSPrivacyCollectedDataTypeProductInteraction</string>
+			<key>NSPrivacyCollectedDataTypeLinked</key>
+			<false/>
+			<key>NSPrivacyCollectedDataTypeTracking</key>
+			<false/>
+			<key>NSPrivacyCollectedDataTypePurposes</key>
+			<array>
+				<string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
+			</array>
+		</dict>
+	</array>
+</dict>
+</plist>

BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Assets.car


BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/FBLPromises_Privacy.bundle/Info.plist


+ 14 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/FBLPromises_Privacy.bundle/PrivacyInfo.xcprivacy

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>NSPrivacyAccessedAPITypes</key>
+	<array/>
+	<key>NSPrivacyCollectedDataTypes</key>
+	<array/>
+	<key>NSPrivacyTracking</key>
+	<false/>
+	<key>NSPrivacyTrackingDomains</key>
+	<array/>
+</dict>
+</plist>

BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/FirebaseCoreInternal_Privacy.bundle/Info.plist


+ 26 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/FirebaseCoreInternal_Privacy.bundle/PrivacyInfo.xcprivacy

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+        <key>NSPrivacyTracking</key>
+        <false/>
+        <key>NSPrivacyTrackingDomains</key>
+        <array>
+        </array>
+        <key>NSPrivacyCollectedDataTypes</key>
+        <array>
+        </array>
+        <key>NSPrivacyAccessedAPITypes</key>
+        <array>
+                <dict>
+                        <key>NSPrivacyAccessedAPIType</key>
+                        <string>NSPrivacyAccessedAPICategoryUserDefaults</string>
+                        <key>NSPrivacyAccessedAPITypeReasons</key>
+                        <array>
+                                <string>1C8F.1</string>
+                        </array>
+                </dict>
+        </array>
+</dict>
+</plist>
+

BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/FirebaseCore_Privacy.bundle/Info.plist


+ 26 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/FirebaseCore_Privacy.bundle/PrivacyInfo.xcprivacy

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+        <key>NSPrivacyTracking</key>
+        <false/>
+        <key>NSPrivacyTrackingDomains</key>
+        <array>
+        </array>
+        <key>NSPrivacyCollectedDataTypes</key>
+        <array>
+        </array>
+        <key>NSPrivacyAccessedAPITypes</key>
+        <array>
+                <dict>
+                        <key>NSPrivacyAccessedAPIType</key>
+                        <string>NSPrivacyAccessedAPICategoryUserDefaults</string>
+                        <key>NSPrivacyAccessedAPITypeReasons</key>
+                        <array>
+                                <string>CA92.1</string>
+                        </array>
+                </dict>
+        </array>
+</dict>
+</plist>
+

BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/FirebaseInstallations_Privacy.bundle/Info.plist


+ 30 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/FirebaseInstallations_Privacy.bundle/PrivacyInfo.xcprivacy

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+        <key>NSPrivacyTracking</key>
+        <false/>
+        <key>NSPrivacyTrackingDomains</key>
+        <array>
+        </array>
+        <key>NSPrivacyCollectedDataTypes</key>
+        <array>
+                <dict>
+                        <key>NSPrivacyCollectedDataType</key>
+                        <string>NSPrivacyCollectedDataTypeOtherDiagnosticData</string>
+                        <key>NSPrivacyCollectedDataTypeLinked</key>
+                        <false/>
+                        <key>NSPrivacyCollectedDataTypeTracking</key>
+                        <false/>
+                        <key>NSPrivacyCollectedDataTypePurposes</key>
+                        <array>
+                                <string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
+                        </array>
+                </dict>
+        </array>
+        <key>NSPrivacyAccessedAPITypes</key>
+        <array>
+        </array>
+</dict>
+</plist>
+

BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/GoogleUtilities_Privacy.bundle/Info.plist


+ 34 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/GoogleUtilities_Privacy.bundle/PrivacyInfo.xcprivacy

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+        <key>NSPrivacyTracking</key>
+        <false/>
+        <key>NSPrivacyTrackingDomains</key>
+        <array>
+        </array>
+        <key>NSPrivacyCollectedDataTypes</key>
+        <array>
+        </array>
+        <key>NSPrivacyAccessedAPITypes</key>
+        <array>
+                <dict>
+                        <key>NSPrivacyAccessedAPIType</key>
+                        <string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
+                        <key>NSPrivacyAccessedAPITypeReasons</key>
+                        <array>
+                                <string>C617.1</string>
+                        </array>
+                </dict>
+                <dict>
+                        <key>NSPrivacyAccessedAPIType</key>
+                        <string>NSPrivacyAccessedAPICategoryUserDefaults</string>
+                        <key>NSPrivacyAccessedAPITypeReasons</key>
+                        <array>
+                                <string>C56D.1</string>
+                        </array>
+                </dict>
+        </array>
+</dict>
+</plist>
+

+ 317 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Headers/SPHSDK_DZ-Swift.h

@@ -0,0 +1,317 @@
+#if 0
+#elif defined(__arm64__) && __arm64__
+// Generated by Apple Swift version 6.0 effective-5.10 (swiftlang-6.0.0.9.10 clang-1600.0.26.2)
+#ifndef SPHSDK_DZ_SWIFT_H
+#define SPHSDK_DZ_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#if defined(__OBJC__)
+#include <Foundation/Foundation.h>
+#endif
+#if defined(__cplusplus)
+#include <cstdint>
+#include <cstddef>
+#include <cstdbool>
+#include <cstring>
+#include <stdlib.h>
+#include <new>
+#include <type_traits>
+#else
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+#include <string.h>
+#endif
+#if defined(__cplusplus)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module"
+#if defined(__arm64e__) && __has_include(<ptrauth.h>)
+# include <ptrauth.h>
+#else
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
+# ifndef __ptrauth_swift_value_witness_function_pointer
+#  define __ptrauth_swift_value_witness_function_pointer(x)
+# endif
+# ifndef __ptrauth_swift_class_method_pointer
+#  define __ptrauth_swift_class_method_pointer(x)
+# endif
+#pragma clang diagnostic pop
+#endif
+#pragma clang diagnostic pop
+#endif
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+#  include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+#  define SWIFT_CLASS_PROPERTY(...) 
+# endif
+#endif
+#if !defined(SWIFT_RUNTIME_NAME)
+# if __has_attribute(objc_runtime_name)
+#  define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+# else
+#  define SWIFT_RUNTIME_NAME(X) 
+# endif
+#endif
+#if !defined(SWIFT_COMPILE_NAME)
+# if __has_attribute(swift_name)
+#  define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+# else
+#  define SWIFT_COMPILE_NAME(X) 
+# endif
+#endif
+#if !defined(SWIFT_METHOD_FAMILY)
+# if __has_attribute(objc_method_family)
+#  define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+# else
+#  define SWIFT_METHOD_FAMILY(X) 
+# endif
+#endif
+#if !defined(SWIFT_NOESCAPE)
+# if __has_attribute(noescape)
+#  define SWIFT_NOESCAPE __attribute__((noescape))
+# else
+#  define SWIFT_NOESCAPE 
+# endif
+#endif
+#if !defined(SWIFT_RELEASES_ARGUMENT)
+# if __has_attribute(ns_consumed)
+#  define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+# else
+#  define SWIFT_RELEASES_ARGUMENT 
+# endif
+#endif
+#if !defined(SWIFT_WARN_UNUSED_RESULT)
+# if __has_attribute(warn_unused_result)
+#  define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+# else
+#  define SWIFT_WARN_UNUSED_RESULT 
+# endif
+#endif
+#if !defined(SWIFT_NORETURN)
+# if __has_attribute(noreturn)
+#  define SWIFT_NORETURN __attribute__((noreturn))
+# else
+#  define SWIFT_NORETURN 
+# endif
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA 
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA 
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA 
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+#  define OBJC_DESIGNATED_INITIALIZER 
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if __has_attribute(enum_extensibility)
+#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+#  define SWIFT_ENUM_ATTR(_extensibility) 
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if !defined(SWIFT_DEPRECATED_OBJC)
+# if __has_feature(attribute_diagnose_if_objc)
+#  define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+# else
+#  define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+# endif
+#endif
+#if defined(__OBJC__)
+#if !defined(IBSegueAction)
+# define IBSegueAction 
+#endif
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+#  define SWIFT_EXTERN extern "C"
+# else
+#  define SWIFT_EXTERN extern
+# endif
+#endif
+#if !defined(SWIFT_CALL)
+# define SWIFT_CALL __attribute__((swiftcall))
+#endif
+#if !defined(SWIFT_INDIRECT_RESULT)
+# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
+#endif
+#if !defined(SWIFT_CONTEXT)
+# define SWIFT_CONTEXT __attribute__((swift_context))
+#endif
+#if !defined(SWIFT_ERROR_RESULT)
+# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
+#endif
+#if defined(__cplusplus)
+# define SWIFT_NOEXCEPT noexcept
+#else
+# define SWIFT_NOEXCEPT 
+#endif
+#if !defined(SWIFT_C_INLINE_THUNK)
+# if __has_attribute(always_inline)
+# if __has_attribute(nodebug)
+#  define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
+# else
+#  define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
+# endif
+# else
+#  define SWIFT_C_INLINE_THUNK inline
+# endif
+#endif
+#if defined(_WIN32)
+#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
+# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
+#endif
+#else
+#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
+# define SWIFT_IMPORT_STDLIB_SYMBOL 
+#endif
+#endif
+#if defined(__OBJC__)
+#if __has_feature(objc_modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+#endif
+
+#endif
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
+#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SPHSDK_DZ",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+#if defined(__OBJC__)
+
+
+#endif
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#if defined(__cplusplus)
+#endif
+#pragma clang diagnostic pop
+#endif
+
+#else
+#error unsupported Swift architecture
+#endif

+ 25 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Headers/SPProductData.h

@@ -0,0 +1,25 @@
+//
+//  SPProductData.h
+//  SPNSDK
+//
+//  Created by dxh on 2021/6/3.
+//
+
+#import <Foundation/Foundation.h>
+NS_ASSUME_NONNULL_BEGIN
+/// 商品信息
+@interface SPProductData : NSObject
+
+/// 商品id
+@property(nonatomic, copy)NSString *productId;
+
+/// 商品名
+@property(nonatomic, copy)NSString *productName;
+
+/// 商品金额
+@property(nonatomic, copy)NSString *amount;
+
+///扩展数据
+@property(nonatomic, copy,nullable)NSDictionary *extra;
+@end
+NS_ASSUME_NONNULL_END

+ 34 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Headers/SPRoleData.h

@@ -0,0 +1,34 @@
+//
+//  SPRoleData.h
+//  SPNSDK
+//
+//  Created by dxh on 2021/6/3.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+/// 角色数据 当前游戏的角色数据
+@interface SPRoleData : NSObject
+
+///角色名
+@property(nonatomic, copy)NSString *roleName;
+
+///角色id
+@property(nonatomic, copy)NSString *roleId;
+
+///角色等级
+@property(nonatomic, copy)NSString *roleLevel;
+
+///服务器名称
+@property(nonatomic, copy)NSString *serverName;
+
+///服务器id
+@property(nonatomic, copy)NSString *serverId;
+
+
+///扩展数据
+@property(nonatomic, copy, nullable)NSDictionary *extra;
+
+@end
+NS_ASSUME_NONNULL_END

+ 143 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Headers/SPSDK.h

@@ -0,0 +1,143 @@
+//
+//  SPSDK.h
+//  SPNSDK
+//
+//  Created by dxh on 2021/6/2.
+//
+#import <UIKit/UIKit.h>
+#import "SPRoleData.h"
+#import "SPUserData.h"
+#import "SPProductData.h"
+
+typedef enum : NSUInteger {
+    ///创建新角色
+    SPSDKReportTypeCreateRole,
+    ///进入游戏
+    SPSDKReportTypeEnterGame,
+    ///新手引导
+    SPSDKReportTypeNoviceGuide,
+    ///在线一定时长, 30分钟
+    SPSDKReportTypeOnlinePeriod,
+    ///游戏埋点, 此类型可能需要在[SPRoleData]中传入额外信息,字段名参考接入文档
+    SPSDKReportTypeGameClick,
+    ///其他类型, 此类型为特殊类型上报,具体调用时机参考接入文档
+    SPSDKReportTypeOther
+    
+} SPSDKReportType;
+
+
+typedef enum : NSUInteger {
+    SPSDKEventInit,//初始化成功 调用[registerGame:callback:]时发生的初始化事件
+    SPSDKEventRegister,//注册, 用户注册账号成功 会触发此事件
+    SPSDKEventLogin,//登录 调用[login:]用户登录完成 会触发此事件
+    SPSDKEventLogout,//登出 调用[logout:]以及SDK内部登出时都会触发,不要重复处理
+    SPSDKEventReport,//上报事件,上报接口调用就会触发此事件,不关心是否上报成功
+    SPSDKEventPaid,//用户支付完成会触发, !!!不可靠
+} SPSDKEvent;
+
+///此值可以在SPSDKEventObserver回调的data中获取具体类型,通常为SPSDKEvent
+extern NSString *SPSDKEventDataTypeKey;
+///此值可以用于获取描述
+extern NSString *SPSDKEventDataDescriptionKey;
+///此值获取回调数据中的具体数据对象
+extern NSString *SPSDKEventDataObjectKey;
+
+///SDK回调block. success:调用的方法是否成功执行. data:成功会返回具体类型的数据,失败会为NSError或nil
+typedef void(^SPSDKCallback)(BOOL success, id data);
+
+///SDK全局事件监听block. 只有事件成功完成才会触发
+///event:事件类型
+///data:复合型数据,相对SPSDKCallback可能会返回更加复杂的数据,具体参考接入文档
+typedef void(^SPSDKEventObserver)(SPSDKEvent event, NSDictionary *data);
+
+/// SDK
+@interface SPSDK : NSObject
+///获取SDK版本,非应用版本
++(NSString *)version;
+#pragma mark - SDK接口规范
+/// 获取SDK实例
++(instancetype)instance;
+
+/// 添加事件监听者
+/// SDK会将内部发生的事件回调给监听者,事件监听获取到的数据种类和数据内容更加丰富.
+@property(nonatomic, copy)SPSDKEventObserver observer;
+
+
+/// 注册游戏, 在使用SDK之前需要先使用运营提供的game id 注册游戏
+/// @param game 游戏信息, 以以下字段为key来传入游戏数据,游戏数据由运营提供
+/// @{
+///    gameId:NSString  游戏id
+///    tempDomain:NSString 临时提审域名
+///    timestamp:NSString 时间戳 临时域名过期日期的秒级时间戳
+///  }
+/// @param callback 回调方法,这里会将当前游戏的信息返回
+-(void)registerGame:(NSDictionary *)game callback:(SPSDKCallback)callback;
+
+
+/// 调起登录,登录成功后会通过回调方法返回一个 [SPUserData]实例, 游戏可以通过此实例获取必要数据.
+/// 游戏方一般不需要关心登录失败,SDK会阻塞用户操作直到用户登录成功,
+/// 但是由于iOS审核期间可能配置静默登录,即SDK会尝试一次游客登录,如果登录失败就会交给游戏去处理.
+/// @param callback 回调方法
+-(void)login:(SPSDKCallback)callback;
+
+
+/// 退出登录, 调用此方法退出登录, 成功会返回一个只能获取到用户名的[SPUserData]实例
+/// @param callback 回调方法 当此方法有值时则不会再发送登出消息给observer,避免重复登出
+-(void)logout:(SPSDKCallback)callback;
+
+
+
+/// 上报角色信息, 在用户创建角色后,需要向SDK上报对应的数据信息.
+/// 根据不同的上报类型,传递的数据不同,可以参照接入文档以及[SPRoleData]数据模型来传递相应数据
+/// @param role 角色数据
+/// @param type 上报类型
+/// @param callback 回调方法
+-(void)reportRole:(SPRoleData *)role type:(SPSDKReportType)type callback:(SPSDKCallback)callback;
+
+
+/// 支付 发起支付需要 [SPProductData]实例来传入商品数据
+/// 支付的回调并不可靠, 以服务端的回调为准
+/// @param product 商品数据
+/// @param callback 回调方法
+-(void)pay:(SPProductData *)product callback:(SPSDKCallback)callback;
+
+///MARK: 实名接口
+/// 获取当前用户实名认证信息
+/// 用户登录时如果有实名信息会在SPUserData的扩展字段中返回相关信息, 或后续通过调用此接口实时查询
+/// 认证信息@{
+///          @"verify":是否实名认证
+///          @"age":用户年龄
+///        }
+/// @param callback success为YES是 data为用户实名信息, 否则data为nil
+-(void)userCertificationInfo:(SPSDKCallback)callback;
+
+/// 尝试弹出实名认证窗口,引导用户去实名
+/// @param callback 返回认证结果
+-(void)certificateIfNeed:(SPSDKCallback)callback;
+
+
+/// 派发调查问卷给用户 此功能会在悬浮球显示调查问卷入口
+/// 必须在[用户选择区服进入游戏]后调用此接口,以确定角色发送奖励
+/// @param callback 用户填写完调查问卷后会调用此回调
+-(void)deliverQuestionnaireIfNeed:(SPSDKCallback)callback;
+/// 尝试跳转至微信小程序以进行用户转化,可以实现: 定期给用户推送微信消息、达到某个条件给用户推送礼包等功能
+/// 需要在上报角色后调用或在data中传入[角色id]和[区服id]
+/// @param data 跳转所需数据
+///        {
+///            [server_id:string 区服id], 如未上报角色请传入此参数
+///            [role_id:string  角色id],如未上报角色请传入此参数
+///            guide_key:string 导流编码, 必传参数
+///        }
+/// @param callback 尝试跳转结果回调,此回调只是返回此接口是否调用成功
+-(void)tryToOpenWeChatForAttribution:(NSDictionary *)data callback:(SPSDKCallback)callback;
+
+
+//MARK: SDK需要在appDelegate的对应方法中获取信息, 须在应用AppDelegate中的同名方法中调用以下对应方法
+-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary<UIApplicationLaunchOptionsKey,id> *)launchOptions;
+
+-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options;
+
+-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> *restorableObjects))restorationHandler;
+
+-(void)applicationDidBecomeActive:(UIApplication *)application;
+@end

+ 28 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Headers/SPUserData.h

@@ -0,0 +1,28 @@
+//
+//  SPUserData.h
+//  SPNSDK
+//
+//  Created by dxh on 2021/6/3.
+//
+
+#import <Foundation/Foundation.h>
+
+
+NS_ASSUME_NONNULL_BEGIN
+/// 用户数据 当前登录的用户
+@interface SPUserData : NSObject
+/// 用户名
+@property(nonatomic, copy)NSString *username;
+
+/// 用户token
+@property(nonatomic, copy)NSString *token;
+
+/// 登录时间戳
+@property(nonatomic, copy)NSString *timestamp;
+
+
+///扩展数据
+@property(nonatomic, copy,nullable)NSDictionary *extra;
+
+@end
+NS_ASSUME_NONNULL_END

BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Info.plist


BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Modules/SPHSDK_DZ.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo


+ 9 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Modules/SPHSDK_DZ.swiftmodule/arm64-apple-ios.abi.json

@@ -0,0 +1,9 @@
+{
+  "ABIRoot": {
+    "kind": "Root",
+    "name": "NO_MODULE",
+    "printedName": "NO_MODULE",
+    "json_format_version": 8
+  },
+  "ConstValues": []
+}

BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Modules/SPHSDK_DZ.swiftmodule/arm64-apple-ios.swiftdoc


BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Modules/SPHSDK_DZ.swiftmodule/arm64-apple-ios.swiftmodule


+ 4 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/Modules/module.modulemap

@@ -0,0 +1,4 @@
+framework module SPHSDK_DZ {
+  header "SPHSDK_DZ-Swift.h"
+  requires objc
+}

BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/QMUIKit.bundle/Info.plist


+ 23 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/QMUIKit.bundle/PrivacyInfo.xcprivacy

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>NSPrivacyAccessedAPITypes</key>
+	<array>
+		<dict>
+			<key>NSPrivacyAccessedAPIType</key>
+			<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
+			<key>NSPrivacyAccessedAPITypeReasons</key>
+			<array>
+				<string>CA92.1</string>
+			</array>
+		</dict>
+	</array>
+	<key>NSPrivacyCollectedDataTypes</key>
+	<array/>
+	<key>NSPrivacyTrackingDomains</key>
+	<array/>
+	<key>NSPrivacyTracking</key>
+	<false/>
+</dict>
+</plist>

BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/QMUIResources.bundle/Assets.car


BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/QMUIResources.bundle/Info.plist


BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/SPHSDK_DZ


+ 493 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/_CodeSignature/CodeResources

@@ -0,0 +1,493 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>files</key>
+	<dict>
+		<key>Adjust.bundle/Info.plist</key>
+		<data>
+		s0DQ31mN4npJD4AGY/yiMig8Ne0=
+		</data>
+		<key>Adjust.bundle/PrivacyInfo.xcprivacy</key>
+		<data>
+		DuU58YZVvxd7uGlZDejeOmcLCHE=
+		</data>
+		<key>Assets.car</key>
+		<data>
+		3a0SRgN6QUbC/A6PE+XsMgfTB/w=
+		</data>
+		<key>FBLPromises_Privacy.bundle/Info.plist</key>
+		<data>
+		QUVHkh9kcOFRGKEmvfb1u0inqvI=
+		</data>
+		<key>FBLPromises_Privacy.bundle/PrivacyInfo.xcprivacy</key>
+		<data>
+		ZajnvEs/MYRS3X4TPLAhBWi8mc4=
+		</data>
+		<key>FirebaseCoreInternal_Privacy.bundle/Info.plist</key>
+		<data>
+		Yn8cvkk18f4njM+qZLV/aAAOeDM=
+		</data>
+		<key>FirebaseCoreInternal_Privacy.bundle/PrivacyInfo.xcprivacy</key>
+		<data>
+		ifoThrqbbqoLG4yjAruMQRaf0Dw=
+		</data>
+		<key>FirebaseCore_Privacy.bundle/Info.plist</key>
+		<data>
+		1vo519Xa/E3fBGFZ6Y8lTE5b48M=
+		</data>
+		<key>FirebaseCore_Privacy.bundle/PrivacyInfo.xcprivacy</key>
+		<data>
+		sa2OhFlqdCIyz9oV7fUdDKWzFL0=
+		</data>
+		<key>FirebaseInstallations_Privacy.bundle/Info.plist</key>
+		<data>
+		H3BXlIc7oC4X8lzlqJ3vrVB1t30=
+		</data>
+		<key>FirebaseInstallations_Privacy.bundle/PrivacyInfo.xcprivacy</key>
+		<data>
+		WXQUJr75eMRgiVnLGyf8Gr3uLUU=
+		</data>
+		<key>GoogleUtilities_Privacy.bundle/Info.plist</key>
+		<data>
+		MtX7W9b1XtWab5zfUaIxTzFR8wo=
+		</data>
+		<key>GoogleUtilities_Privacy.bundle/PrivacyInfo.xcprivacy</key>
+		<data>
+		9Dge7JFNlx7Vk430tsjNsK3d0Ng=
+		</data>
+		<key>Headers/SPHSDK_DZ-Swift.h</key>
+		<data>
+		6y9ERt8qqABNmI03UnH3Wd8rWgM=
+		</data>
+		<key>Headers/SPProductData.h</key>
+		<data>
+		x6q2UAeB38xrbv+axXPPRnNpUzk=
+		</data>
+		<key>Headers/SPRoleData.h</key>
+		<data>
+		ndpK7AvCm+NyJS8LP2n3/9Cv5Xk=
+		</data>
+		<key>Headers/SPSDK.h</key>
+		<data>
+		C84A7h5ODKZG33Sz+ZMijxv/VSU=
+		</data>
+		<key>Headers/SPUserData.h</key>
+		<data>
+		VMz4AxcpCgN92i2Xa5Oetn+yioo=
+		</data>
+		<key>Info.plist</key>
+		<data>
+		1QInQ/yj+xmMto9JX1NUwEYSnxc=
+		</data>
+		<key>Modules/SPHSDK_DZ.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo</key>
+		<data>
+		DA0EtVm3q4HRpaj2M3Hxf0vKoYI=
+		</data>
+		<key>Modules/SPHSDK_DZ.swiftmodule/arm64-apple-ios.abi.json</key>
+		<data>
+		gcwBsH4BgyFY4sVtNt+/xOKS3vY=
+		</data>
+		<key>Modules/SPHSDK_DZ.swiftmodule/arm64-apple-ios.swiftdoc</key>
+		<data>
+		je0GCk9dFGA63C76SzCjx2sMzF4=
+		</data>
+		<key>Modules/SPHSDK_DZ.swiftmodule/arm64-apple-ios.swiftmodule</key>
+		<data>
+		IQyNLzQZI/MPm7IoU3aSovNYQg4=
+		</data>
+		<key>Modules/module.modulemap</key>
+		<data>
+		AKH48arONTi+UtblbFnQQmSq5x0=
+		</data>
+		<key>QMUIKit.bundle/Info.plist</key>
+		<data>
+		FUzzDUzq4xUYAqdcyxekeWJiDmc=
+		</data>
+		<key>QMUIKit.bundle/PrivacyInfo.xcprivacy</key>
+		<data>
+		5XBLSHeP3Jryf4oAASDsLCMoX6o=
+		</data>
+		<key>QMUIResources.bundle/Assets.car</key>
+		<data>
+		Tu5pyG7IREagWZ03Ubxfhyyz1q0=
+		</data>
+		<key>QMUIResources.bundle/Info.plist</key>
+		<data>
+		vgMdMsaIrah0m+QCr0hOTAFTegw=
+		</data>
+		<key>en.lproj/Localizable.strings</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			lqESoHkg4lEzhMuqWOKUUDMoKMU=
+			</data>
+			<key>optional</key>
+			<true/>
+		</dict>
+		<key>nanopb_Privacy.bundle/Info.plist</key>
+		<data>
+		A6dNIXEgRTbswo4Z8/Rs19bCrKM=
+		</data>
+		<key>nanopb_Privacy.bundle/PrivacyInfo.xcprivacy</key>
+		<data>
+		KY5lfwC2TvsgFj4wt7hkMmainbs=
+		</data>
+		<key>vi.lproj/Localizable.strings</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			pqQGa5WfZGIaot3bNP6P6pmSiFE=
+			</data>
+			<key>optional</key>
+			<true/>
+		</dict>
+		<key>zh-Hans.lproj/Localizable.strings</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			ZOb7/7wfqBWfy6WHVZwkxCL+6Go=
+			</data>
+			<key>optional</key>
+			<true/>
+		</dict>
+		<key>zh-Hant.lproj/Localizable.strings</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			6mU/0fJqmuht/C/Iptpl7Y2GePM=
+			</data>
+			<key>optional</key>
+			<true/>
+		</dict>
+	</dict>
+	<key>files2</key>
+	<dict>
+		<key>Adjust.bundle/Info.plist</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			XtSaHgJY96+fzcN/m3EN+3Sc5wj4JxUca34hPFs5TH4=
+			</data>
+		</dict>
+		<key>Adjust.bundle/PrivacyInfo.xcprivacy</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			4IPBtAy7Jn384W/i+zBOquLsCVDklkhnrnvvGqv/bMc=
+			</data>
+		</dict>
+		<key>Assets.car</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			jlu2UfPwTpm9M+wBaJyafTsOyJUjPuM4z1T1quWS0G0=
+			</data>
+		</dict>
+		<key>FBLPromises_Privacy.bundle/Info.plist</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			F0Me3kxVMOIlhcbYdYLfe/G/JoUcYYfUBee1PxZJtCU=
+			</data>
+		</dict>
+		<key>FBLPromises_Privacy.bundle/PrivacyInfo.xcprivacy</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			dLDNcvwjwe8wLyLuJ1P2GBfNxa8P96fy0GMrUk+4rOo=
+			</data>
+		</dict>
+		<key>FirebaseCoreInternal_Privacy.bundle/Info.plist</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			tej5VNXSXsoZIUXkJ9ukRaFwVhnzVm1wwUd+KgJTqlw=
+			</data>
+		</dict>
+		<key>FirebaseCoreInternal_Privacy.bundle/PrivacyInfo.xcprivacy</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			W3/peUI97ePgivwppC8A9ghiddxUioTCl3QjWGPu0+8=
+			</data>
+		</dict>
+		<key>FirebaseCore_Privacy.bundle/Info.plist</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			VhwCnSlS4CqaflqogiYPKXTAt9tCQ5NA2TW7ZKJ5SNc=
+			</data>
+		</dict>
+		<key>FirebaseCore_Privacy.bundle/PrivacyInfo.xcprivacy</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			EeMfX2tg6A69WQFUn85QQ/mvPmg/h0AilFAAtAUwbD8=
+			</data>
+		</dict>
+		<key>FirebaseInstallations_Privacy.bundle/Info.plist</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			P6xR3b84a1jg83ngsDM5nQWpb7eoO4AiX1xNkz1m0Bw=
+			</data>
+		</dict>
+		<key>FirebaseInstallations_Privacy.bundle/PrivacyInfo.xcprivacy</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			z7s8T3ambVNpi66R9xEMAPIUjm5vE619MlkpCbwBDlE=
+			</data>
+		</dict>
+		<key>GoogleUtilities_Privacy.bundle/Info.plist</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			rJsHS6Yt/g1XZ30BKobRwAxRihJ7vYSBS9w5DQ37p0Q=
+			</data>
+		</dict>
+		<key>GoogleUtilities_Privacy.bundle/PrivacyInfo.xcprivacy</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			+Btc+PBDZicS7KnpeFdnJkzxkAJf5720l3cpbAaN5Tw=
+			</data>
+		</dict>
+		<key>Headers/SPHSDK_DZ-Swift.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			ckg5pYEG/9q1GY0hQztWHtvHcfZ47VbbGfwPSNSHDss=
+			</data>
+		</dict>
+		<key>Headers/SPProductData.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			OIzeFEBYofHECW5yXq6qK3jBy/AS6l0BADSYg+Ka6zI=
+			</data>
+		</dict>
+		<key>Headers/SPRoleData.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			pjb6GI96mAbM2uXW5bs3xMWiC65xpYDAJ+v1Expb8to=
+			</data>
+		</dict>
+		<key>Headers/SPSDK.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			gGgwVViKgc2V/tpnx8QAjr55bjQoIDPbWrcJ09pgfdU=
+			</data>
+		</dict>
+		<key>Headers/SPUserData.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			MxeKf5SjjPXcty7LR1EdL3jAw+/ctZK4XoY96hRAQrw=
+			</data>
+		</dict>
+		<key>Modules/SPHSDK_DZ.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			izkazEC2nMEzbpOvCzg8VHxuAHWNHe3s//MD2O/19EA=
+			</data>
+		</dict>
+		<key>Modules/SPHSDK_DZ.swiftmodule/arm64-apple-ios.abi.json</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			Qnesa0n4URGWAopawg9bGx36dUwkYV00BoCJ8LFzlyg=
+			</data>
+		</dict>
+		<key>Modules/SPHSDK_DZ.swiftmodule/arm64-apple-ios.swiftdoc</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			Gu5fRMh8eIRx1mp4gA8BiaF50Jt8pSPC1sQRxQVDzZQ=
+			</data>
+		</dict>
+		<key>Modules/SPHSDK_DZ.swiftmodule/arm64-apple-ios.swiftmodule</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			yfAtRJHN+9CT8/ssehOqgOrgEBinwYGt3aTcxDOQXAE=
+			</data>
+		</dict>
+		<key>Modules/module.modulemap</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			X9tTEirHo+kJVXFLesmuoBaS315I+yVsjVl1BSjZ6yE=
+			</data>
+		</dict>
+		<key>QMUIKit.bundle/Info.plist</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			g453frpMU7xkitCaA3duogEi79yzQ24jpDwZqOdS+sw=
+			</data>
+		</dict>
+		<key>QMUIKit.bundle/PrivacyInfo.xcprivacy</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			ZYbK1TaK4t7aBoMKsYuD/qRH1xVKRzF5mHoedsKu39I=
+			</data>
+		</dict>
+		<key>QMUIResources.bundle/Assets.car</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			FBD/WK4S6j7ZHv7mYoYPzInRphaCsgGGc9Fedeq40W0=
+			</data>
+		</dict>
+		<key>QMUIResources.bundle/Info.plist</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			YzzwsjfPRresH4ud6kcXUc5mnzOgtFY+Gm5laFD/jik=
+			</data>
+		</dict>
+		<key>en.lproj/Localizable.strings</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			djm5k1CwWhGO5E95PONKueRFVDY0w1xlqXvmHV9Ay34=
+			</data>
+			<key>optional</key>
+			<true/>
+		</dict>
+		<key>nanopb_Privacy.bundle/Info.plist</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			M/rsb6R+yQBVe1XwJJZ1ozfuo5EsOsDQWk20+2dsADM=
+			</data>
+		</dict>
+		<key>nanopb_Privacy.bundle/PrivacyInfo.xcprivacy</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			cpujy9D0WMeM1h7fFzUO2v4ONMqG4xTsZMjLIszSG1Q=
+			</data>
+		</dict>
+		<key>vi.lproj/Localizable.strings</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			nKhoY79COIYftQS+bKWe4IbxklW4tXJ91OkutJUyz3Q=
+			</data>
+			<key>optional</key>
+			<true/>
+		</dict>
+		<key>zh-Hans.lproj/Localizable.strings</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			Uy+w34PIcsyKF4RJbD819J/hWOFvpHaDS38nRXSQu7E=
+			</data>
+			<key>optional</key>
+			<true/>
+		</dict>
+		<key>zh-Hant.lproj/Localizable.strings</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			NPrOTn2EjTIy6qsOdHEO4P9p+Y4w6Tui1yXuhdQkGHE=
+			</data>
+			<key>optional</key>
+			<true/>
+		</dict>
+	</dict>
+	<key>rules</key>
+	<dict>
+		<key>^.*</key>
+		<true/>
+		<key>^.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Base\.lproj/</key>
+		<dict>
+			<key>weight</key>
+			<real>1010</real>
+		</dict>
+		<key>^version.plist$</key>
+		<true/>
+	</dict>
+	<key>rules2</key>
+	<dict>
+		<key>.*\.dSYM($|/)</key>
+		<dict>
+			<key>weight</key>
+			<real>11</real>
+		</dict>
+		<key>^(.*/)?\.DS_Store$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>2000</real>
+		</dict>
+		<key>^.*</key>
+		<true/>
+		<key>^.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Base\.lproj/</key>
+		<dict>
+			<key>weight</key>
+			<real>1010</real>
+		</dict>
+		<key>^Info\.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^PkgInfo$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^embedded\.provisionprofile$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^version\.plist$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+	</dict>
+</dict>
+</plist>

BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/en.lproj/Localizable.strings


BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/nanopb_Privacy.bundle/Info.plist


+ 15 - 0
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/nanopb_Privacy.bundle/PrivacyInfo.xcprivacy

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>NSPrivacyAccessedAPITypes</key>
+	<array/>
+	<key>NSPrivacyCollectedDataTypes</key>
+	<array/>
+	<key>NSPrivacyTracking</key>
+	<false/>
+	<key>NSPrivacyTrackingDomains</key>
+	<array/>
+</dict>
+</plist>
+

BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/vi.lproj/Localizable.strings


BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/zh-Hans.lproj/Localizable.strings


BIN
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/SPHSDK_DZ.framework/zh-Hant.lproj/Localizable.strings