안드로이드 가이드
SDK 지원 버전
minSdkVersion
19
Firebase SDK 적용 가이드
로플랫 SDK를 사용하기 위해서는 아래 과정을 통해 앱에 Firebase SDK를 추가해 주셔야합니다.
SDK 적용 가이드
프로젝트 내, 최상위 build.gradle
에 아래의 코드를 추가하세요.
allprojects {
repositories {
jcenter()
mavenCentral()
maven { url "https://maven.loplat.com/artifactory/plengi-aimessage"}
google()
}
}
이후 앱의 build.gradle 에 아래의 코드를 추가하세요.
implementation 'com.loplat:placeengine:[최신버전]'
sdk 인증을 위해 loplat client_id와 client_secret을 추가해주세요.
client_id, client_secret 관련 정보는 메일로 전달 합니다.
defaultConfig {
resValue "string", "[client_id 키명]", "[client_id]"
resValue "string", "[clinet_secret 키명]", "[client_secret]"
}
알림 권한 추가
targetSdkVersion 33 이상일 경우 AndroidManifest.xml에 알림 허용 권한을 추가해야 합니다.
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
이후 안드로이드 정책에 따라 사용자에게 해당 권한에 대해 설명하고 동의를 받아야 합니다.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
if (ContextCompat.checkSelfPermission(context, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(context, Manifest.permission.POST_NOTIFICATIONS)) {
// Explain to the user why we need to write the permission.
} else {
ActivityCompat.requestPermissions(context, new String[]{Manifest.permission.POST_NOTIFICATIONS}, 101);
}
}
}
echo code 등록
- echo_code는 로플랫과 데이터 연동시 고객사에서 분석과 조회하기 위한 사용자 식별 코드입니다. 이 코드는 오직 고객사에 전달하는 용도로만 사용되며 별도 저장하거나 활용하지 않습니다.
- echo_code가 등록되지 않은 상태에서 알림을 수신하면 성과 측정 시 결과가 반영되지 않을 수 있습니다.
생성한 Application 클래스에서 Plengi setEchoCode를 다음과 같이 선언을 합니다.
Plengi.getInstance(this).setEchoCode("[ECHO_CODE]");
echoCode
에는 개인정보가 포함되면 안됩니다."이메일, 전화번호와 같은 개인정보 혹은 광고ID(ADID, IDFA)를 전달하지 마세요.
- 예시코드
생성한 Application
클래스를 AndroidManifest.xml
에 등록해주세요. 등록하지 않은 경우, SDK가 동작하지 않습니다.
public class LoplatSampleApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Plengi.getInstance(this).setListener(new LoplatPlengiListener());
Plengi.getInstance(this).setEchoCode("[ECHO_CODE]");
}
}
<application
android:name=".LoplatSampleApplication"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<!-- 이하 생략... -->
>
SDK 구동하기
마케팅 알림 동의 여부에 따라 다음 API를 호출해주세요.
다음과 같이 FCM 수신 시, loplat이 보낸 FCM인 경우 알림을 생성하지 않도록 해주세요.
loplat이 보낸 FCM은 'client_id' key가 포함되어있는지 확인하시면 됩니다.
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Map<String, String> data = remoteMessage.getData();
if (data.containsKey("client_id")) {
// 로플랫이 보낸 FCM, 알림 생성 X
}
}
}
start 전 반드시 echo_code를 등록해주셔야 메시지 전송 집계가 가능합니다.
마케팅 알림 설정이 On인 경우 메시지 수신을 시작합니다.
Plengi.getInstance(this).enableAdNetwork(true);
마케팅 알림 설정이 Off 인 경우 메시지 수신을 종료합니다.
Plengi.getInstance(this).enableAdNetwork(false);
딥링크 등록
앱 내 화면으로 이동
앱 내 특정화면으로 이동하기 위해서는 AndroidManifest.xml
에서 이동하길 원하는 activity에 딥링크 사용 여부를 선언해두어야 합니다.
- 예시코드
예시 코드를 사용해서 X에서 테스트 메시지를 보내보세요. 미리 딥링크 동작 여부를 확인 하실 수 있습니다.
<activity
android:name = "TestActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="inapp" android:host="testView" />
</intent-filter>
</activity>
위와 같이 선언하신 경우 X에서 캠페인 생성 시 딥링크 란에 inapp://testView
를 입력해주시면 생성된 알림을 클릭했을 때 TestActivity로 이동합니다.
<intent-filter>
에 아래 항목과 <data>
태그가 함께 있으면 앱 아이콘이 보이지 않습니다.
android.intent.action.MAIN
android.intent.category.LAUNCHER
그런 경우엔 다음과 같이 <intent-filter>
를 나눠서 추가해주세요.
<activity
android:name = "TestActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="inapp" android:host="testView" />
</intent-filter>
</activity>
외부 사이트로 이동
별도 선언없이 X에서 캠페인을 생성할 때 딥링크를 이동하실 웹사이트 주소로 (https://www.loplat.com
)로 지정해두시면 알림을 클릭했을 때 해당 사이트로 이동합니다.