开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

项目源码

关注:1364

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

查看: 262|回复: 9

[Unity] unity微信分享及回调

[复制链接]  [移动端链接]
3偶尔光临
157/300
排名
10208
昨日变化
6

3

主题

21

帖子

157

积分

Rank: 3Rank: 3Rank: 3

UID
238746
好友
1
蛮牛币
171
威望
0
注册时间
2017-8-26
在线时间
43 小时
最后登录
2018-5-18
发表于 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熟悉之中
924/1000
排名
6522
昨日变化
2

0

主题

604

帖子

924

积分

Rank: 5Rank: 5

UID
21411
好友
1
蛮牛币
984
威望
0
注册时间
2014-4-15
在线时间
142 小时
最后登录
2018-5-21
发表于 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 | 显示全部楼层
感谢楼主分享

回复

使用道具 举报

3偶尔光临
154/300
排名
26336
昨日变化
21

4

主题

110

帖子

154

积分

Rank: 3Rank: 3Rank: 3

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

回复 支持 反对

使用道具 举报

3偶尔光临
162/300
排名
12503
昨日变化
216

0

主题

56

帖子

162

积分

Rank: 3Rank: 3Rank: 3

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

回复

使用道具 举报

7日久生情
1540/5000
排名
18137
昨日变化
611

12

主题

758

帖子

1540

积分

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

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

回复 支持 反对

使用道具 举报

3偶尔光临
157/300
排名
10208
昨日变化
6

3

主题

21

帖子

157

积分

Rank: 3Rank: 3Rank: 3

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

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

回复 支持 反对

使用道具 举报

2初来乍到
137/150
排名
13410
昨日变化
250

0

主题

53

帖子

137

积分

Rank: 2Rank: 2

UID
276244
好友
0
蛮牛币
43
威望
0
注册时间
2018-4-9
在线时间
32 小时
最后登录
2018-5-25
发表于 6 天前 | 显示全部楼层
感谢分享

回复

使用道具 举报

3偶尔光临
261/300
排名
8332
昨日变化
85

4

主题

57

帖子

261

积分

Rank: 3Rank: 3Rank: 3

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

回复 支持 反对

使用道具 举报

排名
36253
昨日变化
7494

1

主题

35

帖子

52

积分

Rank: 2Rank: 2

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

回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐 上一条 /1 下一条

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