接入了 js版 的 实时通信,和 即时对战 sdk

游戏引擎 Cocos Creator

在 web 上调通了,打包Android,不行

Android的权限也加了

即时对战 部分,也添加了如下代码:

if (cc.sys.platform === cc.sys.ANDROID) {
const caPath = cc.url.raw("resources/cacert.pem");
setAdapters({
WebSocket: url => new WebSocket(url, null, caPath)
});
}
=============

实时通信,初始化的时候 log 信息如下:

D/jswrapper: JS: in M_IM [onLoad]
D/jswrapper: JS: in M_VS [onLoad]
D/jswrapper: JS: Activate: 112.15599999999995ms
D/cocos2d-x: In the constructor of HttpClient!
D/NetworkSecurityConfig: No Network Security Config specified, using platform default
I/DpmTcmClient: RegisterTcmMonitor from: com.android.okhttp.TcmIdleTimerMonitor
D/JniHelper: JniHelper::getJavaVM(), pthread_self() = -893912800
D/JniHelper: JniHelper::getJavaVM(), pthread_self() = -893912800
D/WebSocket.cpp: WebSocket thread start, helper instance: 0xccddb700
D/WebSocket.cpp: NOTICE: Initial logging level 911
D/WebSocket.cpp: NOTICE: Libwebsockets version: 2.1.0 james@James-Chen.local-v3.4-139-gbdcf7f8
D/WebSocket.cpp: NOTICE: IPV6 compiled in and enabled
D/WebSocket.cpp: NOTICE: libev support not compiled in
D/WebSocket.cpp: NOTICE: libuv support not compiled in
D/WebSocket.cpp: NOTICE: Threads: 1 each 1024 fds
D/WebSocket.cpp: NOTICE: mem: platform fd map: 4096 bytes
D/WebSocket.cpp: NOTICE: Compiled with OpenSSL support
D/WebSocket.cpp: NOTICE: mem: per-conn: 376 bytes + protocol rx buf
D/WebSocket.cpp: scheme: wss, host: cn-n1-cell7.leancloud.cn, port: 0, path: /
D/WebSocket.cpp: WARNING: CA Root file isn't set. SSL connection will not peer server certificate
D/WebSocket.cpp: NOTICE: Creating Vhost 'default' port -1, 1 protocols, IPv6 on
D/WebSocket.cpp: NOTICE: lws_protocol_init
D/WebSocket.cpp: WebSocket (0xd0638890) Unhandled websocket event: 32
D/WebSocket.cpp: WebSocket (0xd0638890) Unhandled websocket event: 29
D/WebSocket.cpp: NOTICE: accepting self-signed certificate
D/WebSocket.cpp: WebSocket (0xd0638890) Unhandled websocket event: 24
D/WebSocket.cpp: WebSocket (0xd0638890) Unhandled websocket event: 2
D/WebSocket.cpp: onConnectionOpened...: 0xd0638890, client protocols: lc.protobuf2.1, server selected protocol: lc.protobuf2.1
D/jswrapper: JS: [ERROR]: Unhandled promise rejection [object Object]
D/cocos2d-x: create rendererRecreatedListener for GLProgramState

==========

实时对战,初始化的时候,log 信息 如下

D/WebSocket.cpp: scheme: wss, host: cn-n1-cell6.leancloud.cn, port: 5749, path: /
D/WebSocket.cpp: CA file (/data/user/0/org.cocos2d.dunkingmaster/files/cacert.pem) in writable path exists!
D/WebSocket.cpp: NOTICE: Creating Vhost 'default' port -1, 1 protocols, IPv6 on
D/WebSocket.cpp: WebSocket (0xcd6d2c40) Unhandled websocket event: 32
D/WebSocket.cpp: WebSocket (0xcd6d2c40) Unhandled websocket event: 29
D/WebSocket.cpp: WebSocket (0xcd6d2c40) Unhandled websocket event: 24
D/WebSocket.cpp: WebSocket (0xcd6d2c40) Unhandled websocket event: 2
D/WebSocket.cpp: onConnectionOpened...: 0xcd6d2c40, client protocols: , server selected protocol:
D/WebSocket.cpp: closeAsync: WebSocket (0xcd6d2c40) is closing...
D/WebSocket.cpp: Closing websocket (0xcd6d2c40) connection.
D/jswrapper: JS: M_VS connetSev 连接失败
D/jswrapper: JS: [ERROR]: 10002 Websocket send message error state: 1
D/WebSocket.cpp: WebSocket (0xcd6d2c40) Unhandled websocket event: 33
D/WebSocket.cpp: WebSocket (0xcd6d2c40) Unhandled websocket event: 50
D/WebSocket.cpp: WebSocket (0xcd6d2c40) Unhandled websocket event: 4
D/WebSocket.cpp: WebSocket (0xcd6d2c40) onConnectionClosed, state: 2 ...
D/WebSocket.cpp: onConnectionClosed, WebSocket (0xcd6d2c40) is closing by client asynchronously.
D/WebSocket.cpp: WebSocket (0xcd6d2c40) onConnectionClosed DONE!
D/WebSocket.cpp: WebSocket (0xd0638890) Unhandled websocket event: 38
D/WebSocket.cpp: WebSocket (0xd0638890) Unhandled websocket event: 33
D/WebSocket.cpp: WebSocket (0xd0638890) Unhandled websocket event: 50
D/WebSocket.cpp: WebSocket (0xd0638890) Unhandled websocket event: 4
D/WebSocket.cpp: WebSocket (0xd0638890) onConnectionClosed, state: 1 ...
D/WebSocket.cpp: onConnectionClosed, WebSocket (0xd0638890) is closing by server.
D/WebSocket.cpp: WebSocket (0xd0638890) onConnectionClosed DONE!
E/jswrapper: ERROR: Uncaught event disconnect inappropriate because previous transition did not complete, location: src/project.dev.js:0:0
STACK:
[0]fsm.error@src/project.dev.js:9393
[1]anonymous@src/project.dev.js:9456
[2]handleClose@src/project.dev.js:10621
[3]_handleClose@src/project.dev.js:10076
07-18 10:34:20.622 11187-11213/org.cocos2d.dunkingmaster E/jswrapper: [ERROR] (/Applications/CocosCreator1.9.1.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/proj.android/../jswrapper/v8/Object.cpp, 519): Invoking function (0xccde3910) failed!

实时对战看日志是连接断开了。
建议将「实时通信」和「即时对战」SDK 分开导入,排查问题

你好。是分开导入的。

即时对战 连接断开,是什么原因呢?在web上是可以的

即时对战,Android平台设置证书,我使用的是你们demo中的证书文件,可以么

zyu 老师,可以帮帮忙么,我接好了,调试通过,才能付费。不付费,只能在论坛上问。接入的时候有问题,开发效率就会很低。

拜托了 拜托了

多谢多谢。是必现。即时通信、实时对战,打包Android后,都不行。

我现在马上试下这个demo打包Android,能不能行。

多谢啦

你好,我使用这个 demo 打包 Android,跟我自己的工程,是同样的问题,同样的log信息

请问,是否可以提供下,你们自己验证成功的 Cocos Creator 构建Android项目 的设置,Android工程的gradle设置。

非常感谢。

我已经在 web 平台上,开发好了 我们需要的所有 即时通讯 和 实时对战 的功能,不想放弃。拜托了 zyu 老师

这个工程是我之前适配的,我试一下

多谢多谢,非常感谢!

我刚刚试了一下 Quick-Start 的 Cocos Creator 工程,把对 Android 配置相关的代码注释掉(好像是 Cocos Creator 修复了证书的问题,我还不是很确认),是可以正常连接到房间的。

我这边并没有特殊的配置,Cocos Creator 构建配置如下:

我并没有打包出 Android Studio 工程,而是直接编译成 apk 安装的。

运行环境是「网易 Mumu 模拟器」。

万分感谢,注释掉设置证书的代码,就可以了!

[实时对战] sdk可以了

但是 [实时通信] sdk 在 Android 上,还是不行,求助帮忙,感谢感谢

在一个空项目中单独引入「即时通信」,然后打包 apk,看看有什么错误,然后将相关日志信息开一个新帖,便于相关同事追踪。

你好,我详细的描述了问题,发在了 即时通信 分区。

log 信息,和刚才你帮忙解决的问题 差不多,log 信息差不多。

可以烦请 帮忙让 [即时通信] 的相关同事,看看么?拜托了,比较急。