flutterPusherChannelsFlutter, Pusher Channels already initialized., null, null

Viewed 421

hello guys im new to flutter, im having hard time in this error.. "I/flutter (18942): Error: PlatformException(PusherChannelsFlutter, Pusher Channels already initialized., null, null)"

This is my code.

import 'package:pusher_channels_flutter/pusher_channels_flutter.dart';

PusherChannelsFlutter pusher = PusherChannelsFlutter.getInstance();



@override
  void initState() {
    _googleSignIn.onCurrentUserChanged.listen((account) {
      setState(() {
        _currentUser = account;
      });
    });
    _googleSignIn.signInSilently();

    super.initState();
    _initPusher();
  }

Future<void> _initPusher() async {
  try {
    await pusher.init(apiKey: '10e64fb84ec06b7b4f22', cluster: 'ap1');
    await pusher.subscribe(channelName: "ap1");
    await pusher.connect();
  } catch (e) {
    print("Error: $e");
  }
}

void onEvent(PusherEvent event) {
  print("onEvent: $event");
}
1 Answers

U can disconnect first and reconnect withoud using pusher.init(...) in function onConnectPressed

static Future<void> pusherDiconnect() async {
   await pusher.unsubscribe(channelName: _channelName);
   await pusher.disconnect();

   print("pusherDiconnect");
}

static Future<void> pusherReConnect() async {
   await pusher.subscribe(channelName: _channelName);
   await pusher.connect();

   print("pusherReConnect");
}
Related