1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- import 'dart:convert';
- import 'package:jpush_flutter/jpush_flutter.dart';
- import 'package:plugin_basic/constants/app_constant.dart';
- import 'package:plugin_basic/service/user_service.dart';
- import 'package:shared/utils/log_utils.dart';
- class JPushReceive {
- JPushReceive._internal();
-
- static final JPushReceive _singleton = JPushReceive._internal();
-
- factory JPushReceive() => _singleton;
-
- void init() {
- JPush jpush = JPush();
- jpush.addEventHandler(
-
- onReceiveNotification: (Map<String, dynamic> message) async {
- Log.d("flutter-jpush: onReceiveNotification: $message");
- },
-
- onOpenNotification: (Map<String, dynamic> message) async {
- Log.d("flutter-jpush: onOpenNotification: $message");
-
- dynamic extrasJson = message['extras'];
- dynamic extrasChildJson = extrasJson['cn.jpush.android.EXTRA'];
- Map<String, dynamic> jsonMap = jsonDecode(extrasChildJson.toString());
-
- },
-
- onReceiveMessage: (Map<String, dynamic> message) async {
- Log.d("flutter-jpush: onReceiveMessage: $message");
- },
-
- onReceiveNotificationAuthorization: (Map<String, dynamic> message) async {
- Log.d("flutter-jpush: onReceiveNotificationAuthorization: $message");
- if (message.containsKey('isEnabled')) {
-
- final registrationId = await getRegistrationId();
- Log.d('flutter-jpush: 获取到registrationId:$registrationId');
-
- UserService.to.registrationId.value = registrationId;
- } else {
- Log.d("flutter-jpush: onReceiveNotificationAuthorization 没有isEnable字段");
- }
- },
-
-
-
-
-
-
-
-
- );
- jpush.setup(
- appKey: "23dedb30175208f894d3756f",
- channel: "developer-default",
- production: AppConstant.inProduction,
- debug: !AppConstant.inProduction,
- );
-
- jpush.applyPushAuthority(const NotificationSettingsIOS(sound: true, alert: true, badge: true));
- }
-
- Future<String> getRegistrationId() async {
- JPush jpush = JPush();
- return jpush.getRegistrationID();
- }
- }
- var jpush = JPushReceive();
|