unity Android微信分享(做一下记录)

本文记录了在Unity中实现Android平台的微信分享功能,包括C#代码调用和从Lua传递byte数组到C#的过程。

Android代码:

    //微信分享
    //type:1文本 2图片 3网页
    //scene:1 分享好友 2分享朋友圈 3分享收藏
    public void WeChatShare(String json,byte[] bytes) {
        Log.v("微信分享::", json);
        try {
            JSONObject obj = new JSONObject(json);
            int type = obj.getInt("type");
            int scene = obj.getInt("scene");
            //标题 描述 图片
            WXMediaMessage wxMessage = new WXMediaMessage();
            //发送微信分享
            SendMessageToWX.Req req = new SendMessageToWX.Req();
            if (type == 1) {
                //文本分享  参数:descr 描述  text 分享文本
                wxMessage.description = obj.getString("descr");
                WXTextObject textObj = new WXTextObject();
                textObj.text = obj.getString("text");
                wxMessage.mediaObject = textObj;
                req.transaction = "text";
            } else if (type == 2) {
            //图片分享   参数:image 分享图片
                WXImageObject imageObj = new WXImageObject();
                imageObj.imageData = bytes;
                wxMessage.mediaObject = imageObj;
                req.transaction = "image";
            } else if (type == 3) {
                //网页分享  参数:url 分享链接
                if (scene == 1) {
                    //朋友圈分享链接有标题 和描述
                    wxMessage.title = obj.getString("title");
                    wxMessage.description = obj.getString("descr");
                } else if (scene == 2)
                    wxMessage.title = obj.getString("title"); //朋友圈分享链接有标题
                //朋友圈分享链接有缩略图 限制内容大小不超过 32KB
                wxMessage.thumbData = bytes; //缩略图
                WXWebpageObject webObj = new WXWebpageObject();
                webObj.webpageUrl = obj.getString("url");
                wxMessage.mediaObject = webObj;
                req.transaction = "url";
            }
            req.message = wxMessage;
            if (scene == 1)
                req.scene = SendMessageToWX.Req.WXSceneSession;  //分享好友
            else if (scene == 2)
                req.scene = SendMessageToWX.Req.WXSceneTimeline;  //分享朋友圈
            else if (scene == 3)
                req.scene = SendMessageToWX.Req.WXSceneFavorite;  //收藏
            wxapi.sendReq(req);
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

 

C#调用传参

        //微信分享
        public void WeChatShare(string json, byte[] img)
        {
            AndroidJavaClass actClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            AndroidJavaObject jo = actClass.GetStatic<AndroidJavaObject>("currentActivity");
            jo.Call("WeChatShare", json, img);
        }

从Lua传递byte数组到C#

        //初始化sdk
        public void WeChatShare(string json, LuaByteBuffer img)
        {
            byte[] buf = img.buffer;
            sdk.WeChatShare(json, buf);
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值