> ## 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のアプリ内メッセージを使用してユーザーにApp StoreまたはGoogle Playのレビューを促し、ネイティブの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="ユーザーにアプリを評価するよう促す「今すぐレビュー」ボタン付きのアプリ内メッセージ" 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評価テンプレートを開きます。

レビューボタンにアクションIDを追加します：

<Frame caption="「今すぐレビュー」ボタンにカスタムアクション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. トリガーを追加する

トリガーは、メッセージをいつ表示するかを制御します。コード不要またはコード必須のアプローチを使用できます。

**コード不要**: レビューを求めたいユーザーをターゲットにするようにオーディエンスを設定します — たとえば、多くのセッションを持ち、長期間アプリを使用しているユーザーなど。

**コード必須**: 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イコール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. セグメントを更新して「デバイスタイプがAndroid」フィルターを使用します。
  2. アプリ内メッセージを複製し、複製のセグメントを更新して「デバイスタイプがiOS」フィルターを使用します。2つの異なるセグメントを持つ2つのアプリ内メッセージが必要です。
  3. 「今すぐレビュー」ボタンに[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`メソッドを使用して、レビューボタンがクリックされたことを（アクション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日以内に最大3回表示します。Google Playはタイムバウンドのクォータを設けていますが、正確な上限は公開していません — 短期間（1ヶ月未満）にAPIを複数回呼び出してもダイアログが表示されない場合があります。

これらの制限内に収めるために、アプリ内スケジュールを17週間ごとに1回表示するように設定します：

<Frame caption="合計40回まで表示し、17週間間隔で表示するアプリ内スケジュール設定">
  <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は`RequestReviewAction`プロンプトをユーザーごとに365日以内に最大3回表示します。これはシステムによって強制されるため、アプリでカウントを追跡する必要はありません。[App Storeレビューのリクエスト](https://developer.apple.com/documentation/storekit/requesting_app_store_reviews)を参照してください。

### Googleのネイティブレビュープロンプトはどのくらいの頻度で表示されますか？

Google Playはクォータを設けていますが、正確な上限は公開していません。短期間（1ヶ月未満）に`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>
