Skip to content

Commit 2e747f8

Browse files
Use in-app message to prompt for notification consent
1 parent 6295143 commit 2e747f8

File tree

4 files changed

+10
-3
lines changed

4 files changed

+10
-3
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,4 @@ app.*.map.json
4747
.DS_Store
4848
.vscode/settings.json
4949
.env
50+
local.properties

lib/main.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,6 @@ void main() async {
2323
//Remove this method to stop OneSignal Debugging
2424
OneSignal.shared.setLogLevel(OSLogLevel.verbose, OSLogLevel.none);
2525
OneSignal.shared.setAppId(onesignalAppId);
26-
OneSignal.shared.promptUserForPushNotificationPermission().then((accepted) {
27-
print("Accepted permission: $accepted");
28-
});
2926

3027
runApp(const MyApp());
3128
}

lib/screens/auth/profile_form.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'package:flutter/material.dart';
2+
import 'package:onesignal_flutter/onesignal_flutter.dart';
23
import 'package:supabase_flutter/supabase_flutter.dart';
34

45
import '../../widgets/example_scaffold.dart';
@@ -89,6 +90,7 @@ class _ProfileFormState extends State<ProfileForm> {
8990
'username': username,
9091
'website': website,
9192
});
93+
9294
if (mounted) {
9395
ScaffoldMessenger.of(context)
9496
.showSnackBar(const SnackBar(

lib/screens/payment_sheet/payment_sheet_screen.dart

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import 'package:flutter_stripe/flutter_stripe.dart';
33
import 'package:app/screens/payment_sheet/payment_sheet_screen_custom_flow.dart';
44
import 'package:app/widgets/example_scaffold.dart';
55
import 'package:app/widgets/loading_button.dart';
6+
import 'package:onesignal_flutter/onesignal_flutter.dart';
67
import 'package:supabase_flutter/supabase_flutter.dart';
78

89
final client = Supabase.instance.client;
@@ -126,6 +127,12 @@ class _PaymentSheetScreenState extends State<PaymentSheetScreen> {
126127
// 3. display the payment sheet.
127128
await Stripe.instance.presentPaymentSheet();
128129

130+
final deviceState = await OneSignal.shared.getDeviceState();
131+
final subscribed = deviceState?.subscribed;
132+
if (subscribed == false) {
133+
OneSignal.shared.addTrigger("prompt_notification", "true");
134+
}
135+
129136
setState(() {
130137
step = 0;
131138
});

0 commit comments

Comments
 (0)