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