가이드: Flex SDK 레퍼런스
kr.co.flexapp.andr:flex-lib:1.0.16
FlexFragment를 상속하는 커스텀 프래그먼트(Custom Fragment) 를 선언하세요.
onCustomAction()에 별도의 코드를 추가할 필요는 없습니다.import kr.co.ksystem.companity.FlexFragment;
import kr.co.ksystem.companity.dto.CustomAction;
public class MyFragment extends FlexFragment {
@Override
protected void onCustomAction(CustomAction customAction, PassResultToWeb passResultToWeb) {
//onCustomAction() 콜백은 웹뷰 컨텍스트에서 받은 커스텀 액션을 처리하는 데 사용해야 합니다.
//받은 customAction?.action 및 customAction?.param에 따라 처리합니다.
//액션의 결과를 passResultToWeb?.onResult(errStr, resultStr)로 전달합니다.
}
}
알림 Intent의 linkParam과 appId(fAppID)를 커스텀 프래그먼트로 전달합니다.
Activity는 반드시 AppCompatActivity를 상속하고,FlexFragment.onWebViewBackPressed 인터페이스를 구현해야 합니다. 이렇게 하면 웹뷰에서의 뒤로가기 동작을 액티비티로 전달할 수 있습니다.
또한, onDestroy(), onStop(), onPause() 콜백 내에서 반드시 아래 메서드를 호출해 주세요:
CookieManager.getInstance().flush();
Application 클래스 생성Application 클래스를 아래와 같이 확장하여 오버라이드 해주세요.
import android.app.Application;
import android.content.Context;
import com.google.firebase.messaging.RemoteMessage;
import kr.co.ksystem.companity.utils.PushNotificationConfig;
import kr.co.ksystem.companity.utils.PushNotificationHandler;
public class MyApplication extends Application implements PushNotificationHandler {
@Override
public void onCreate() {
super.onCreate();
/*
PushNotificationHandler는 푸시 알림 설정을 처리하는 데 사용됩니다.
이 클래스는 앱이 포그라운드(화면에 활성화된 상태)일 때 수신되는 RemoteMessage에 대해서만 동작합니다.
앱이 백그라운드에 있을 경우에는 운영체제가 자동으로 푸시 알림을 처리하고,
AndroidManifest에 설정된 액티비티를 열어 앱을 실행합니다.
*/
PushNotificationConfig.setPushNotificationHandler(this);
}
@Override
public boolean handleMessage(Context context, RemoteMessage remoteMessage) {
// true를 반환하면 앱 측 코드가 RemoteMessage를 처리했음을 의미하며,
// 이 경우 SDK는 별도로 알림을 생성하지 않습니다.
// false를 반환하면 앱 측 코드가 RemoteMessage를 처리하지 않았음을 의미하며,
// 이 경우 SDK가 알림 표시를 처리합니다.
return false;
}
@Override
public Class<?> getTargetActivity(RemoteMessage remoteMessage) {
// handleMessage()에서 false를 반환하면, SDK는 알림 클릭 시 실행할 액티비티 클래스를 요청합니다.
// 이 클래스가 제공되지 않으면, SDK는 기본적으로 SDK에 정의된 MainActivity를 실행 액티비티로 설정합니다.
return MainActivity.class;
}
}