본문으로 건너뛰기

안드로이드 가이드

SDK 지원 버전

  • minSdkVersion 19

Firebase SDK 적용 가이드

로플랫 SDK를 사용하기 위해서는 아래 과정을 통해 앱에 Firebase SDK를 추가해 주셔야합니다.

  1. Firebase 구성 파일 추가 (링크)
  2. 앱에 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는 loplat SDK를 start하기 전에 반드시 등록하셔야 합니다."
  • echo_code는 로플랫과 데이터 연동시 고객사에서 분석과 조회하기 위한 사용자 식별 코드입니다. 이 코드는 오직 고객사에 전달하는 용도로만 사용되며 별도 저장하거나 활용하지 않습니다.
  • echo_code가 등록되지 않은 상태에서 알림을 수신하면 성과 측정 시 결과가 반영되지 않을 수 있습니다.

생성한 Application 클래스에서 Plengi setEchoCode를 다음과 같이 선언을 합니다.

Plengi.getInstance(this).setEchoCode("[ECHO_CODE]");
"echoCode 에는 개인정보가 포함되면 안됩니다."

이메일, 전화번호와 같은 개인정보 혹은 광고ID(ADID, IDFA)를 전달하지 마세요.

  • 예시코드
"생성한 Application 클래스는 무조건 AndroidManifest.xml에 등록해야합니다."

생성한 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 수신을 위해서 FirebaseMessagingService를 상속받아 사용 중이신 경우"

다음과 같이 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)로 지정해두시면 알림을 클릭했을 때 해당 사이트로 이동합니다.