首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >位置参数太多了!OneSignal,Flutter

位置参数太多了!OneSignal,Flutter
EN

Stack Overflow用户
提问于 2019-03-01 03:49:19
回答 1查看 7.1K关注 0票数 1

我正在制作一个使用Flutter,Dart和Firebase的应用程序。现在我正在研究如何实现push-notifications,有人推荐我使用OneSignal来实现flutter。

当我尝试初始化通知时,我得到一个位置参数错误,但方法已经被正确地定义了参数的确切数量。

代码语言:javascript
复制
OneSignal.shared.init("App ID", {
  OSiOSSettings.autoPrompt: false,
  OSiOSSettings.inAppLaunchUrl: true
});
  OneSignal.shared.setInFocusDisplayType(OSNotificationDisplayType.notification);

这是对应的Init方法:

代码语言:javascript
复制
  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});
}

感谢所有的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-01 04:39:18

该方法有一个命名参数:

代码语言:javascript
复制
 Future<void> init(String appId,
  {Map<OSiOSSettings, dynamic> iOSSettings})

您忘记了名称(iOSSettings)

更改此设置:

代码语言:javascript
复制
OneSignal.shared.init("App ID", {
  OSiOSSettings.autoPrompt: false,
  OSiOSSettings.inAppLaunchUrl: true
});

要这样做:

代码语言:javascript
复制
OneSignal.shared.init("App ID", iOSSettings: {
  OSiOSSettings.autoPrompt: false,
 OSiOSSettings.inAppLaunchUrl: true
});

你可以阅读更多关于这方面的内容:https://www.dartlang.org/guides/language/language-tour#optional-parameters

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54933212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档