2

FlutterにHuaweiプッシュ通知を実装しています。ここ: https://pub.dev/packages/huawei_push/example

これを呼び出す方法が欲しいです:

String? token = await PushNotificationsService().getPushNotificationsToken();

私のコードから、私自身のクラスPushNotificationService()にトークンを取得させて返します。

私の問題は、Huawei の場合、PushNotificationsService()クラス内にいくつかのリスナーを実装する必要があることです。

void _onTokenEvent(String event) {
    _token = event;
    showResult("TokenEvent", _token);
  }

  void _onTokenError(Object error) {
    PlatformException e = error as PlatformException;
    showResult("TokenErrorEvent", e.message!);
  }

...

Push.getTokenStream.listen(_onTokenEvent, onError: _onTokenError);

しかし、どのようにセットアップすればよいgetPushNotificationsToken()ですか? 内部で未来を返す必要がありFutureますが、2 つのリスナー コールバックの 1 つが呼び出されたときにのみ「トリガー」されるように、それを処理する方法は?!

基本的な解決策だと思いますが、残念ながらFlutterは初めてです。

4

1 に答える 1