> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 앱 스토어 리뷰 더 많이 받기

> OneSignal 인앱 메시지와 네이티브 iOS 및 Android 리뷰 프롬프트를 사용하여 앱을 떠나지 않고 사용자에게 리뷰를 요청하고, 마찰을 줄이며 평점을 높이세요.

OneSignal 인앱 메시지를 사용하여 앱을 떠나지 않고 App Store 또는 Google Play 리뷰를 요청하세요. 이 튜토리얼은 코드가 필요 없는 방법과 코드가 필요한 방법 모두를 다룹니다.

<Frame caption="App Store 리뷰를 남기도록 사용자에게 요청하는 인앱 메시지 예시">
  <img src="https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/8c81fd3f2381baae2ac9176c24fb1e5684df33e991e0726c64a459ed798c7148-Screenshot_2024-11-12_at_12.00.20_PM.png?fit=max&auto=format&n=tc0EvmtSSX56SX0c&q=85&s=df73e58df4a1b6610f1cfffd84bd25d4" alt="앱 평점 요청을 위한 Review Now 버튼이 포함된 인앱 메시지" width="1016" height="617" data-path="images/docs/8c81fd3f2381baae2ac9176c24fb1e5684df33e991e0726c64a459ed798c7148-Screenshot_2024-11-12_at_12.00.20_PM.png" />
</Frame>

## 설정

### 1. 메시지 만들기

**Messages > In-App > New In-App**으로 이동하거나 기존 App Store Rating 템플릿을 여세요.

리뷰 버튼에 Action ID를 추가하세요:

<Frame caption="Review Now 버튼에 Custom Action ID 설정">
  <img src="https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/293839ca5534557c35929fdaa6eb5581c7218da770f2601bd3e7d819164430b8-Screenshot_2024-11-12_at_12.13.39_PM.png?fit=max&auto=format&n=3zq1PvSaqvUE2bIx&q=85&s=c88fe293c4f381dd0e44c686c54af348" alt="버튼 요소의 Custom Action ID 필드가 review로 설정된 OneSignal 인앱 메시지 편집기" width="1211" height="685" data-path="images/docs/293839ca5534557c35929fdaa6eb5581c7218da770f2601bd3e7d819164430b8-Screenshot_2024-11-12_at_12.13.39_PM.png" />
</Frame>

### 2. 트리거 추가

트리거는 메시지가 표시되는 시기를 제어합니다. 코드가 필요 없는 방법 또는 코드 기반 방법을 사용할 수 있습니다.

**코드 없는 방법**: 리뷰를 받고 싶은 사용자를 대상으로 Audience를 설정하세요. 예를 들어 세션이 많고 앱을 오랫동안 사용한 사용자를 대상으로 할 수 있습니다.

**코드 기반 방법**: SDK의 `addTrigger` 메서드를 사용하여 사용자 동작에 따라 프로그래밍 방식으로 메시지를 표시하세요. 사용자가 중요한 작업을 수행하는 도중에는 프롬프트를 표시하지 마세요.

이 예시에서 **In-App Trigger** 키는 `ask_for_review`이고 값은 `show`입니다. 키와 값은 어떤 것이든 사용할 수 있지만 `addTrigger`에 전달하는 값과 일치해야 합니다:

`OneSignal.InAppMessages.addTrigger("ask_for_review", "show");`

<Frame caption="addTrigger 메서드 호출과 일치하는 인앱 트리거 키-값">
  <img src="https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/459e14e99af52793454464b3e52ddc518f7a8c73021c16aae24b3389532c012a-Screenshot_2024-11-12_at_12.24.08_PM.png?fit=max&auto=format&n=YOTSrtBSoqdrJ37A&q=85&s=0a50f0c58f47de1b1ad7d478fea5ea77" alt="인앱 메시지 트리거가 ask_for_review equals show로 설정된 OneSignal 대시보드" width="825" height="236" data-path="images/docs/459e14e99af52793454464b3e52ddc518f7a8c73021c16aae24b3389532c012a-Screenshot_2024-11-12_at_12.24.08_PM.png" />
</Frame>

### 3. 앱 스토어 평점 프롬프트 처리

코드가 필요 없는 방법 또는 코드 기반 방법으로 사용자에게 리뷰를 안내할 수 있습니다.

<Accordion title="코드 없는 옵션">
  1. 세그먼트를 업데이트하여 "Device Type is Android" 필터를 사용하세요.
  2. 인앱 메시지를 복제하고 복제된 메시지의 세그먼트를 업데이트하여 "Device Type is iOS" 필터를 사용하세요. 두 개의 별도 세그먼트를 가진 두 개의 인앱 메시지가 있어야 합니다.
  3. "Review Now" 버튼에 [URL 클릭 작업](./iam-click-actions)을 추가하여 앱의 스토어 목록으로 연결하세요:
     * **Android**: `https://play.google.com/store/apps/details?id=YOUR_PACKAGE_NAME` — [Google Play 링크 설정](https://developer.android.com/distribute/marketing-tools/linking-to-google-play.html) 참고
     * **iOS**: `https://apps.apple.com/app/idYOUR_APP_STORE_ID?action=write-review` — [App Store 리뷰 요청](https://developer.apple.com/documentation/storekit/requesting_app_store_reviews) 참고
</Accordion>

<Accordion title="코드 기반 옵션">
  SDK의 `InAppMessages.addClickListener` 메서드를 사용하여 리뷰 버튼이 클릭된 시점을 감지하고(Action ID를 확인하여), 네이티브 iOS 또는 Android 리뷰 API를 호출하여 평점 모달을 표시하세요.

  ```dart theme={null}
  OneSignal.InAppMessages.addClickListener((event) async {
    if (event.result.actionId == 'review') {
      if (await inAppReview.isAvailable()) {
        inAppReview.requestReview();
      }
    }
  });
  ```

  이 예시는 [in\_app\_review](https://pub.dev/packages/in_app_review) Flutter 패키지를 사용합니다. 플랫폼에 맞게 조정하세요 — iOS의 경우 [RequestReviewAction](https://developer.apple.com/documentation/storekit/requestreviewaction), Android의 경우 [Google Play 인앱 리뷰 API](https://developer.android.com/guide/playcore/in-app-review)를 참고하세요.
</Accordion>

### 4. 예약 및 활성화

Apple은 365일 기간 내에 최대 세 번까지 네이티브 리뷰 프롬프트를 표시합니다. Google Play는 시간 제한 할당량을 적용하지만 정확한 한도를 공개하지 않습니다. 짧은 기간(한 달 미만) 내에 API를 두 번 이상 호출하면 다이얼로그가 표시되지 않을 수 있습니다.

이 한도 내에 유지하려면 인앱 일정을 17주마다 한 번씩 표시되도록 설정하세요:

<Frame caption="17주 간격으로 총 40회 표시되도록 설정된 인앱 일정">
  <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/5c63bb89120c9fcffa5c3836f3f13de2db38952bc61c56d2f8d18c0bf450986f-Screenshot_2024-11-19_at_11.49.26_AM.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=690b7ecb27ab452252390d5511f6f821" alt="총 40회 표시 및 17주 간격이 설정된 OneSignal 인앱 메시지 예약 설정" width="898" height="187" data-path="images/docs/5c63bb89120c9fcffa5c3836f3f13de2db38952bc61c56d2f8d18c0bf450986f-Screenshot_2024-11-19_at_11.49.26_AM.png" />
</Frame>

<Tip>
  긍정적인 리뷰를 늘리려면 훌륭한 경험을 한 사용자를 대상으로 하세요. 예를 들어 세션이 많거나 이전 인앱 메시지를 통해 긍정적인 피드백을 남긴 사용자를 대상으로 할 수 있습니다. 이러한 사용자에게 [태그](./add-user-data-tags)를 설정하고 리뷰 프롬프트의 대상으로 사용할 세그먼트를 만드세요.
</Tip>

***

## FAQ

### Apple의 네이티브 리뷰 프롬프트는 얼마나 자주 표시될 수 있나요?

Apple은 사용자당 365일 기간에 최대 세 번까지 `RequestReviewAction` 프롬프트를 표시합니다. 이는 시스템에서 강제 적용되므로 앱에서 횟수를 추적할 필요가 없습니다. [App Store 리뷰 요청](https://developer.apple.com/documentation/storekit/requesting_app_store_reviews)을 참고하세요.

### Google의 네이티브 리뷰 프롬프트는 얼마나 자주 표시될 수 있나요?

Google Play는 할당량을 적용하지만 정확한 한도를 공개하지 않습니다. 짧은 기간(한 달 미만) 내에 `launchReviewFlow`를 두 번 이상 호출하면 다이얼로그가 표시되지 않을 수 있습니다. 할당량은 Google이 사전 통지 없이 변경할 수 있는 구현 세부 사항입니다. [인앱 리뷰 할당량](https://developer.android.com/guide/playcore/in-app-review#quotas)을 참고하세요.

### 네이티브가 아닌 앱(Flutter, React Native, Expo)에서도 사용할 수 있나요?

네. 플랫폼별 플러그인을 사용하여 네이티브 리뷰 API를 호출하세요. 예를 들어 Flutter의 경우 [in\_app\_review](https://pub.dev/packages/in_app_review), Expo의 경우 [StoreReview](https://docs.expo.dev/versions/latest/sdk/storereview/)를 사용할 수 있습니다. OneSignal 인앱 메시지와 클릭 리스너는 프레임워크에 관계없이 동일하게 작동합니다.

***

<Columns cols={2}>
  <Card title="인앱 클릭 액션" icon="hand-pointer" href="./iam-click-actions">
    인앱 메시지 요소에 URL, 권한 프롬프트, 태그, 결과 및 커스텀 클릭 액션을 설정하세요.
  </Card>

  <Card title="태그" icon="tags" href="./add-user-data-tags">
    동작에 따라 사용자에게 태그를 지정하여 타겟 메시지를 위한 세그먼트를 구성하세요.
  </Card>
</Columns>
