Unity融合计费接入(电信爱游戏)

Unity融合计费接入(电信爱游戏)电信 爱游戏 计费方式 1 单 电信计费 如果自己已经接入了联通 移动 可升级为三网渠道支付 前提是要在移动平台 联通平台为该游戏绑定爱游戏渠道 2 三网 融合 计费 貌似只能上爱游戏平台 爱游戏会帮你申请移动 电信计费 3 在以上两种短信支付基础上 还支持第三方的支付 如 支付宝 翼支付 银联 爱贝支付 需要强联网 具体详情 http open play cn dev

电信(爱游戏)计费方式:

1、(单)电信计费;(如果自己已经接入了联通、移动,可升级为三网渠道支付,前提是要在移动平台、联通平台为该游戏绑定爱游戏渠道)

2、三网(融合)计费;(貌似只能上爱游戏平台,爱游戏会帮你申请移动、电信计费)

3、在以上两种短信支付基础上,还支持第三方的支付(如:支付宝、翼支付、银联、爱贝支付),需要强联网。

具体详情:http://open.play.cn/dev/wiki/p1?tab_index=0&page=1

接下来看看增么在Unity项目中接入三网融合计费:

1、在爱游戏开放平台申请计费成功之后会生成两个计费文件:feeInfo.dat和mmpay.xml(移动MM计费文件),下载下来备用。

2、下载最新的SDK:http://180.96.63.69/Documents/SDK_410.html这里提供了所有资源的下载,这里我们下载他的u3d文档及demo工程文件就可以了,它已经将需要的资源都集成进去了。

Unity融合计费接入(电信爱游戏)


3、下载下来的文档已经很清楚的说明了接入流程,这里就不在多说了。需要指出的是你需要把assets、libs用到的所有资源拷贝到Unity的android目录,同时将第一步下载到的feeInfo.dat和mmpay.xml替换掉assets里面的,还需要注意的是你的应用名称和包名必须跟你在申请计费的时候填写的信息必须一致。

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

package com.iap.egame; import java.util.HashMap; import java.util.Map; import android.app.Activity; import android.os.Handler; import android.os.Looper; import android.util.Log; import cn.egame.terminal.paysdk.EgamePay; import cn.egame.terminal.paysdk.EgamePayListener; import cn.egame.terminal.sdk.log.EgameAgent; import com.unity3d.player.UnityPlayer; public class Egame_IAPController { static final String TAG = "Egame_IAPController"; static String ObjectName = ""; static String CkFun = ""; static Activity getActivity() { return UnityPlayer.currentActivity; } // 初始化 public static void Init(String _objectName, String _ckFun) { SetListener(_objectName, _ckFun); Handler handler = new Handler(Looper.getMainLooper()); handler.post(new Runnable() { @Override public void run() { EgamePay.init(getActivity()); } }); } // 支付 public static void Order(String altas, String name) { final HashMap 
  
    payParams = new HashMap 
   
     (); payParams.put(EgamePay.PAY_PARAMS_KEY_TOOLS_ALIAS, altas); payParams.put(EgamePay.PAY_PARAMS_KEY_TOOLS_NAME, name); Handler handler = new Handler(Looper.getMainLooper()); handler.post(new Runnable() { @Override public void run() { Pay(payParams); } }); } // 支付 private static void Pay(HashMap 
    
      payParams) { EgamePay.pay(getActivity(), payParams, new EgamePayListener() { @Override public void paySuccess(Map 
     
       params) { String result = "{result:0,altas:" + params.get(EgamePay.PAY_PARAMS_KEY_TOOLS_ALIAS) + ",name:" + params.get(EgamePay.PAY_PARAMS_KEY_TOOLS_NAME) + "}"; SendMessage(result); } @Override public void payFailed(Map 
      
        params, int erroInt) { String result = "{result:1,altas:" + params.get(EgamePay.PAY_PARAMS_KEY_TOOLS_ALIAS) + ",name:" + params.get(EgamePay.PAY_PARAMS_KEY_TOOLS_NAME) + ",erroInt:" + erroInt + "}"; SendMessage(result); } @Override public void payCancel(Map 
       
         params) { String result = "{result:2,altas:" + params.get(EgamePay.PAY_PARAMS_KEY_TOOLS_ALIAS) + ",name:" + params.get(EgamePay.PAY_PARAMS_KEY_TOOLS_NAME) + "}"; SendMessage(result); } }); } // 暂停 public static void OnPause() { Handler handler = new Handler(Looper.getMainLooper()); handler.post(new Runnable() { @Override public void run() { EgameAgent.onPause(getActivity()); } }); } // 恢复 public static void OnResume() { Handler handler = new Handler(Looper.getMainLooper()); handler.post(new Runnable() { @Override public void run() { EgameAgent.onResume(getActivity()); } }); } public static void SetListener(String _objectName, String _ckFun) { ObjectName = _objectName; CkFun = _ckFun; Log.d(TAG, "SetListener ObjectName:" + ObjectName + ";CkFun:" + CkFun); } // 发送消息给Unity public static void SendMessage(String dataStr) { Log.d(TAG, "支付结果:" + dataStr); if (!ObjectName.isEmpty() && !CkFun.isEmpty()) { UnityPlayer.UnitySendMessage(ObjectName, CkFun, dataStr); } } } 
        
       
      
     
    
  

5、Unity调用jar包得接口:

using UnityEngine; using System.Collections; #if UNITY_ANDROID public class EgameBinding { const string PAKAGE_PATH = "com.iap.egame.Egame_IAPController"; ///  /// 初始化 ///  /// Target. /// Callback. public static void Init (string target, string callback) { AndroidJavaClass ac = new AndroidJavaClass (PAKAGE_PATH); ac.CallStatic ("Init", target, callback); } ///  /// 发起支付 ///  /// Paycode. /// nameStr. public static void Order (string paycode, string nameStr) { AndroidJavaClass ac = new AndroidJavaClass (PAKAGE_PATH); ac.CallStatic ("Order", paycode, nameStr); } ///  /// 暂停 ///  public static void OnPause () { AndroidJavaClass ac = new AndroidJavaClass (PAKAGE_PATH); ac.CallStatic ("OnPause"); } ///  /// 恢复 ///  public static void OnResume () { AndroidJavaClass ac = new AndroidJavaClass (PAKAGE_PATH); ac.CallStatic ("OnResume"); } ///  /// 设置监听 ///  /// Target. /// Callback. public static void SetListener (string target, string callback) { AndroidJavaClass ac = new AndroidJavaClass (PAKAGE_PATH); ac.CallStatic ("SetListener", target, callback); } } #endif 






版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225987.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午8:06
下一篇 2026年3月17日 上午8:06


相关推荐

  • idea导入springboot源码

    idea导入springboot源码两天啊,导入了两天没有成功啊,网上搜了超级多的教程,没有用啊。而后我让领导帮我试试,领导从github直接下载源码包,然后通过idea的open导入,然后idea就自动下载jar包,然后,然后就好了!!!我人傻了。下载的是2.2.X,因为我本地用的是maven,所以在2.2.9.release版本之后用的都是gradle构建项目的。后来发现,是我自作聪明了。原来,maven默认配置文件在C盘,我当时装的时候移到D盘,然后导入源码的时候怎么都识别不了,目前具体原因还没有找到,但是我把maven的配置

    2022年5月23日
    70
  • Phoenix Framework对于Tree该方法节点设置不同的图标,每个[通俗易懂]

    Phoenix Framework对于Tree该方法节点设置不同的图标,每个

    2022年1月16日
    44
  • 汇总一下,国内各大 OpenClaw 一站式部署平台,腾讯也出手了!

    汇总一下,国内各大 OpenClaw 一站式部署平台,腾讯也出手了!

    2026年3月14日
    1
  • Python读取CSV文件(附CSV模块及方法详情地址)

    Python读取CSV文件(附CSV模块及方法详情地址)Python 读取 CSV 文件 附 CSV 模块及方法详情地址 1 需要用到 csv 模块 CSV 模块及方法使用详情地址 https docs python org zh cn 3 library csv htmlCSV 模块读取文件的具体方法 2 实例演示首先 创建一个 csv 文件 CSV 文件内容如下 然后在 pycharm 里导入 CSV 模块 并按照官方提供的模块操作即可 具体代码 importcsvwit r C Users wangfei2 Desktop demo csv

    2026年3月16日
    1
  • C#彩色扭曲验证码

    C#彩色扭曲验证码该验证码生成类集合了网上大部分的验证码生成类的精华,并多次改进,现在已经形成了可在生产环节中使用的验证码。该验证码加入了背景噪点,背景噪点曲线和直线,背景噪点文字以及扭曲,调暗,模糊等。完全可以实现防识别。按照国际惯例先贴张效果图吧:#region验证码生成类//////验证码生成类///

    2022年7月21日
    18
  • CefSharp之二–如何看懂demo中的例子,以及按照例子进行开发「建议收藏」

    CefSharp之二–如何看懂demo中的例子,以及按照例子进行开发「建议收藏」CefSharp是做什么用的?请看前一篇文章:怎么用c#编写浏览器或者执行javascript代码?之后就是如何开发了。这个CefSharp最坑的是,还早不到文档,只能看着官方给的例子开发。项目地址那么就可以看到,带有example的都是例子。我给大家举2个例子。1.事件添加:我想让我的程序出了网页上的js代码,再额外的执行我自己写的js,怎么办呢?InitializeCom

    2026年1月23日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号