Note
최신 라이브러리는 아래 링크를 통해, 다운로드 받을 수 있습니다.
버전 | 버전 | 내용 |
---|---|---|
1.0.0 | 2024.02.16 | 최초배포 |
공통 설정 파일은 각 프로젝트 환경에 맞게 적용이 필요
운영되고 있는 flutter 프로젝트 경로에 다운로드 받은 라이브러리를 압축 해제 한 후 프로젝트 pubspec.yaml 에 'm_push_plugin' 을 추가합니다.
(예 1) workspace > flutter-push > (프로젝트) 의 경로인 경우
(예 2)
dependencies:
flutter:
sdk: flutter
m_push_plugin:
path: ../flutter-push-plugin/m_push_plugin/
flutter 프로젝트에서 상대경로로 m_push_plugin을 설치해야 합니다.
프로젝트에서 아래 명령어를 사용하여 플러그인을 설치합니다.
flutter pub get
[프로젝트]/android 프로젝트를 Android Studio로 열어 공통 설정파일을 추가합니다.
app 레벨의 build.gradle 하단에 아래 내용을 추가합니다.
//반드시, script 맨 하단에 작성
apply plugin: 'com.google.gms.google-services'
프로젝트 레벨의 build.gradle에 dependencies 내용을 추가합니다.
dependencies {
classpath 'com.google.gms:google-services:4.3.3'
}
plugin내에 제공된 Sample/java/MainActivity의 onNewIntent()를 적용합니다.(FlutterFragmentActivity를 상속받는 영역에서 사용 가능)
API 샘플로 main.dart 파일을 참고하여 테스트를 진행해보실수 있으며 notification 변경 등 수정이 필요한 경우 ../m_push_plugin/android/src/main/java/kr/co/uracle/m_push_plugin 경로 폴더에서 수정이 가능합니다.
안드로이드 메시지 콜백
Flutter 프로젝트와 같은 경로에 다운로드 받은 라이브러리를 압축 해제 합니다.
Flutter 프로젝트에 pubspec.yaml 파일에 에 'm_push_plugin' 을 추가합니다.
dependencies:
flutter:
sdk: flutter
m_push_plugin:
path: ../flutter-push-plugin/m_push_plugin/
flutter 프로젝트에서 상대경로로 m_push_plugin을 설치해야 합니다.
프로젝트에서 아래 명령어를 사용하여 플러그인을 설치합니다.
flutter pub get
iOS 프로젝트를 XCode에서 열어 공통 설정 파일을 추가합니다.
APNS 사용을 위해 Capability를 설정합니다.
API 테스트 샘플을 위한 main.dart 파일을 참고하여 테스트를 진행해보실수 있습니다.
iOS 메시지 수신 흐름도
{
"aps": {
"alert": {
"body":"body"
"title":"title"
},
"badge": 1,
"mutable-content": 1,
"sound": "alert.aif"
},
"mps": {
"cuid":"testCUID"
"ext": "8||https://umsapi.morpheus.kr/data/nas/image.png|",
"appid": "com.uracle.push.test",
"psid": "eddf0fb943b8b13e4ee9b3268e7854b59a43f2c63d99f1a405b0a2383cf55718"
"pushkey": "fa0ef0f129cb4cd1addbdb2984fb655d042eb74d"
"seqno": "1247292",
"sender": "admin",
"senddate": "2024022309",
"db_in": "Y"
}
}
푸시 관련 기능을 제공한다.
Arguments
Example:
mPush.registerServiceAndUser({
"cuid": "tester",
"name": "testerName"
}).then((result) {
print(result.toString());
});
Arguments
Example:
mPush.unregisterService().then((result) {
print(result.toString());
});
Arguments
Example:
mPush.unregisterUser().then((result) {
print(result.toString());
});
Arguments
Example:
mPush.sendNotification({
"cuid": 'tester',
"serviceCode": 'ALL',
"message": '기본알림입니다.'
}).then((result) {
print(result.toString());
});
Arguments
mPush.readNotification({
"notification": noti
}).then((result) {
print(result.toString());
});
Arguments
Example:
mPush.remoteSetBadge({
"badge": 10
}).then((result) {
print(result.toString());
});
Arguments
Example:
mPush.notificationCenterSetBadgeNumber({
"badge": 10
}).then((result) {
print(result.toString());
});
Arguments
Example:
mPush.notificationCenterGetBadgeNumber().then((result) {
print(result.toString());
});