Google Play 인라인 설치 (앱)
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
이 페이지에서는 앱 개발자가 Google Play 앱 제품 세부정보를 하프 시트 인터페이스에 표시하는 Google Play의 새로운 테스트 기능인 인라인 설치를 통합하는 방법을 설명합니다. 인라인 설치를 사용하면 사용자가 앱 컨텍스트를 벗어나지 않고도 원활한 앱 설치 흐름을 경험할 수 있습니다. 앱 개발자는 Play에서 배포되거나 업데이트된 앱에 인라인 설치 기능을 통합하고 테스트할 수 있습니다.
요구사항
앱에 하프 시트 인터페이스가 표시되려면 다음을 실행합니다.
- 최소 Google Play 버전은 40.4여야 합니다.
- Android API 수준은 23 이상이어야 합니다.
앱에서 인라인 설치 호출
앱에서 인라인 설치 하프 시트를 호출하려면 딥 링크 URL을 여는 Intent
클래스의 인스턴스를 만듭니다. 다음 샘플 코드 (Kotlin 또는 Java)를 가이드라인으로 사용하세요.
Kotlin
val intent = Intent(Intent.ACTION_VIEW)
val referrer = "<Your referrer string>"
val id = "<Package name of the app that is to be installed>"
val callerId = "<Package name of your app>"
intent.setPackage("com.android.vending")
val deepLinkUrl = "https://play.google.com/d?id=$id&referrer=$referrer&listing=$csl_id"
intent.data = Uri.parse(deepLinkUrl)
intent.putExtra("overlay", true)
intent.putExtra("callerId", "$callerId")
val packageManager = context.getPackageManager()
if (intent.resolveActivity(packageManager) != null) {
startActivityForResult(intent, 0)
} else {
// Fallback to deep linking to full Play Store.
}
자바
Intent intent = new Intent(Intent.ACTION_VIEW);
String referrer = "<Your referrer string>";
String id = "<Package name of the app that is to be installed>";
String callerId = "<package name of your app>";
String csl_id = "<Custom store listing id>";
intent.setPackage("com.android.vending");
String deepLinkUrl = "https://play.google.com/d?id=" + id + "&referrer=" + referrer + "&listing=" + csl_id;
intent.setData(Uri.parse(deepLinkUrl));
intent.putExtra("overlay", true);
intent.putExtra("callerId", callerId);
PackageManager packageManager = context.getPackageManager();
if (intent.resolveActivity(packageManager) != null) {
startActivityForResult(intent, 0);
} else {
// Fallback to deep linking to full Play Store.
}
인라인 설치 API 매개변수
필드 |
설명 |
필수 |
referrer |
선택사항인 리퍼러 추적 문자열 |
아니요 |
id |
설치할 앱의
패키지 이름 |
예 |
overlay |
인라인 하프 시트가 요청된 경우 true 로 설정합니다. false 인 경우 인텐트가 Google Play로 딥 링크됩니다. |
예 |
callerId |
호출자 앱의
패키지 이름 |
예 |
listing |
맞춤 스토어 등록정보의 타겟을 지정하는 선택적 매개변수 |
아니요 |
앱 설치 흐름에 Google Play 인라인 설치 절반 시트 인터페이스가 표시되지 않으면 Google Play 등록정보로 연결되는 직접 링크 (딥 링크)가 대신 표시됩니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Google Play Inline Installs (Apps)\n\nThis page describes how app developers can integrate *inline install*, a new\ntest feature for Google Play that presents Google Play app product details in a\nhalf sheet interface. Inline install enables users to experience a seamless app\ninstall flow without leaving the context of the app. App developers can\nintegrate and test the inline install feature for Play distributed or updated\napps.\n\nRequirements\n------------\n\nFor the half sheet interface to appear in an app:\n\n- The minimum Google Play version must be **40.4**.\n- The Android API level must be **23 or higher**.\n\nInvoke inline installs from an app\n----------------------------------\n\nTo invoke inline install half sheet from an app, create an instance of the\n[`Intent`](/reference/android/content/Intent) class, which opens a deep link\nURL. Use the following sample code (Kotlin or Java) as a guideline. \n\n### Kotlin\n\n```kotlin\nval intent = Intent(Intent.ACTION_VIEW)\nval referrer = \"\u003cYour referrer string\u003e\"\nval id = \"\u003cPackage name of the app that is to be installed\u003e\"\nval callerId = \"\u003cPackage name of your app\u003e\"\nintent.setPackage(\"com.android.vending\")\nval deepLinkUrl = \"https://play.google.com/d?id=$id&referrer=$referrer&listing=$csl_id\"\nintent.data = Uri.parse(deepLinkUrl)\nintent.putExtra(\"overlay\", true)\nintent.putExtra(\"callerId\", \"$callerId\")\nval packageManager = context.getPackageManager()\nif (intent.resolveActivity(packageManager) != null) {\n startActivityForResult(intent, 0)\n} else {\n // Fallback to deep linking to full Play Store.\n}\n```\n\n### Java\n\n```java\nIntent intent = new Intent(Intent.ACTION_VIEW);\nString referrer = \"\u003cYour referrer string\u003e\";\nString id = \"\u003cPackage name of the app that is to be installed\u003e\";\nString callerId = \"\u003cpackage name of your app\u003e\";\nString csl_id = \"\u003cCustom store listing id\u003e\";\nintent.setPackage(\"com.android.vending\");\nString deepLinkUrl = \"https://play.google.com/d?id=\" + id + \"&referrer=\" + referrer + \"&listing=\" + csl_id;\nintent.setData(Uri.parse(deepLinkUrl));\nintent.putExtra(\"overlay\", true);\nintent.putExtra(\"callerId\", callerId);\nPackageManager packageManager = context.getPackageManager();\nif (intent.resolveActivity(packageManager) != null) {\n startActivityForResult(intent, 0);\n} else {\n // Fallback to deep linking to full Play Store.\n}\n```\n\nInline install API parameters\n-----------------------------\n\n| Field | Description | Required |\n|------------|---------------------------------------------------------------------------------------------------|----------|\n| `referrer` | An optional [referrer](/google/play/installreferrer) tracking string | No |\n| `id` | The [package name](https://support.google.com/admob/answer/9972781) of the app to be installed | Yes |\n| `overlay` | Set to `true` if inline half sheet is requested; if `false`, the intent deep links to Google Play | Yes |\n| `callerId` | The [package name](https://support.google.com/admob/answer/9972781) of the caller app | Yes |\n| `listing` | An optional parameter to specify the target for a custom store listing | No |\n\nIf the app install flow doesn't display the Google Play inline install half\nsheet interface, a direct (deep link) to the Google Play listing is shown\ninstead."]]