太多的位置参数! OneSignal,颤振

Too many positional arguments! OneSignal, Flutter

我正在使用 Flutter、Dart 和 Firebase 制作应用程序。现在我正在研究如何实现 push-notifications,我被推荐使用 OneSignal 的 SDK for flutter。

尝试初始化通知时出现位置参数错误,但已使用确切数量的参数正确定义方法。

OneSignal.shared.init("App ID", {
  OSiOSSettings.autoPrompt: false,
  OSiOSSettings.inAppLaunchUrl: true
});
  OneSignal.shared.setInFocusDisplayType(OSNotificationDisplayType.notification);

这是对应的Init方法:

  Future<void> init(String appId,
  {Map<OSiOSSettings, dynamic> iOSSettings}) async {
  _onesignalLog(OSLogLevel.verbose,
    "Initializing the OneSignal Flutter SDK ($sdkVersion)");

  var finalSettings = _processSettings(iOSSettings);

  await _channel.invokeMethod(
    'OneSignal#init', {'appId': appId, 'settings': finalSettings});
}

感谢所有帮助。

该方法有一个命名参数:

 Future<void> init(String appId,
  {Map<OSiOSSettings, dynamic> iOSSettings})

您忘记了名称 (iOSSettings)

改变这个:

OneSignal.shared.init("App ID", {
  OSiOSSettings.autoPrompt: false,
  OSiOSSettings.inAppLaunchUrl: true
});

对此:

OneSignal.shared.init("App ID", iOSSettings: {
  OSiOSSettings.autoPrompt: false,
 OSiOSSettings.inAppLaunchUrl: true
});

您可以阅读更多相关信息:https://www.dartlang.org/guides/language/language-tour#optional-parameters