# Unity Android 接入教程

# 添加 SDK 包

参考 Android 接入教程 添加 SDK 到工程中

# 拼接用户参数

首先游戏客户端需在微社区首页 URL 上拼接以下参数:

参数名 描述 必须
areaid 账号类型:1(微信),2(QQ)
partition 区服 id,若无则传 0
platid 平台类型:0(iOS),1(Android)
roleid 角色 id
lng 用户当前位置:经度
lat 用户当前位置:纬度

示例一:

首页 URL:https://sy.qq.com/hyrzol/ingame/

拼接后 URL:https://sy.qq.com/hyrzol/ingame/?areaid=1&platid=0&partition=8195&roleid=2306687434798319382

示例二:

首页 URL:https://sy.qq.com/zhuoyao/ingame/?router=moment

拼接后 URL:https://sy.qq.com/zhuoyao/ingame/?router=moment&areaid=2&partition=0&platid=1&roleid=40520350780&lng=113.944527&lat=22.547869

# 打开微社区(C#)

AndroidJavaClass UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject currentActivity = UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaClass X5WebViewAdapter = new AndroidJavaClass("com.tencent.slugsdk.webview.X5WebViewAdapter");
/*
	第3个参数"首页的URL"无需带登录态参数,SDK会自动调用MSDK的接口处理登录态
	第4个参数为屏幕方向(1:只支持横屏,2:只支持竖屏,3:横竖屏都支持,默认值为3)
    第5个参数"游戏的QQ Appid",建议设置,否则传 ""
	第6个参数"游戏的微信Appid",必须设置,否则微信分享完毕会返回游戏而不是微社区
*/
X5WebViewAdapter.CallStatic("openIngameCommunityByUrl", currentActivity, "带用户参数的首页URL", 3, "游戏的QQ Appid", "游戏的微信Appid");

如果需要从H5页面跳转到游戏某个界面,可以传最后面2个参数:
/*
第7个参数"className",游戏中转activity类名
第8个参数"finishShouldSendMsgToGame",webview finish是否需要发消息给游戏中转activity,(true: 需要, false: 不需要),如果需要发消息必须填第7个参数“className”
*/
X5WebViewAdapter.CallStatic("openIngameCommunityByUrl", currentActivity, "首页的URL", 3, "游戏的QQ Appid", "游戏的微信Appid", "className", "finishShouldSendMsgToGame");

//如果想设置webview背景颜色可以传颜色值,比如“#ff3300”,默认webview是透明背景
X5WebViewAdapter.CallStatic("openIngameCommunityByUrl", currentActivity, "首页的URL", 3, "游戏的QQ Appid", "游戏的微信Appid", "className", "finishShouldSendMsgToGame", "背景颜色");

//如果想使用广点通播放广告,需添加广点通appid
X5WebViewAdapter.CallStatic("openIngameCommunityByUrl", currentActivity, "首页的URL", 3, "游戏的QQ Appid", "游戏的微信Appid", "className", "finishShouldSendMsgToGame", "背景颜色", appid);
/*
* @context Content对象
* @configUrl 缓存配置文件地址,需要找微社区前端开发人员提供这个地址
*/
X5WebViewAdapter.CallStatic("initIngameCommunityCache", context, configUrl);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28