jpush_receive.dart 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. // import 'dart:convert';
  2. //
  3. // import 'package:jpush_flutter/jpush_flutter.dart';
  4. // import 'package:plugin_basic/constants/app_constant.dart';
  5. // import 'package:plugin_basic/service/user_service.dart';
  6. // import 'package:shared/utils/log_utils.dart';
  7. //
  8. //
  9. // /// 处理极光推送的逻辑
  10. // class JPushReceive {
  11. // JPushReceive._internal();
  12. //
  13. // //保存单例
  14. // static final JPushReceive _singleton = JPushReceive._internal();
  15. //
  16. // //工厂构造函数
  17. // factory JPushReceive() => _singleton;
  18. //
  19. // /// 初始化极光推送,并设置监听回调
  20. // void init() {
  21. // JPush jpush = JPush();
  22. //
  23. // jpush.addEventHandler(
  24. // // 接收通知回调方法。
  25. // onReceiveNotification: (Map<String, dynamic> message) async {
  26. // Log.d("flutter-jpush: onReceiveNotification: $message");
  27. // },
  28. // // 点击通知回调方法。
  29. // onOpenNotification: (Map<String, dynamic> message) async {
  30. // Log.d("flutter-jpush: onOpenNotification: $message");
  31. //
  32. // //拿到后端设置的内容Json对象
  33. // dynamic extrasJson = message['extras'];
  34. // dynamic extrasChildJson = extrasJson['cn.jpush.android.EXTRA'];
  35. // Map<String, dynamic> jsonMap = jsonDecode(extrasChildJson.toString());
  36. //
  37. // //根据后端返回的type类型跳转到不同的路由页面
  38. //
  39. // },
  40. // // 接收自定义消息回调方法。
  41. // onReceiveMessage: (Map<String, dynamic> message) async {
  42. // Log.d("flutter-jpush: onReceiveMessage: $message");
  43. // },
  44. // // 通知授权的回调
  45. // onReceiveNotificationAuthorization: (Map<String, dynamic> message) async {
  46. // Log.d("flutter-jpush: onReceiveNotificationAuthorization: $message");
  47. // if (message.containsKey('isEnabled')) {
  48. //
  49. // //不管有没有开启通知权限,通知开关,先拿到 RegistrationId 赋值了再说
  50. // final registrationId = await getRegistrationId();
  51. // Log.d('flutter-jpush: 获取到registrationId:$registrationId');
  52. //
  53. // //设置给 RxString 对象,并保存到 UserService 中。
  54. // UserService.to.registrationId.value = registrationId;
  55. // } else {
  56. // Log.d("flutter-jpush: onReceiveNotificationAuthorization 没有isEnable字段");
  57. // }
  58. // },
  59. //
  60. // // // 通知不显示的回调
  61. // // onNotifyMessageUnShow: (Map<String, dynamic> message) async {
  62. // // Log.d("flutter-refruiter: onNotifyMessageUnShow: $message");
  63. // // },
  64. // // // 极光推送连接的回调
  65. // // onConnected: (Map<String, dynamic> message) async {
  66. // // Log.d("flutter-refruiter: onConnected: $message");
  67. // // },
  68. // );
  69. //
  70. // jpush.setup(
  71. // appKey: "23dedb30175208f894d3756f",
  72. // channel: "developer-default",
  73. // production: AppConstant.inProduction,
  74. // debug: !AppConstant.inProduction, // 设置是否打印 debug 日志
  75. // );
  76. //
  77. // //申请iOS授权
  78. // jpush.applyPushAuthority(const NotificationSettingsIOS(sound: true, alert: true, badge: true));
  79. // }
  80. //
  81. // /// 获取极光推送的id
  82. // Future<String> getRegistrationId() async {
  83. // JPush jpush = JPush();
  84. // return jpush.getRegistrationID();
  85. // }
  86. // }
  87. //
  88. // var jpush = JPushReceive();