我正在制作一个使用Flutter,Dart和Firebase的应用程序。现在我正在研究如何实现push-notifications
,有人推荐我使用OneSignal来实现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});
}
感谢所有的帮助。
发布于 2019-03-01 04:39:18
该方法有一个命名参数:
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
https://stackoverflow.com/questions/54933212
复制相似问题