чат с использованием Laravel echo в моем приложении flutter

#flutter #networking #websocket #laravel-echo

#flutter #сеть #websocket #laravel-echo

Вопрос:

Я работаю над чатом с использованием laravel_echo 0.2.2 и pusher. в режиме отладки он работает просто отлично, но в режиме выпуска он не работает.

мои конфигурации echo:

 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']
});
  

и мои конфигурации pusher:

 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-сертификат и использую зашифрованный обмен сообщениями, он будет работать или нет?

Ответ №1:

Я решаю эту проблему, включив обфускацию кода с помощью 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.** { *; }
  

Комментарии:

1. Можете ли вы поделиться каким-либо ресурсом, где я могу узнать больше о создании системы чата с помощью laravel echo и flutter для приложения flutter. Был бы очень признателен за то же самое 🙂