问题描述
我正在使用laravel_echo 0.2.2
和pusher进行聊天。
在调试模式下可以正常工作,但在发布模式下则无法工作。
我的回声配置是:
echo = new Echo({
'broadcaster': 'pusher','client': pusherClient,"wsHost": 'api.salatkksa.com',"httpHost": 'api.salatkksa.com',"wsPort": 6001,'auth': {
"headers": {'Authorization': 'Bearer $token'}
},'authEndpoint': 'http://api.salatkksa.com/api/broadcasting/auth',"disableStats": true,"forceTLS": false,"enabledTransports": ['ws','wss']
});
和我的推送器配置:
PusherOptions options = PusherOptions(
host: 'api.salatkksa.com',port: 6001,encrypted: false,auth: PusherAuth('http://api.salatkksa.com/api/broadcasting/auth',headers: {'Authorization': 'Bearer $token'}));
pusherClient = FlutterPusher(
"468adb0d5808c1",options,enableLogging: true,);
我刚刚尝试将其添加到androidmanafist.xml
标签内的application
中:
android:usesCleartextTraffic="true"
因此,如果我添加SSL证书并使用加密的消息传递,它将起作用吗?
解决方法
我通过使用R8或proguard启用代码混淆来解决此问题,并添加以下规则:
在android/app/build.gradle:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
}
}
,如果没有proguard-rules.pro
,请在此路径android/app/proguard-rules.pro
中创建一个,然后添加以下内容:
-keep class com.github.heywhy.flutter_pusher.** { *; }