registerIOSDevice static method

void registerIOSDevice()

Implementation

static void registerIOSDevice() async {
  if (Platform.isIOS) {
    final plainNotificationToken = PlainNotificationToken();

    plainNotificationToken.requestPermission();
    await plainNotificationToken.onIosSettingsRegistered.first;

    final String? token = await plainNotificationToken.getToken();

    final prefs = await SharedPreferences.getInstance();

    final flutterAppId = prefs.getInt('flutterAppId');
    final flutterDeviceId = prefs.getInt('flutterDeviceId');
    print('$flutterAppId, $flutterDeviceId, $token');

    try {
      await http.put(Uri.parse('$host/api/flutter/ios/device'),
          headers: {
            HttpHeaders.contentTypeHeader: 'application/json',
          },
          body: jsonEncode({
            'flutter_app_id': '$flutterAppId',
            'flutter_device_id': '$flutterDeviceId',
            'token': token
          }));
    } catch (e) {
      // print(e);
    }
  }
}