기본적으로 맞춤 탭은 전체 창 활동으로 실행됩니다. Chrome에서 시작 107에서 일부 맞춤 탭을 사용하여 시작 높이를 지정할 수 있습니다. 사용자가 앱과 상호작용하여 멀티태스킹할 수 있는 세로 모드입니다. 웹 콘텐츠 조회. 사용자는 드래그하여 맞춤 탭을 전체 화면으로 확장할 수 있습니다. 도구 모음에서 핸들을 드래그하여 초기 시작 높이를 복원하고 처리할 수 있습니다.
<ph type="x-smartling-placeholder">Chrome 120부터 대형 화면이나 가로 모드의 기기인 경우 측면에 맞춤 탭의 일부를 표시하기 위한 최대 실행 너비 시트입니다. 중단점을 설정하면 부분적인 맞춤 광고를 언제 시작할지 결정할 수 있습니다. 하단 또는 측면 시트에서 Tab 키를 누릅니다.
<ph type="x-smartling-placeholder">를 통해 개인정보처리방침을 정의할 수 있습니다.기본 요건
일부 맞춤 탭을 사용하려면 다음을 수행해야 합니다.
CustomTabsServiceConnection
를 사용하여 새 브라우저 세션 시작 맞춤 탭 인텐트에 전달합니다.맞춤 탭 활동을 시작하려면
startActivityForResult()
서비스가 실행 중일 때 빠른 시작을 원하는 경우 두 접근 방식 결합 연결이 아직 설정되지 않았습니다.
하단 시트 구성
맞춤 탭을 부분 맞춤 탭으로 전환하려면 초기 실행 높이를 정의하세요.
CustomTabBuilder
클래스의
setInitialActivityHeightPx()
메서드를 사용하여 축소하도록 요청합니다. 기본적으로 일부 맞춤 탭의 크기를 조절할 수 있지만
ACTIVITY\_HEIGHT\_FIXED
드림
이 동작을 사용 중지합니다.
new CustomTabsBuilder().setInitialActivityHeightPx(
400,
ACTIVITY_HEIGHT_FIXED
);
측면 시트 구성
측면 시트 동작을 구성하려면 초기 시작 너비를 다음과 같이 픽셀 단위로 정의합니다.
CustomTabBuilder
클래스의
setInitialActivityWidthPx()
메서드를 사용하여 축소하도록 요청합니다.
기본적으로 일부 맞춤 탭의 크기를 조절할 수 있지만
ACTIVITY\_HEIGHT\_FIXED
드림
이 동작을 사용 중지합니다.
CustomTabsIntent.Builder intentBuilder = new CustomTabsIntent.Builder(session)
.setInitialActivityHeightPx(400)
.setInitialActivityWidthPx(400);
.setActivitySideSheetBreakpointDp(800);
화면 너비가 다음보다 크면 맞춤 탭이 사이드 시트처럼 작동합니다.
인코더-디코더에 의해 설정된
setActivitySideSheetBreakpointDp()였습니다.
화면의 너비가 x
보다 크면 맞춤 탭이 측면처럼 작동합니다.
그렇지 않으면 하단 시트로 작동합니다. 중단점이 없는 경우
브라우저 구현이 기본값 840dp
로 설정되어야 합니다.
x
가 <600dp
로 설정되면 브라우저 구현에서는 기본값을 다음과 같이 설정해야 합니다.
600dp
입니다.
기존 세션으로 부분적인 맞춤 탭 실행
CustomTabsSession customTabsSession;
// ...
CustomTabsIntent customTabsIntent = new CustomTabsIntent.Builder(customTabsSession)
.setInitialActivityHeightPx(500)
.setInitialActivityWidthPx(400);
.setActivitySideSheetBreakpointDp(800);
.setCloseButtonPosition(CustomTabsIntent.CLOSE_BUTTON_POSITION_END)
// ...
.build();
customTabsIntent.launchUrl(context, Uri.parse(url))
startActivityForResult를 통해 부분 맞춤 탭 실행
private ActivityResultLauncher<String> mCustomTabLauncher = registerForActivityResult(new ActivityResultContract<String, Integer>() {
@Override
public Integer parseResult(int statusCode, @Nullable Intent intent) {
return statusCode;
}
@NonNull
@Override
public Intent createIntent(@NonNull Context context, String url) {
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(customTabsSession)
.setInitialActivityHeightPx(500)
.setInitialActivityWidthPx(400);
.setActivitySideSheetBreakpointDp(800);
.setCloseButtonPosition(CustomTabsIntent.CLOSE_BUTTON_POSITION_END)
.setToolbarCornerRadiusDp(10);
Intent customTabsIntent = builder.build().intent;
customTabsIntent.setData(Uri.parse(url));
return customTabsIntent;
}
}, new ActivityResultCallback<Integer>() {
@Override
public void onActivityResult(Integer statusCode) {
// ...
}
});
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
Button selectButton = findViewById(R.id.select_button);
selectButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
mCustomTabLauncher.launch(customTabsIntent.intent);
}
});
}
다음 단계: 맞춤 탭에서 사용자 참여도를 측정하는 방법을 알아보세요.