모피어스 MADP에 Push 플러그인을 적용하는 방법
Note MADP용 플러그인은 IDE의 M-SDK Manager를 통해 다운로드 및 프로젝트에 적용 플러그인 추가파일 및 샘플 프로젝트는 아래 링크를 통해, 다운로드 받을 수 있습니다.
- 플러그인 추가파일 : madp plugin
- 샘플 프로젝트 : 샘플 5.1 MADP [FCM] - 모피어스 플랫폼 연동
버전 | 버전 | 내용 |
---|---|---|
1.0.0 | 2024.02.16 | 플러그인 file 최초배포 |
MADP 프로젝트에서 push.r4 또는 push.r5 라이브러리를 다운로드 및 적용합니다.
프로젝트를 Android Studio로 열어 공통 설정파일을 적용합니다. assets/res/Manafest.xml, assets/res/mcore.mobile.lic, app/google-services.json(FCM 사용시)
app 레벨의 build.gradle에서 아래 내용을 추가합니다.
buildscript{
...
dependencies {
classpath 'com.google.gms:google-services:4.3.15' //추가
}
}
...
apply plugin: 'com.google.gms.google-services' //반드시, script 맨 하단에 작성
Duplicate class com.google.gson.. 이슈로 build 실패 시 implementation fileTree를 아래와 같이 수정
- implementation fileTree(dir: 'mcoreLibs', excludes: ['android-support-v4.jar','gson.jar'], include: ['*.jar'])
다운로드 받은 madp plugin 압축파일을 해제한 후 /src/android 하위의 폴더 및 파일을 참고하여 프로젝트의 src/[패키지]/경로에 적용합니다.
- 프로젝트의 app ID에 맞게 R.calss, package 영역을 수정해야 합니다.
- PushMessageManager.java를 적용하는 경우 AndroidManifest.xml에 activity 추가해야합니다.
AndroidManifest.xml에 아래 내용을 추가합니다 .
<application>
...
<!--PushMessageManager를 적용하는 경우 추가-->
<activity
android:name=".PushMessageManager"
android:configChanges="locale|keyboardHidden|orientation|screenSize" />
<receiver
android:name=".receiver.MessageArrivedReceiver"
android:exported="false">
<intent-filter>
<action android:name="${applicationId}.GCM_MESSAGE_ARRIVED" />
</intent-filter>
</receiver>
<receiver
android:name=".receiver.PushActionReceiver"
android:exported="false">
<intent-filter>
<action android:name="${applicationId}.ACTION_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
...
</application>
API 샘플로 push.html파일을 참고하여 테스트를 진행해보실수 있습니다.
- plugin file로 제공한 압축파일 내의 java파일은 notification 수신 및 수신 후 처리 영역으로 커스텀하여 사용하실 수 있습니다. 메시지 수신 후 처리 영역 : FcmNotifyHelper, MessageArrivedReceiver, PushMessageManager
- mpush 이외의 FCM을 별도로 사용하는 프로젝트의 경우 아래 주소를 참고하시어 CustomMessagingService를 적용하실 수 있습니다. https://developer.uracle.co.kr/faq/?mod=document&pageid=1&keyword=CustomMessagingService&uid=2704
MADP 프로젝트에 IDE에서 push.r4 또는 push.r5 플러그인을 다운로드 및 적용합니다.
XCode에서 APNS 사용을 위해 Capability를 설정합니다.
다운로드 받은 madp plugin 압축파일을 해제한 후 /ios 하위의 파일을 참고하여 프로젝트에 적용합니다.
API 테스트 샘플을 위한 push.html 파일을 참고하여 테스트를 진행해보실수 있습니다.
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"
}
}
푸쉬 관련 API는 아래 링크를 참고 바랍니다.