问题描述
我正在使用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 (将#修改为@)