send method
      
Future<void> 
send({ 
    
- DateTime? at,
 - AndroidScheduleMode? androidScheduleMode,
 - DateTimeComponents? repeatOn,
 
Send the push notification
Implementation
Future<void> send(
    {DateTime? at,
    AndroidScheduleMode? androidScheduleMode,
    DateTimeComponents? repeatOn}) async {
  if (kIsWeb) {
    throw Exception("Push notifications are not supported on the web");
  }
  await NyScheduler.taskOnce('push_notification_permissions', () async {
    // request permissions
    await requestPermissions();
  });
  _sendAt = at;
  NotificationDetails notificationDetails = await _getNotificationDetails();
  if (_initialized == false) {
    _initialized =
        await Nylo.instance.initializeLocalNotifications() ?? false;
  }
  if (_sendAt != null) {
    String? sendAtDateTime = at.toDateTimeString();
    if (sendAtDateTime == null) {
      throw Exception("Invalid date provided");
    }
    await Nylo.localNotifications((FlutterLocalNotificationsPlugin
        flutterLocalNotificationsPlugin) async {
      await flutterLocalNotificationsPlugin.zonedSchedule(
        _id ?? 1,
        _title,
        _body,
        tz.TZDateTime.parse(tz.local, sendAtDateTime),
        notificationDetails,
        androidScheduleMode:
            androidScheduleMode ?? AndroidScheduleMode.exactAllowWhileIdle,
        payload: _payload,
        matchDateTimeComponents: repeatOn,
      );
    });
    return;
  }
  await Nylo.localNotifications((FlutterLocalNotificationsPlugin
      flutterLocalNotificationsPlugin) async {
    await flutterLocalNotificationsPlugin.show(
      _id ?? 1,
      _title,
      _body,
      notificationDetails,
      payload: _payload,
    );
  });
}