游戏蛮牛学习群(纯技术交流,不闲聊):159852603
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

项目源码

关注:1427

当前位置:游戏蛮牛 资源专区 项目源码

查看: 1040|回复: 16

[Unity] unity微信分享及回调

[复制链接]  [移动端链接]
3偶尔光临
202/300
排名
9663
昨日变化
2

3

主题

32

帖子

202

积分

Rank: 3Rank: 3Rank: 3

UID
238746
好友
1
蛮牛币
84
威望
0
注册时间
2017-8-26
在线时间
59 小时
最后登录
2018-10-19
发表于 2018-5-11 14:16:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x

上次给大家分享了unity接入微信登录的步骤详见http://www.manew.com/thread-113718-1-1.html,之前有网友反馈微信登录旋转屏幕后就闪退的问题,这是Manifest文件中默认为了竖屏的缘故,大家可根据需要,自行加入屏幕方向的相关代码,就可以解决旋转方向时闪退的问题。

下面这个是自动旋转的代码

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"          android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection"

OK,进入正题---------------------------------------

本次咱们说一说微信分享吧,首先Mainactivity继承UnityPlayerActivity 并将APPID注册到微信中这点是不变的,然后咱们unity肯定要调用java里面的微信分享方法了,怎么调用大家应该清楚了吧,主要给大家讲一下微信分享的方法吧。

下面贴出一段代码

//微信分享

  public void share(boolean friendsCircle)
  {
    WXWebpageObject webpage = new WXWebpageObject();
    webpage.webpageUrl = "https://www.xxx.com;//微信分享后可点击进入的链接,分享url
    WXMediaMessage msg = new WXMediaMessage(webpage);
    msg.title = "分享内容的标题";
    msg.description = "分享内容的描述";
    msg.thumbData = getThumbData();//封面图片byte数组
    SendMessageToWX.Req req = new SendMessageToWX.Req();
    req.transaction = String.valueOf(System.currentTimeMillis());
    req.message = msg;
    if (friendsCircle)
    {
      req.scene = (friendsCircle ? 1 : 0);
      this.api.sendReq(req);
    }
    if (!friendsCircle)
    {
      req.scene = (friendsCircle ? 0 : 0);
      this.api.sendReq(req);
    }
  }
//获取分享封面byte数组 我们这边取的是软件启动icon
  private byte[] getThumbData()
  {
    BitmapFactory.Options options = new BitmapFactory.Options();
    options.inSampleSize = 2;
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), 2130903040, options);
    ByteArrayOutputStream output = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, output);
    int quality = 100;
    while ((output.toByteArray().length > 32768) && (quality != 10))
    {
      output.reset();
      bitmap.compress(Bitmap.CompressFormat.JPEG, quality, output);
      quality -= 10;
    }
    bitmap.recycle();
    byte[] result = output.toByteArray();
    try
    {
      output.close();
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
    return result;

  }


那么分享朋友圈和分享给好友就可以这样调用了

public void share_friend_circle()
  {
    share(true);//为true表示分享给朋友圈
  }
  
  public void share_friend()
  {
    share(false);//为true表示分享给朋友或者微信群

  }

微信分享的回调仍然写在WXEntryActivity中,与微信登录的回调相似,resp.getType()==1表示微信登录结果的回调,resp.getType()==2,表示微信分享结果的回调,大家可以根据自己的需求使用到项目当中去。

public void onReq(BaseReq arg0) {}
  
  public void onResp(BaseResp resp)
  {
    if (resp.getType() == 1)
    {
      String result;
      switch (resp.errCode)
      {
      case 0:
        Bundle bundle = new Bundle();
        resp.toBundle(bundle);
        SendAuth.Resp sp = new SendAuth.Resp(bundle);
        String token = sp.code;
        requestOpenId(token);
        
        result = "授权成功!";
        break;
      case -2:
        result = "发送取消";
        break;
      case -4:
        result = "发送拒绝";
        break;
      case -3:
      case -1:
      default:
        result = "发送返回";
      }
      Toast.makeText(this, result, 1).show();
      finish();
    }
    if (resp.getType() == 2)
    {
      String result;
      switch (resp.errCode)
      {
      case 0:
        result = "分享成功";
        UnityPlayer.UnitySendMessage("脚本所挂载的gameobject名", "脚本中的方法名", "");//分享成功后回调给unity
        break;
      case -2:
        result = "取消分享";
        break;
      case -3:
        result = "分享失败";
        break;
      case -1:
      default:
        result = "未知原因";
      }
      Toast.makeText(this, result, 1).show();
      finish();
    }
  }

有不太清楚的可以在下方评论留言,可以在此基础上修改http://download.csdn.net/download/qq_37857934/10250295,欢迎广大开发者批评指正





回复

使用道具 举报

5熟悉之中
976/1000
排名
6717
昨日变化

0

主题

642

帖子

976

积分

Rank: 5Rank: 5

UID
21411
好友
1
蛮牛币
1072
威望
0
注册时间
2014-4-15
在线时间
150 小时
最后登录
2018-7-24
发表于 2018-5-15 15:11:28 | 显示全部楼层
谢谢分享

回复

使用道具 举报

2

主题

41

帖子

57

积分

Rank: 2Rank: 2

UID
19803
好友
0
蛮牛币
28
威望
0
注册时间
2014-4-1
在线时间
14 小时
最后登录
2018-5-17
发表于 2018-5-15 20:20:54 | 显示全部楼层
感谢楼主分享

回复

使用道具 举报

4四处流浪
343/500
排名
10472
昨日变化

4

主题

150

帖子

343

积分

Rank: 4

UID
280145
好友
0
蛮牛币
491
威望
0
注册时间
2018-5-6
在线时间
91 小时
最后登录
2018-10-10
发表于 2018-5-16 17:23:59 | 显示全部楼层
6666666666666666
[发帖际遇]: 一个袋子砸在了 andy888888 头上,andy888888 赚了 1 蛮牛币. 幸运榜 / 衰神榜

回复 支持 反对

使用道具 举报

3偶尔光临
207/300
排名
11162
昨日变化
4

0

主题

61

帖子

207

积分

Rank: 3Rank: 3Rank: 3

UID
27503
好友
1
蛮牛币
171
威望
0
注册时间
2014-5-31
在线时间
62 小时
最后登录
2018-10-18
发表于 2018-5-17 11:11:10 | 显示全部楼层
谢谢分享

回复

使用道具 举报

7日久生情
1689/5000
排名
19093
昨日变化
18

12

主题

781

帖子

1689

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
158776
好友
2
蛮牛币
181
威望
0
注册时间
2016-7-26
在线时间
871 小时
最后登录
2018-10-21
发表于 2018-5-17 17:04:40 | 显示全部楼层
楼主居然要10个C币,就不能再蛮牛上分享个工程来学习一下吗?而且有用Eclipes来开发Jar包,不懂Eclipes开发怎么弄啊?
[发帖际遇]: 一个袋子砸在了 Hao521314 头上,Hao521314 赚了 1 蛮牛币. 幸运榜 / 衰神榜

回复 支持 反对

使用道具 举报

3偶尔光临
202/300
排名
9663
昨日变化
2

3

主题

32

帖子

202

积分

Rank: 3Rank: 3Rank: 3

UID
238746
好友
1
蛮牛币
84
威望
0
注册时间
2017-8-26
在线时间
59 小时
最后登录
2018-10-19
 楼主| 发表于 2018-5-18 13:44:04 | 显示全部楼层
Hao521314 发表于 2018-5-17 17:04
楼主居然要10个C币,就不能再蛮牛上分享个工程来学习一下吗?而且有用Eclipes来开发Jar包,不懂Eclipes开发 ...

你可以简单学习下怎么用eclipse打jar包就行,至于10个C币,我感觉这是一步一步踩出来的坑,有这个价值,哈哈

回复 支持 反对

使用道具 举报

4四处流浪
378/500
排名
6669
昨日变化
2

0

主题

86

帖子

378

积分

Rank: 4

UID
276244
好友
0
蛮牛币
231
威望
0
注册时间
2018-4-9
在线时间
106 小时
最后登录
2018-9-20
发表于 2018-5-20 16:51:40 | 显示全部楼层
感谢分享

回复

使用道具 举报

4四处流浪
444/500
排名
5671
昨日变化
45

6

主题

78

帖子

444

积分

Rank: 4

UID
232340
好友
0
蛮牛币
384
威望
0
注册时间
2017-7-15
在线时间
128 小时
最后登录
2018-10-21
发表于 2018-5-22 22:32:11 | 显示全部楼层
感觉还是接shareSDK方便些,以后拓展其他分享平台也好搞些,

回复 支持 反对

使用道具 举报

5熟悉之中
512/1000
排名
9438
昨日变化
2

2

主题

291

帖子

512

积分

Rank: 5Rank: 5

UID
282383
好友
0
蛮牛币
477
威望
0
注册时间
2018-5-23
在线时间
109 小时
最后登录
2018-8-20
发表于 2018-5-24 17:10:05 | 显示全部楼层
66666666666666666666666666

回复 支持 反对

使用道具 举报

3偶尔光临
202/300
排名
9663
昨日变化
2

3

主题

32

帖子

202

积分

Rank: 3Rank: 3Rank: 3

UID
238746
好友
1
蛮牛币
84
威望
0
注册时间
2017-8-26
在线时间
59 小时
最后登录
2018-10-19
 楼主| 发表于 2018-5-29 15:45:48 | 显示全部楼层
橙瘾 发表于 2018-5-22 22:32
感觉还是接shareSDK方便些,以后拓展其他分享平台也好搞些,

使用这种方法可以根据需要修改底层,不用依附第三方SDK平台
[发帖际遇]: 月圆狼吼 被钱袋砸中进医院,看病花了 2 蛮牛币. 幸运榜 / 衰神榜

回复 支持 反对

使用道具 举报

3偶尔光临
202/300
排名
9663
昨日变化
2

3

主题

32

帖子

202

积分

Rank: 3Rank: 3Rank: 3

UID
238746
好友
1
蛮牛币
84
威望
0
注册时间
2017-8-26
在线时间
59 小时
最后登录
2018-10-19
 楼主| 发表于 2018-5-29 15:46:55 | 显示全部楼层

感谢支持

回复 支持 反对

使用道具 举报

3偶尔光临
202/300
排名
9663
昨日变化
2

3

主题

32

帖子

202

积分

Rank: 3Rank: 3Rank: 3

UID
238746
好友
1
蛮牛币
84
威望
0
注册时间
2017-8-26
在线时间
59 小时
最后登录
2018-10-19
 楼主| 发表于 2018-5-29 15:48:14 | 显示全部楼层
Helle2018 发表于 2018-5-24 17:10
66666666666666666666666666

谢谢支持

回复 支持 反对

使用道具 举报

2初来乍到
121/150
排名
16203
昨日变化
4

0

主题

37

帖子

121

积分

Rank: 2Rank: 2

UID
209518
好友
0
蛮牛币
23
威望
0
注册时间
2017-3-2
在线时间
44 小时
最后登录
2018-9-28
发表于 2018-5-30 17:00:21 | 显示全部楼层
还没试过分享,可以先看看,挣到币再讨论

回复 支持 反对

使用道具 举报

2初来乍到
113/150
排名
12707
昨日变化
2

0

主题

14

帖子

113

积分

Rank: 2Rank: 2

UID
276156
好友
0
蛮牛币
179
威望
0
注册时间
2018-4-8
在线时间
33 小时
最后登录
2018-8-7
发表于 2018-6-1 16:08:03 | 显示全部楼层
有点看不懂啊

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表