乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Unity融合計(jì)費(fèi)接入(電信愛游戲)

       kiki的號 2017-04-17

      電信(愛游戲)計(jì)費(fèi)方式:

      1、(單)電信計(jì)費(fèi);(如果自己已經(jīng)接入了聯(lián)通、移動,可升級為三網(wǎng)渠道支付,前提是要在移動平臺、聯(lián)通平臺為該游戲綁定愛游戲渠道)

      2、三網(wǎng)(融合)計(jì)費(fèi);(貌似只能上愛游戲平臺,愛游戲會幫你申請移動、電信計(jì)費(fèi))

      3、在以上兩種短信支付基礎(chǔ)上,還支持第三方的支付(如:支付寶、翼支付、銀聯(lián)、愛貝支付),需要強(qiáng)聯(lián)網(wǎng)。

      具體詳情:http://open./dev/wiki/p1?tab_index=0&page=1。

      接下來看看增么在Unity項(xiàng)目中接入三網(wǎng)融合計(jì)費(fèi):

      1、在愛游戲開放平臺申請計(jì)費(fèi)成功之后會生成兩個(gè)計(jì)費(fèi)文件:feeInfo.dat和mmpay.xml(移動MM計(jì)費(fèi)文件),下載下來備用。

      2、下載最新的SDK:http://180.96.63.69/Documents/SDK_410.html這里提供了所有資源的下載,這里我們下載他的u3d文檔及demo工程文件就可以了,它已經(jīng)將需要的資源都集成進(jìn)去了。


      3、下載下來的文檔已經(jīng)很清楚的說明了接入流程,這里就不在多說了。需要指出的是你需要把a(bǔ)ssets、libs用到的所有資源拷貝到Unity的Android目錄,同時(shí)將第一步下載到的feeInfo.dat和mmpay.xml替換掉assets里面的,還需要注意的是你的應(yīng)用名稱和包名必須跟你在申請計(jì)費(fèi)的時(shí)候填寫的信息必須一致。

      4、你可能需要自己修改demo里面的各個(gè)接口,并重新生成jar包:

      1. package com.iap.egame;  
      2.   
      3. import java.util.HashMap;  
      4. import java.util.Map;  
      5.   
      6. import android.app.Activity;  
      7. import android.os.Handler;  
      8. import android.os.Looper;  
      9. import android.util.Log;  
      10. import cn.egame.terminal.paysdk.EgamePay;  
      11. import cn.egame.terminal.paysdk.EgamePayListener;  
      12. import cn.egame.terminal.sdk.log.EgameAgent;  
      13.   
      14. import com.unity3d.player.UnityPlayer;  
      15.   
      16. public class Egame_IAPController  
      17. {  
      18.     static final String TAG = "Egame_IAPController";  
      19.   
      20.     static String ObjectName = "";  
      21.     static String CkFun = "";  
      22.   
      23.     static Activity getActivity()  
      24.     {  
      25.         return UnityPlayer.currentActivity;  
      26.     }  
      27.   
      28.     // 初始化  
      29.     public static void Init(String _objectName, String _ckFun)  
      30.     {  
      31.         SetListener(_objectName, _ckFun);  
      32.         Handler handler = new Handler(Looper.getMainLooper());  
      33.         handler.post(new Runnable()  
      34.         {  
      35.             @Override  
      36.             public void run()  
      37.             {  
      38.                 EgamePay.init(getActivity());  
      39.             }  
      40.         });  
      41.     }  
      42.   
      43.     // 支付  
      44.     public static void Order(String altas, String name)  
      45.     {  
      46.         final HashMap<String, String> payParams = new HashMap<String, String>();  
      47.         payParams.put(EgamePay.PAY_PARAMS_KEY_TOOLS_ALIAS, altas);  
      48.         payParams.put(EgamePay.PAY_PARAMS_KEY_TOOLS_NAME, name);  
      49.   
      50.         Handler handler = new Handler(Looper.getMainLooper());  
      51.         handler.post(new Runnable()  
      52.         {  
      53.             @Override  
      54.             public void run()  
      55.             {  
      56.                 Pay(payParams);  
      57.             }  
      58.         });  
      59.     }  
      60.   
      61.     // 支付  
      62.     private static void Pay(HashMap<String, String> payParams)  
      63.     {  
      64.         EgamePay.pay(getActivity(), payParams, new EgamePayListener()  
      65.         {  
      66.   
      67.             @Override  
      68.             public void paySuccess(Map<String, String> params)  
      69.             {  
      70.                 String result = "{result:0,altas:" + params.get(EgamePay.PAY_PARAMS_KEY_TOOLS_ALIAS) + ",name:" + params.get(EgamePay.PAY_PARAMS_KEY_TOOLS_NAME) + "}";  
      71.                 SendMessage(result);  
      72.             }  
      73.   
      74.             @Override  
      75.             public void payFailed(Map<String, String> params, int erroInt)  
      76.             {  
      77.                 String result = "{result:1,altas:" + params.get(EgamePay.PAY_PARAMS_KEY_TOOLS_ALIAS) + ",name:" + params.get(EgamePay.PAY_PARAMS_KEY_TOOLS_NAME) + ",erroInt:" + erroInt + "}";  
      78.                 SendMessage(result);  
      79.             }  
      80.   
      81.             @Override  
      82.             public void payCancel(Map<String, String> params)  
      83.             {  
      84.                 String result = "{result:2,altas:" + params.get(EgamePay.PAY_PARAMS_KEY_TOOLS_ALIAS) + ",name:" + params.get(EgamePay.PAY_PARAMS_KEY_TOOLS_NAME) + "}";  
      85.                 SendMessage(result);  
      86.             }  
      87.         });  
      88.     }  
      89.   
      90.     // 暫停  
      91.     public static void OnPause()  
      92.     {  
      93.         Handler handler = new Handler(Looper.getMainLooper());  
      94.         handler.post(new Runnable()  
      95.         {  
      96.             @Override  
      97.             public void run()  
      98.             {  
      99.                 EgameAgent.onPause(getActivity());  
      100.             }  
      101.         });  
      102.     }  
      103.   
      104.     // 恢復(fù)  
      105.     public static void OnResume()  
      106.     {  
      107.         Handler handler = new Handler(Looper.getMainLooper());  
      108.         handler.post(new Runnable()  
      109.         {  
      110.             @Override  
      111.             public void run()  
      112.             {  
      113.                 EgameAgent.onResume(getActivity());  
      114.             }  
      115.         });  
      116.     }  
      117.   
      118.     public static void SetListener(String _objectName, String _ckFun)  
      119.     {  
      120.         ObjectName = _objectName;  
      121.         CkFun = _ckFun;  
      122.         Log.d(TAG, "SetListener ObjectName:" + ObjectName + ";CkFun:" + CkFun);  
      123.     }  
      124.   
      125.     // 發(fā)送消息給Unity  
      126.     public static void SendMessage(String dataStr)  
      127.     {  
      128.         Log.d(TAG, "支付結(jié)果:" + dataStr);  
      129.         if (!ObjectName.isEmpty() && !CkFun.isEmpty())  
      130.         {  
      131.             UnityPlayer.UnitySendMessage(ObjectName, CkFun, dataStr);  
      132.         }  
      133.     }  
      134. }  

      5、Unity調(diào)用jar包得接口:

      [csharp] view plain copy
      1. using UnityEngine;  
      2. using System.Collections;  
      3. #if UNITY_ANDROID  
      4. public class EgameBinding  
      5. {  
      6.     const string PAKAGE_PATH = "com.iap.egame.Egame_IAPController";  
      7.     /// <summary>  
      8.     /// 初始化  
      9.     /// </summary>  
      10.     /// <param name="target">Target.</param>  
      11.     /// <param name="callback">Callback.</param>  
      12.     public static void Init (string target, string callback)  
      13.     {  
      14.         AndroidJavaClass ac = new AndroidJavaClass (PAKAGE_PATH);  
      15.         ac.CallStatic ("Init", target, callback);  
      16.     }  
      17.     /// <summary>  
      18.     /// 發(fā)起支付  
      19.     /// </summary>  
      20.     /// <param name="paycode">Paycode.</param>  
      21.     /// <param name="nameStr">nameStr.</param>  
      22.     public static void Order (string paycode, string nameStr)  
      23.     {  
      24.         AndroidJavaClass ac = new AndroidJavaClass (PAKAGE_PATH);  
      25.         ac.CallStatic ("Order", paycode, nameStr);  
      26.     }  
      27.     /// <summary>  
      28.     /// 暫停  
      29.     /// </summary>  
      30.     public static void OnPause ()  
      31.     {  
      32.         AndroidJavaClass ac = new AndroidJavaClass (PAKAGE_PATH);  
      33.         ac.CallStatic ("OnPause");  
      34.     }  
      35.     /// <summary>  
      36.     /// 恢復(fù)  
      37.     /// </summary>  
      38.     public static void OnResume ()  
      39.     {  
      40.         AndroidJavaClass ac = new AndroidJavaClass (PAKAGE_PATH);  
      41.         ac.CallStatic ("OnResume");  
      42.     }  
      43.     /// <summary>  
      44.     /// 設(shè)置監(jiān)聽  
      45.     /// </summary>  
      46.     /// <param name="target">Target.</param>  
      47.     /// <param name="callback">Callback.</param>  
      48.     public static void SetListener (string target, string callback)  
      49.     {  
      50.         AndroidJavaClass ac = new AndroidJavaClass (PAKAGE_PATH);  
      51.         ac.CallStatic ("SetListener", target, callback);  
      52.     }  
      53. }  
      54. #endif  


        本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多