• アプリ内メッセージの制限と注意事項について

    アプリ内メッセージの制限事項および注意事項は以下の通りです。

    配信期間・配信回数に関する制限事項

    • 配信期間の指定

      • メッセージの開始日・終了日は、それぞれ登録日から「180日後まで」指定可能です。
         
    • 総表示回数の制限

      • 回数超過の可能性
        • メッセージの総表示回数を設定した場合でも、配信数は数分間隔で集計されるため、タイミングによっては上限回数を超えて配信される可能性があります。 
      • SDKバージョンの制限
        • 「総表示回数」による制限を利用するには、対応SDK(iOS 11.1.0 / Android 12.0.0以上)へのアップデートが必要です。未対応のSDKを利用している場合、上限を設定しても制限なく表示されます。

     

    画面表示・優先順位に関する注意事項

    • 表示の優先順位ルール

      • 複数のメッセージが同じタイミングで表示対象となった場合、「優先度ポイントが高いもの」(同ポイントの場合は登録日時が新しいもの)から優先して1通ずつ表示されます。

       ※ 表示順の詳しい仕組みや、複数トリガー設定時の制限については、以下のガイドをご確認ください。

        複数のアプリ内メッセージを同じタイミングで表示するように設定した場合、どのように表示されますか?

    • 画面遷移の設定(URL・お知らせ詳細)

      • リンク先への遷移
        • ボタンタップ時に指定URLへ遷移させるには、管理画面の設定だけでなく、アプリ側での「URL処理」やカスタムURIスキームの実装が必要です。
      • お知らせ詳細への遷移
        • お知らせ詳細画面へ遷移させる場合、ユーザーが事前に対象のお知らせを受信している必要があります。未受信のユーザーが遷移しようとすると「表示できません」とエラーが表示されます。
           
    • 画像のみポップアップの見切れ

      • 「ポップアップ(画像のみ)」は画面中央から横幅 80 % の割合で表示されます。
        右上の「×」閉じるボタンが見切れてしまう場合は、アプリ側で独自の表示制御が行われていないかご確認ください。

     

    メッセージ作成・テスト配信に関する制限事項

    • テスト配信の有効期限

      • テスト配信が可能な期間は、メッセージ登録から「10分間のみ」です。
         
    • 画像サイズの制限

      • ファイルサイズ:300KB以下
      • 対応形式:jpeg、jpg、jpe、png、gif
         
    • 文字数・入力文字の制限

      • メッセージ名:100文字以内
      • タイトル:20文字以内
      • 本文:100文字以内
      • ボタン文言:10文字以内
      • トラッキングイベント名:100文字以内
      • 遷移先URL(URLスキーム):700文字以内

    ※ 各項目の文字数制限をオーバーした場合はエラーとなり、確認画面へ進むことができません。

  • アプリ内メッセージが表示されません

    アプリ内メッセージが表示されない場合は、以下をご確認ください。

     

    登録内容が間違っていませんか?

    • 条件に合致するか確認ください
    • 「起動トリガー」に指定したイベントは発火していますか
      • テスト受信端末に登録済みの端末であれば、「イベントログ確認」ページよりイベント発火状況をご確認いただけます。
    • 配信期間が間違っていませんか

     

    1日に1回のみ配信する設定になっていませんか?

    • 「配信する累計最大回数」(1ユーザーに対して、期間中に何回アプリ内メッセージを表示するか)
    • 「1日に配信する最大回数」(1ユーザーに対して、1日に何回アプリ内メッセージを表示するか)

    こちらの数値をご確認ください。

     

    「メッセージ総表示回数」を設定していませんか?

    この項目では、メッセージ配信期間中に、ユーザー全体でメッセージを最大何回表示するかを設定します。
    ※「未入力」の場合は制限なくメッセージが表示されます。

    この数値が「1」などとなっていないかご確認ください。

     

    セグメント配信を行っていませんか?

    • セグメント配信(条件指定)では、当日にアプリをインストールしたユーザーは配信対象外となります
    • セグメント自体の更新は、翌日以降反映されます

    ※「ID指定」をファイルアップロードで行った場合は、反映に15~30分程度かかります。

     

    登録後「有効化」していますか?

    アプリ内メッセージを配信するためには、配信登録を行った後、「有効化」する必要があります。
    配信ステータスが「無効」の場合は配信が行われませんので、アプリ内メッセージの詳細画面より[有効化する]をクリックして有効化してください。


     

    ____________________.png

     

     

     

  • アプリ内メッセージのボタンを押しても設定したURLに遷移しません

    アプリ内メッセージのボタンをタップした際に指定したURLへ遷移させるには、アプリ側での「URLを受け取った後の処理」を実装する必要があります。 

    管理画面で遷移先URLを設定しただけでは遷移しませんのでご注意ください。

    ボタンをタップしても遷移しない場合は、以下を参照し、必要な処理が実装されているかをご確認ください。

    各OSの確認項目

    SDK組み込みガイド から各OS組み込みガイド >各種機能 > アプリ内メッセージ内の以下の項目をご確認ください。

    • iOS
      • アプリ内メッセージのボタンがタップされた際にURLを取得する
    • Android
      • 画面遷移のサンプル
  • 「メッセージタイプ:ポップアップ(画像のみ)」の画像表示が見切れてしまいます

    アプリ内メッセージでwebviewで表示されるhtmlは、以下の仕様となっています。

    画面全体の横幅に対して、画面中央から80%の割合で表示する

    「画像が横幅いっぱいに表示されて、右上の×ボタンが見切れてしまう」といった表示が見切れるような場合は、
    アプリ側で表示制御を行っている可能性があるため、HTMLをどのように表示させているかご確認ください。

  • アプリ内メッセージの配信結果の集計タイミングを教えてください

    アプリ内メッセージの配信結果は、プッシュの配信一覧と同様、翌朝8時までに集計されます。

     

    参考:
    管理画面のプッシュ通知「配信結果」は、リアルタイムで数値が反映されますか?

  • 複数のアプリ内メッセージを同じタイミングで表示するように設定した場合、どのように表示されますか?

    複数のアプリ内メッセージを同じタイミングで表示するように設定した場合、以下のルールで1つずつ表示されます。

    1. 優先度が高いメッセージが優先して表示されます
    2. 優先度が同じ場合は、登録日時が新しいものから順に表示されます
    3. 1回の起動トリガーでは1つのメッセージしか表示されず、同じ起動トリガーのイベントが再度発生したタイミングで、順番に次のメッセージが表示されます

     

    例)いずれも同じ起動トリガー・1日1回表示の場合

    • 優先順位1位のメッセージA
    • 優先順位1位のメッセージB(登録日時がAより新しい)
    • 優先順位2位のメッセージC

     

    スクリーンショット 2025-10-30 125004.png

     

    ■ 表示順

    • 優先順位1位のメッセージB
    • 優先順位1位のメッセージA
    • 優先順位2位のメッセージC
  • アプリ内メッセージからお知らせ詳細に遷移する方法はありますか?

    各OS毎で以下のようにカスタマイズ実装いただくことで可能となります。

    ■前提
    既にお知らせを受け取っているエンドユーザーに対して有効な方法となりますので、事前に配信IDを知っている前提となります。
    お知らせを受け取っていないエンドユーザーに対して、アプリ内メッセージから遷移してお知らせを表示しようとした場合は「表示できません」という表示になります。

    ■サンプル
    例として遷移先URLを「popinfo.sample.link://1234567890」とした場合のサンプルとなります。
    ※「1234567890」は、配信IDとなります。

    Android

    1. AndroidManifest.xmlにディープリンクで開くクラスを記載します。

      <!-- カスタムURL「popinfo.sample.link://」から呼び出されるActivity -->
      <activity
      android:name=".LinkActivity"
      android:exported="true" >
      <intent-filter>
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT" />
      <category android:name="android.intent.category.BROWSABLE" />
      <data android:scheme="popinfo.sample.link" />
      </intent-filter>
      </activity>

    2. 組み込みガイド > 各種機能 > アプリ内メッセージ の「画面遷移のサンプル」箇所を参考に、アプリ内メッセージのボタン押下時にURLを開く処理を追加します。

      @Override
      protected void onInappMessageTapAction(String actionUrl) {
          try {
              Uri uri = Uri.parse(actionUrl);
              Intent intent = new Intent(Intent.ACTION_VIEW, uri);
              intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
              startActivity(intent);
          } catch (ActivityNotFoundException e) {
          }
      }

    3. DeepLinkで開くクラスを新規追加します。
      LinkActivity.java

      public class LinkActivity extends Activity {
      @Override
      protected void onCreate(@Nullable Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      Intent intent = getIntent();
      Uri data = intent.getData();
      // 取得したURIからメッセージ詳細を開く処理
      if (!data.getHost().isEmpty()) {
      PopinfoUiUtils.showMessageView(LinkActivity.this, Long.parseLong(data.getHost()));
      finish();
      }
      }
      }

    4. アプリ内メッセージを作成し、ボタンの遷移先指定でpopinfo.sample.link://1234567890と指定します。

     

    iOS

    1. PROJECT -> TARGETS -> Info -> URL Types にディープリンクで使用するスキーマを登録します。

      00.urlscheme.png

    2. PopinfoEventActionReceiverDelegateにアプリ内メッセージで「遷移先指定」の指定がされたボタンをタップされた時のコールバックを実装し、URLを開くようにします。

      func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
      if let contexts = URLContexts.first {
      guard let host = contexts.url.host else { return }
      if let messageId = Int(host) {
      //お知らせを更新してからお知らせ詳細を表示する
      PopinfoReceiver.shared.updateMessages { isOk, errorMessage, newMessages in
      let detailVC = PopinfoDetailViewController(nibName: "PopinfoDetailViewController",
      bundle: Bundle.main)
      detailVC.messageId = messageId
      self.showViewController(viewController: detailVC)
      }
      }
      }
      }