LoyalGameSDKAndroid.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. namespace LoyalSoftSDK
  6. {
  7. public class LoyalGameSDKAndroid : LoyalGameSDK
  8. {
  9. private AndroidJavaObject jo;
  10. public LoyalGameSDKAndroid()
  11. {
  12. using (AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
  13. {
  14. jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
  15. }
  16. }
  17. private T SDKCall<T>(string method, params object[] param)
  18. {
  19. try
  20. {
  21. return jo.Call<T>(method, param);
  22. }
  23. catch (Exception e)
  24. {
  25. Debug.LogError(e);
  26. }
  27. return default(T);
  28. }
  29. private void SDKCall(string method, params object[] param)
  30. {
  31. try
  32. {
  33. jo.Call(method, param);
  34. }
  35. catch (Exception e)
  36. {
  37. Debug.LogError(e);
  38. }
  39. }
  40. public override void Init()
  41. {
  42. Debug.Log("newinit");
  43. LoyalGameSDKCallBack.InitCallback();
  44. SDKCall("initSDK");
  45. }
  46. public override void Login(bool autoLogin)
  47. {
  48. Debug.Log("等待拉去登录:" + plantName);
  49. if(plantName.Equals("loyal"))
  50. {
  51. SoftSDKInstance.GetInstance().LoginSDK(autoLogin);
  52. }
  53. else
  54. {
  55. SDKCall("loginSDK");
  56. }
  57. }
  58. public override void Login(string plant)
  59. {
  60. SDKCall("loginSDK", plant);
  61. }
  62. public override void Logout()
  63. {
  64. if (plantName.Equals("loyal"))
  65. {
  66. SoftSDKInstance.GetInstance().LogOutSDK();
  67. }
  68. else
  69. {
  70. SDKCall("logoutSDK");
  71. }
  72. }
  73. public override void SubmitGameData(LoyalGameExtraData extraData)
  74. {
  75. if (plantName.Equals("loyal"))
  76. {
  77. SoftSDKInstance.GetInstance().SubmitData();
  78. }
  79. else
  80. {
  81. //SDKCall("submitGameData", extraData.GetSendCallString());
  82. }
  83. }
  84. public override void ExitGame(LoyalGameExtraData extraData)
  85. {
  86. if (plantName.Equals("loyal"))
  87. {
  88. SoftSDKInstance.GetInstance().ExitGame();
  89. }
  90. else
  91. {
  92. if(extraData==null)
  93. {
  94. SDKCall("exitGame", "noLogin");
  95. }
  96. else
  97. {
  98. SDKCall("exitGame", extraData.GetSendCallString());
  99. }
  100. }
  101. }
  102. public override void Pay(LoyalGamePayData payData)
  103. {
  104. if (plantName.Equals("loyal"))
  105. {
  106. Debug.Log("sdkandroid pay");
  107. SoftSDKInstance.GetInstance().Pay(payData.productid, payData.productname, payData.productcount,payData.productprice,
  108. payData.partyid,payData.partyname,payData.amount,payData.zoneid,payData.callbackinfo,payData.ageRange);
  109. }
  110. else
  111. {
  112. UI_TipsWindow.InitAutoCloseDialog("正在拉取支付窗体,请稍等.", 5);
  113. Debug.Log("11sdkandroid pay");
  114. SDKCall("paySDK", payData.GetSendCallString());
  115. }
  116. }
  117. public override void CallOther(string funcName, params object[] param)
  118. {
  119. SDKCall("doAction",funcName, param);
  120. }
  121. public override void OpenUrl(string url)
  122. {
  123. SDKCall("openUrl", url);
  124. }
  125. public override void Restar()
  126. {
  127. SDKCall("restar");
  128. }
  129. public override void FoceExit()
  130. {
  131. SDKCall("foceExit");
  132. }
  133. }
  134. }