如何解决Flutter&OneSignal:如何从Flutter的顶部获取推送通知横幅?
我正在使用flutter和OneSignal,并且试图制作一个推式通知横幅(从顶部下拉的推式通知),就像从Messenger收到消息时看到的那样。但是,相反,我收到了类似警报的推送通知,该通知会在应用程序屏幕上弹出。
简而言之,如果有必要,我想更改我的推送通知功能/模板。我该如何配置?
请在下面查看我的推送通知代码。谢谢!
wrapper.dart
class Wrapper extends StatefulWidget {
@override
_WrapperState createState() => _WrapperState();
}
class _WrapperState extends State<Wrapper> {
@override
void initState() {
super.initState();
initPlatformState();
}
@override
Widget build(BuildContext context) {
final user = Provider.of<SystemUser>(context);
print('User is $user');
//return HomeScreen();
if (user == null) {
print('In Authenicate');
return Authenticate();
} else {
print('In HomeScreen');
//return TestScreen(); // to test screen
return HomeScreenWrapper(); // goto homescreen
}
}
Future<void> initPlatformState() async {
await OneSignal.shared.init(*** My OneSignal Token***);
}
Future<void> _initOneSignal() async {
OneSignal.shared.setLogLevel(OSLogLevel.verbose,OSLogLevel.none);
OneSignal.shared.init(*** My OneSignal Token***,iOSSettings: {
OSiOSSettings.autoPrompt: false,OSiOSSettings.inAppLaunchUrl: false
});
OneSignal.shared
.setInFocusDisplayType(OSNotificationDisplayType.notification);
await OneSignal.shared
.promptUserForPushNotificationPermission(fallbackToSettings: true);
var status = await OneSignal.shared.getPermissionSubscriptionState();
if (status.subscriptionStatus.userId != null) {
//status.subscriptionStatus.userId
print('Push Notification Player ID: ${status.subscriptionStatus.userId}');
}
}
}
testing.dart
onPressed: () async {
var status =
await OneSignal.shared.getPermissionSubscriptionState();
var playerId = status.subscriptionStatus.userId;
setState(() {
playerID = playerId.toString();
});
print('Player ID: $playerID');
await OneSignal.shared.postNotification(
OSCreateNotification(
playerIds: [playerId],content: "this is a test from OneSignal's Flutter SDK",heading: "Test Notification",),);
},
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。