|
@@ -12,18 +12,26 @@ using System.IO;
|
|
|
using System.Collections;
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
+public enum PayChannel
|
|
|
+{
|
|
|
+ AliPay,
|
|
|
+ UnityIAP,
|
|
|
+}
|
|
|
+
|
|
|
public class ManaIAP : MonoBehaviour, IStoreListener
|
|
|
{
|
|
|
#region 变量
|
|
|
|
|
|
public static bool Complete;
|
|
|
public static ManaIAP Instance;
|
|
|
+ public static PayChannel PayChannel;
|
|
|
public static UnityAction AdAction;
|
|
|
public static IStoreController IStoreController;
|
|
|
public static IExtensionProvider IExtensionProvider;
|
|
|
|
|
|
public static List<string> ProductList = new List<string>();
|
|
|
- public static Dictionary<string, UnityAction> ProductDic = new Dictionary<string, UnityAction>();
|
|
|
+ public static Dictionary<string, string> ProductIdDic = new Dictionary<string, string>();
|
|
|
+ public static Dictionary<string, UnityAction> ProductActionDic = new Dictionary<string, UnityAction>();
|
|
|
|
|
|
#region Share配置
|
|
|
|
|
@@ -54,10 +62,6 @@ public class ManaIAP : MonoBehaviour, IStoreListener
|
|
|
InitializeShare();
|
|
|
|
|
|
GameObject.Find("I_Lab").GetComponent<Text>().text = "Share";
|
|
|
-
|
|
|
- InitializeDataEyeGA();
|
|
|
-
|
|
|
- GameObject.Find("I_Lab").GetComponent<Text>().text = "DataEyeGA";
|
|
|
}
|
|
|
|
|
|
public static void InitializeAD()
|
|
@@ -75,30 +79,61 @@ public class ManaIAP : MonoBehaviour, IStoreListener
|
|
|
Advertisement.Initialize("1408493", false);
|
|
|
}
|
|
|
|
|
|
- //初始化vungle
|
|
|
- VungleAdsManager.Instance.Init(()=>{
|
|
|
- AdAction.Invoke();
|
|
|
+ if (!Application.isEditor)
|
|
|
+ {
|
|
|
+ //初始化vungle
|
|
|
+ VungleAdsManager.Instance.Init(() =>
|
|
|
+ {
|
|
|
+ AdAction.Invoke();
|
|
|
|
|
|
- ManaCenter.AdAmt++;
|
|
|
- });
|
|
|
+ ManaCenter.AdAmt++;
|
|
|
+ });
|
|
|
|
|
|
- //初始化OneWay
|
|
|
- OneWayAdsManager.Instance.Init(()=>{
|
|
|
- AdAction.Invoke();
|
|
|
+ //初始化OneWay
|
|
|
+ OneWayAdsManager.Instance.Init(() =>
|
|
|
+ {
|
|
|
+ AdAction.Invoke();
|
|
|
|
|
|
- ManaCenter.AdAmt++;
|
|
|
- });
|
|
|
+ ManaCenter.AdAmt++;
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public static void InitializeIAP()
|
|
|
{
|
|
|
- ConfigurationBuilder cb = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
|
|
|
-
|
|
|
- cb.AddProduct("Test", ProductType.Consumable);
|
|
|
+ if (Application.isEditor)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ PayChannel = ManaReso.Load<TextAsset>("Setting", Folder.Config).text.ToEnum<PayChannel>();
|
|
|
+
|
|
|
+ if (PayChannel == PayChannel.AliPay)
|
|
|
+ {
|
|
|
+ foreach (var attribute in ManaData.GetIAPConfig())
|
|
|
+ {
|
|
|
+ ProductList.Add(attribute[1].Value);
|
|
|
|
|
|
- ProductList.Add("Test");
|
|
|
+ ProductIdDic.Add(attribute[5].Value, attribute[1].Value);
|
|
|
+ }
|
|
|
+
|
|
|
+ AliplayManager.Instance.Init();
|
|
|
+ }
|
|
|
+ else if (PayChannel == PayChannel.UnityIAP)
|
|
|
+ {
|
|
|
+ ConfigurationBuilder cb = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
|
|
|
+
|
|
|
+ foreach (var attribute in ManaData.GetIAPConfig())
|
|
|
+ {
|
|
|
+ cb.AddProduct(attribute[1].Value, ProductType.Consumable);
|
|
|
|
|
|
- UnityPurchasing.Initialize(Instance, cb);
|
|
|
+ ProductList.Add(attribute[1].Value);
|
|
|
+
|
|
|
+ ProductIdDic.Add(attribute[5].Value, attribute[1].Value);
|
|
|
+ }
|
|
|
+
|
|
|
+ UnityPurchasing.Initialize(Instance, cb);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public static void InitializeShare()
|
|
@@ -113,22 +148,6 @@ public class ManaIAP : MonoBehaviour, IStoreListener
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public static void InitializeDataEyeGA()
|
|
|
- {
|
|
|
- if (Application.platform == RuntimePlatform.IPhonePlayer)
|
|
|
- {
|
|
|
- DataEyeGA.Init("C5790DBD2CFE97BD18C7BE9A95482C05", DataEyeGA.PlatformType.IOS, "Official", "IOS");
|
|
|
- }
|
|
|
- else if (Application.isMobilePlatform)
|
|
|
- {
|
|
|
- DataEyeGA.Init("ADE884FAAF61A2CB45B02431A70932B8", DataEyeGA.PlatformType.ADR, "Official", "Android");
|
|
|
- }
|
|
|
- else if (Application.isEditor)
|
|
|
- {
|
|
|
- DataEyeGA.Init("ADE884FAAF61A2CB45B02431A70932B8", DataEyeGA.PlatformType.WP, "Official", "Windows");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
public static void PlayAD(UnityAction action)
|
|
|
{
|
|
@@ -193,32 +212,50 @@ public class ManaIAP : MonoBehaviour, IStoreListener
|
|
|
}
|
|
|
|
|
|
|
|
|
- public static void Purchase(string id)
|
|
|
+ public static void Purchase(string str)
|
|
|
{
|
|
|
- bool freeze = true;
|
|
|
+ //bool freeze = true;
|
|
|
|
|
|
- if (freeze)
|
|
|
- {
|
|
|
- Bubble.Show(null, Language.GetStr("IAP", "TemporarilyUnavailible"));
|
|
|
+ //if (freeze)
|
|
|
+ //{
|
|
|
+ // Bubble.Show(null, Language.GetStr("IAP", "TemporarilyUnavailible"));
|
|
|
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
+ // return;
|
|
|
+ //}
|
|
|
+ ManaDebug.Log(PayChannel.ToString());
|
|
|
if (!Complete)
|
|
|
{
|
|
|
Bubble.Show(null, Language.GetStr("IAP", "PurchaseFail"));
|
|
|
|
|
|
+ InitializeIAP();
|
|
|
+
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (!ProductList.Contains(id))
|
|
|
+ if (!ProductList.Contains(ProductIdDic[str]))
|
|
|
{
|
|
|
Bubble.Show(null, Language.GetStr("IAP", "PurchaseUnvalid"));
|
|
|
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- IStoreController.InitiatePurchase(id);
|
|
|
+ if (PayChannel == PayChannel.AliPay)
|
|
|
+ {
|
|
|
+ ManaDebug.Log(ProductIdDic[str]);
|
|
|
+
|
|
|
+ ManaServer.GetProductID
|
|
|
+ (
|
|
|
+ ProductIdDic[str],
|
|
|
+ data =>
|
|
|
+ {
|
|
|
+ AliplayManager.Instance.Pay(data);
|
|
|
+ }
|
|
|
+ );
|
|
|
+ }
|
|
|
+ else if (PayChannel == PayChannel.UnityIAP)
|
|
|
+ {
|
|
|
+ IStoreController.InitiatePurchase(ProductIdDic[str]);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
@@ -248,7 +285,7 @@ public class ManaIAP : MonoBehaviour, IStoreListener
|
|
|
{
|
|
|
Bubble.Show(null, Language.GetStr("IAP", "PurchaseSuccess"));
|
|
|
|
|
|
- ProductDic[e.purchasedProduct.definition.id].Invoke();
|
|
|
+ ProductActionDic[e.purchasedProduct.definition.id].Invoke();
|
|
|
|
|
|
return PurchaseProcessingResult.Complete;
|
|
|
}
|