Unity接入应用宝YSDK

本文档详细介绍了如何将Unity游戏接入应用宝的YSDK,包括获取appid和AppKey,下载YSDK,导入Eclipse,修改配置文件,处理回调,解决可能出现的问题,如资源缺失、XML配置错误等。同时,提到了Unity与Android互传消息的实现,并分享了接入过程中可能遇到的坑和解决方案。
摘要由CSDN通过智能技术生成
本来项目是已经接过share sdk 的登陆的 现在要接应用宝支付,为了省事打算直接先接支付试一下,可
是米大师官网的sdk下载不知道什么情况都没法下载,于是就开始了接YSDK的悲催人生,经过一个多星期的
努力demo终于跑了起来,下面跑一遍流程,再总结一下遇到的问题,方便下次接入的时候使用.(没用过
java 没用过eclipse ,对untiy和android的交互也不是特别了解...有错误的地方欢迎指出
1.腾讯开放平台注册应用

这里写图片描述
得到 qq和微信的Appid和AppKey以及米大师的沙盒测试Appkey
2.下载YSDK
解压之后
这里写图片描述
我用的是Eclipse Readme是官网给的接入文档
3.导入文件
本来我只是想按照以往的打.jar包导入到unity使用 可是发现这样根本没法调试、没法测试就只能先做个demo 在unity 中把逻辑写好之后导出android包导入Eclipse里面来接(untiy修改东西的话,把导出的android包里的assets里的东西替换一下就ok了)
这里写图片描述
unity场景,两个text用于debug调试

http://www.xuanyusong.com/archives/676 unity 和android 互传消息参考的雨松MOMO的…

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class test : MonoBehaviour {

    public Text t;
    public Text t1;
    AndroidJavaClass jc;
    AndroidJavaObject jo;
    public void Awake()
    {
        jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
       jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
    }
    public void weixin()
    {
        t1.text = "weixin Begin call";
        jo.Call("Login_WeiXin", "weixin");
        t1.text = " weixin call end ";
    }
    public  void qq()
    {
        t1.text = "qq Begin call";
        jo.Call("Login_QQ", "qq");
        t1.text = " qq call end ";
    }
    public void youke()
    {
        t1.text = "youke Begin call";
        jo.Call("Login_YouKe", "youke");
        t1.text = " youke call end ";
    }
    public void Pay()
    {
        t1.text = "Pay Begin call";
        jo.Call("Pay", "111");
        t1.text = " pay call end ";

    }

    public void message(string mess)
    {
        t.text = mess;
    }
}

实际传多个参格式 根据个人需要传
jo.Call(“Pay”, new object[] { zoonID, itemId, itemName, price, num, userId});
导出android包
这里写图片描述
eclipse–>File –>Import 导出的android包和YSDK-Eclipse 下的library//一定要copy到工作目录下

这里写图片描述

这里写图片描述

这里写图片描述
添加依赖 右键 游戏工程 ->Properties->Android->Add ->Apply就ok 了 Is Library 不要勾选上 会出问题…..不要勾选上….
4.开始接入..
需要把demo里assets里的东西导如到游戏工程assets下面 //我这就一个midaspay 和ysdkconf
这里写图片描述
ysdkconf里面的东西需要根据自己应用的信息进行修改 三个id ;相当于注释 联调的话就把 ;YSDK_URL=https://ysdktest.qq.com 前的;去掉
YSDK_URL=https://ysdk.qq.com 前面加上;

脚本的话 用到了demo里面的两个脚本 一个wx的,一个Ysdkcallback
需要android-support-v4.jar的话就把demo libs下面的android-support-v4.jar拷贝到项目libs下面
我用的编码格式是utf-8 右键脚本 ->Properties
如果在后面调试的时候汉字出现乱码 改下这个

这里写图片描述
还有就是res 资源文件 我把demo里的全部copy到里面了 还有libs 下面的 也copy过来了

wx的

package 包命.wxapi;//一定要是包命+.wxapi


/**
 * !!此文件的代码逻辑部分使用者不要修改
 */
public class WXEntryActivity extends com.tencent.ysdk.module.user.impl.wx.YSDKWXEntryActivity {
    }

回调的,没有该什么东西就是改了一下消息发送,主要处理YSDKApi的回调

package 包命;

import android.app.Activity;
import android.util.Log;

import com.tencent.ysdk.framework.common.eFlag;
import com.tencent.ysdk.module.bugly.BuglyListener;
import com.tencent.ysdk.module.pay.PayListener;
import com.tencent.ysdk.module.pay.PayRet;
import com.tencent.ysdk.module.user.PersonInfo;
import com.tencent.ysdk.module.user.UserListener;
import com.tencent.ysdk.module.user.UserLoginRet;
import com.tencent.ysdk.module.user.UserRelationRet;
import com.tencent.ysdk.module.user.WakeupRet;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

/** 
 * TODO GAME 游戏需要根据自己的逻辑实现自己的YSDKCallback对象。 
 * YSDK通过UserListener抽象类中的方法将授权或查询结果回调给游戏。
 * 游戏根据回调结果调整UI等。只有设置回调,游戏才能收到YSDK的响应。
 * 这里是Java层回调(设置了Java层回调会优先调用Java层回调, 如果要使用C++层回调则不能设置Java层回调)
 */
public class YSDKCallback implements UserListener, BuglyListener,PayListener {
    public static MainActivity 
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值