푸시 메시지 연동

1. Firebase 프로젝트 연동하기

안드로이드 앱에서 푸시 메시지를 사용하기 위해서는 핵클 워크스페이스와 Firebase 프로젝트 연동 설정이 필요합니다.

자세한 내용은 Android FCM 연동을 참고해주세요.

2. Firebase Cloud Messaging SDK 연동하기

Firebase Cloud Messaging 설치 가이드 를 참고하여 안드로이드 앱 설정을 완료해주세요.

3. 핵클 SDK와 연동하기

SDK 연동 를 참고해서 핵클 SDK 의존성을 추가하고 SDK를 초기화 합니다.

앱 빌드, 실행 시 자동으로 푸시 토큰이 등록 됩니다.

4. 푸시 메시지 테스트


(Advanced) 딥링크 이동

핵클 푸시 메시지는 클릭 시 딥링크 이동을 지원합니다. 푸시 메시지를 통해 해당 액티비티가 열리는 경우 아래와 같은 방법으로 열린 딥링크 정보를 확인할수 있습니다.

안드로이드 딥링크에 대한 자세한 사항은 안드로이드 딥링크 가이드 에서 확인 가능합니다.

import android.app.Activity
import android.content.Intent
import android.os.Bundle

class ExampleActivity : Activity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstance)
        if (intent != null && !intent.dataString.isNullOrEmpty()) {
            //  Do something ...
            println("link : ${intent?.dataString}")
        }
    }
    
    override fun onNewIntent(intent: Intent?) {
        super.onNewIntent(intent)
        setIntent(intent)
        if (intent != null && !intent.dataString.isNullOrEmpty()) {
            //  Do something ...
            println("link : ${intent?.dataString}")
        }
    }
}
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import androidx.annotation.Nullable;

public class ExampleActivity extends Activity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Intent intent = getIntent();
        if (intent != null && intent.getDataString() != null) {
            String text = String.format("link : %s", intent.getDataString());
            System.out.println(text);
        }
    }

    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        setIntent(intent);
        if (intent != null && intent.getDataString() != null) {
            String text = String.format("link : %s", intent.getDataString());
            System.out.println(text);
        }
    }
}

(Advanced) 푸시 수신 동의 설정

푸시 수신 동의 여부(HacklePushSubscriptionStatus)를 사용자로부터 받아 서버에 등록합니다.

이전에 푸시 수신 동의 여부를 설정하지 않은 경우(UNKNOWN) 또는 updatePushSubscriptionStatus API를 호출하여 푸시 수신 동의(SUBSCRIBED)로 설정한 경우에는 푸시가 발송됩니다.

명시적으로 updatePushSubscriptionStatus API를 호출하여 푸시 수신 안함(UNSUBSCRIBED)으로 설정한 경우에만 푸시가 발송되지 않습니다.

푸시 수신 동의 설정

Hackle.app.updatePushSubscriptionStatus(HacklePushSubscriptionStatus.SUBSCRIBED)
HackleApp.getInstance().updatePushSubscriptionStatus(HacklePushSubscriptionStatus.SUBSCRIBED);

HacklePushSubscriptionStatus

Type설명
SUBSCRIBED푸시 수신 동의
UNSUBSCRIBED푸시 수신 안함
UNKNOWN알 수 없음