intra-mart Accel Platform セットアップガイド 第46版 2024-04-01

11.7. Accel Platform Mobile

11.7.1. 概要

Accel Platform Mobileは、 スマートフォンで intra-mart Accel Platform の機能を利用できるiOS/Android 対応スマートフォンアプリケーションです。
Amazon Simple Notification Service(以下、Amazon SNS) や Firebase Cloud Messaging(以下、FCM)のサービスを使用し、スマートフォンアプリへ通知を配信することが可能です。

注意

Accel Platform Mobile を利用するには、モバイルアプリケーション連携モジュールが必要です。

注意

Accel Platform Mobile は統合Windows認証環境では利用できません。

注意

IM-Notice と Accel Platform Mobile のモバイル通知の同時利用は非対応です。

コラム

本ページで紹介しているAWSやFCM資材の作成方法は一例です。お客様の環境に合わせて対応してください。

11.7.2. 通知機能全般

通知機能全般を使用するための設定を行います。

11.7.2.1. モジュールの選択

IM-Juggling でモジュールを選択します。

  1. <(プロジェクト名)/juggling.im>の「ベースモジュール」タブから、モバイルアプリケーション連携を選択してください。

    ../../_images/mobile_module_1.png
  2. 「通知機能」を開いてください。

    ../../_images/mobile_module_2.jpeg
  3. 通知機能全般とモバイル通知機能を選択します。

    ../../_images/mobile_module_3.jpeg
  4. メッセージをクリックし、依存関係を解決してください。

    ../../_images/mobile_module_4.jpeg
  5. 設定ファイルの解決を行うと、<(プロジェクト名)/conf> 配下に設定ファイルが出力されます。

    ../../_images/mobile_module_5.jpeg

11.7.3. モバイル通知機能(iOS版)

モバイル通知機能を使用するための設定を行います。 iOSへの通知を行うには、Amazon SNSを使用します。

../../_images/notice_construction_ios.png

図 Amazon SNSを利用したサーバ構成例

11.7.3.1. P12証明書ファイルの取得

P12証明書ファイル(Accel Platform Mobile Push Notifications Production.p12)を取得します。
弊社サイトの プロダクトファイルダウンロード よりライセンスキーを入力して取得してください。

11.7.3.2. Amazon SNSの設定

Amazon SNSの設定を行います。

  1. Amazon SNS にサインインしてください。
    ../../_images/notice_v2_ios_1.png
  2. リージョンを選択してください。
    ../../_images/notice_v2_ios_2.png
  3. サービスを選択してください。
    ../../_images/notice_v2_ios_3.png
  4. 「Mobile」-「プッシュ通知」から「プラットフォームアプリケーションの作成」をクリックしてください。
    ../../_images/notice_v2_ios_4.png
  5. フォームに以下の内容を入力し、「プラットフォームアプリケーションの作成」をクリックしてください。

    項目 説明
    アプリケーション名 任意の名前を入力します。
    プッシュ通知プラットフォーム 「Apple iOS/VoIP/Mac」を選択します。
    プッシュ証明書タイプ 「iOS プッシュ証明書」を選択します。
    ファイルの選択 「Accel Platform Mobile Push Notifications Production.p12」を添付します。
    証明書のパスワード 「intra-mart」と入力し、「認証情報をファイルから読み込み」をクリックします。
    ../../_images/mobile_v2_ios_1.png
  6. アプリケーションが追加されました。
    「ARN」を確認します。
    設定ファイルを編集する際に必要な文字列ですので、控えておいてください。
    ../../_images/mobile_v2_ios_2.png

11.7.3.3. ポリシーの作成

Amazon SNSに接続するために必要な権限を付与するための、IAMポリシーの作成を行います。
作成したポリシーは、 アクセスキーとシークレットキーの作成 または ロールの作成 に使用します。
  1. AWS Identity and Access Management (IAM) にサインインしてください。
  2. 「ポリシー」を選択し、「ポリシーを作成」を押下してください。
    ../../_images/notice_create_policy_1.png
  3. 「サービスを選択」にて「SNS」を検索し、選択してください。
    ../../_images/notice_create_policy_2.png
  4. サービスを選択すると表示される「アクション許可」にて以下4つのアクションをそれぞれ検索し、チェックを入れてください。
    • SetEndpointAttributes
    • GetEndpointAttributes
    • Publish
    • CreatePlatformEndpoint
    ../../_images/notice_create_policy_3.png
  5. 選択したサービス、および、アクションが表示されていることを確認してください。
    その後、「リソース」にて「特定」を選択し、「このアカウント内のいずれか」にチェックを入れ、「次へ」を押下してください。
    ../../_images/notice_create_policy_4.png
  6. 「ポリシー名」に任意のポリシー名を入力し、「ポリシーの作成」を押下してください。
    ../../_images/notice_create_policy_5.png
  7. ポリシーが作成されました。
    作成されたポリシー名は アクセスキーとシークレットキーの作成ロールの作成 に使用しますので、控えておいてください。
    ../../_images/notice_create_policy_6.png

11.7.3.4. アクセスキーとシークレットキーの作成

Amazon SNSへの接続に必要な、アクセスキーとシークレットキーの作成を行います。

コラム

アクセスキーとシークレットキー、または、ロールのうち、いずれか一方の作成が必要です。
なお、ロールは、お客様環境がEC2インスタンス上で稼働している場合のみ利用できます。
  1. AWS Identity and Access Management (IAM) にサインインしてください。
  2. 「ユーザー」を選択し、「ユーザーの作成」を押下してください。
    ../../_images/notice_create_key_1.png
  3. 「ユーザー名」に任意のユーザー名を入力し、「次へ」を押下してください。
    ../../_images/notice_create_key_2.png
  4. 「許可のオプション」にて「ポリシーを直接アタッチする」を選択してください。
    その後、 ポリシーの作成 で作成したポリシー名にチェックを入れ、「次へ」を押下してください。
    ../../_images/notice_create_key_3.png
  5. 「ユーザーの作成」を押下してください。
    ../../_images/notice_create_key_4.png
  6. 作成したユーザー名を押下してください。
    ../../_images/notice_create_key_5.png
  7. 「セキュリティ認証情報」タブを押下し、「アクセスキー」にて「アクセスキーを作成」を押下してください。
    ../../_images/notice_create_key_6.png
  8. 「コマンドラインインターフェイス (CLI)」を選択し、「上記のレコメンデーションを理解し、アクセスキーを作成します。」にチェックを入れ、「次へ」を押下してください。
    ../../_images/notice_create_key_7.png
  9. 「アクセスキーを作成」を押下してください。
    ../../_images/notice_create_key_8.png
  10. 「アクセスキーを取得」画面でアクセスキーとシークレットアクセスキーを控えるか、「.csv ファイルをダウンロード」を押下してください。その後、「完了」を押下してください。
    ../../_images/notice_create_key_9.png

11.7.3.5. ロールの作成

Amazon SNSへの接続に必要な、IAMロールの作成を行います。

コラム

アクセスキーとシークレットキー、または、ロールのうち、いずれか一方の作成が必要です。
なお、ロールは、お客様環境がEC2インスタンス上で稼働している場合のみ利用できます。
  1. AWS Identity and Access Management (IAM) にサインインしてください。
  2. 「ロール」を選択し、「ロールを作成」を押下してください。
    ../../_images/notice_create_role_1.png
  3. 「信頼されたエンティティタイプ」にて「カスタム信頼ポリシー」を選択し、「カスタム信頼ポリシー」に以下を入力してください。
    ${AWSアカウントID}${EC2インスタンスにアタッチされたロール名} の箇所は、お客様の環境に合わせて変更してください。
    その後、「次へ」を押下してください。
    {
       "Version": "2012-10-17",
       "Statement": [
          {
                "Effect": "Allow",
                "Principal": {
                   "AWS": "arn:aws:iam::${AWSアカウントID}:role/${EC2インスタンスにアタッチされたロール名}"
                },
                "Action": "sts:AssumeRole"
          }
       ]
    }
    
    ../../_images/notice_create_role_2.png
  4. 「許可ポリシー」にて、 ポリシーの作成 で作成したポリシー名にチェックを入れ、「次へ」を押下してください。
    ../../_images/notice_create_role_3.png
  5. 「ロール名」に任意のロール名を入力し、「ロールを作成」を押下してください。
    ../../_images/notice_create_role_4.png
  6. ロールが作成されました。
    作成されたロールのARNは設定ファイルの編集に使用しますので、控えておいてください。
    ../../_images/notice_create_role_5.png

11.7.3.6. Accel Platform Mobile 設定ファイルの編集

IM-Juggling の <(プロジェクト名)/conf> 配下に出力されたim-notice-mobile-config.xmlを開き、以下の設定を行ってください。
  • <proxy>

    1. Amazon SNSへ接続するためにプロキシを使用する場合、設定を行ってください。

      <proxy enable="true">
          <host></host>
          <port xsi:nil="true"></port> <!-- ポート番号を指定する場合は xsi:nil="true" を削除してください。 -->
          <username></username>
          <password></password>
          <workstation></workstation>
          <domain></domain>
      </proxy>
      
  • <asns>

    1. <asns>のname属性に任意の名前を設定してください。

      <asns name="asns-apns">
          ....
      </asns>
      
    2. <endpoint>

      • Amazon SNSのリージョンに対応するEndpointを設定してください。
        <endpoint>sns.ap-northeast-1.amazonaws.com</endpoint>
        

        コラム

        Endpointは AWS documentation - Regions and Endpoints で確認できます。
        リージョンが「Asia Pacific (Tokyo)」の場合、Endpoint は「sns.ap-northeast-1.amazonaws.com」です。
    3. <platform-application-arn>

      <platform-application-arn>arn:aws:sns:ap-northeast-1:XXXXXXXXXXXX:app/APNS/AccelPlatformMobile</platform-application-arn>
      
    4. <access-key>

    5. <secret-key>

    6. <iam-role-arn>

      • 通知にロールを使う場合、 ロールの作成 で作成したロールのARNを設定してください。
  • <push type=”ios” />

    1. engine属性に、<asns>のname属性に設定した名前を指定してください。

      <push type="ios" engine="asns-apns" />
      

11.7.3.7. P12証明書ファイルの更新

P12証明書ファイル(Accel Platform Mobile Push Notifications Production.p12)の有効期限が切れてしまった、または新しいP12証明書ファイルが公開された場合、更新を行います。 有効期限が過ぎてしまったP12証明書ファイルを利用した場合、通知が届かなくなるため、有効期限が切れる前に新しいP12証明書ファイルに更新してください。

  1. 弊社サイトのダウンロード ライブラリから最新のP12証明書ファイルを取得してください。

  2. Amazon SNSにサインインしてください。
    ../../_images/notice_v2_ios_1.png
  3. リージョンを選択してください。
    ../../_images/notice_v2_ios_2.png
  4. サービスを選択してください。
    ../../_images/notice_v2_ios_3.png
  5. 「Mobile」ー「プッシュ通知」からアプリケーションを選択し、「編集」をクリックします。
    ../../_images/mobile_v2_ios_3.png
  6. フォームに以下の内容を入力し、「変更の保存」をクリックしてください。
    プッシュ証明書タイプ 「iOS プッシュ証明書」を選択します。
    ファイルの選択 「Accel Platform Mobile Push Notifications Production.p12」を添付します。
    証明書のパスワード 「intra-mart」と入力し、「認証情報をファイルから読み込み」をクリックします。
    ../../_images/mobile_v2_ios_4.png

11.7.4. モバイル通知機能(Android版)

モバイル通知機能を使用するための設定を行います。 Androidへの通知を行うには、以下の2種類の構成が利用できます。

  • FCM を使用する場合の設定方法は、 FCMを使用する場合 を参照してください。
    ../../_images/notice_construction_android_1.png

    図 FCM を使用する場合のサーバ構成例

  • FCM+Amazon SNSを使用する場合の設定方法は、 FCM+Amazon SNSを使用する場合 を参照してください。
    ../../_images/notice_construction_android_2.png

    図 FCM+Amazon SNS を使用する場合のサーバ構成例

コラム

Amazon SNSを組み合わせて使用することで、Push通知対象となっているデバイスのトークンリストや、その状態(有効または無効)をAmazon SNSで一覧できます。
また、AndroidとiOSを併用する場合、Amazon SNSで一元管理が可能です。

注意

中国国内ではFCM(Firebase Cloud Messaging)を利用できません。

11.7.4.1. FCMを使用する場合

FCMを使用しAndroidへの通知を行う場合、以下の設定を行ってください。

11.7.4.1.1. FCMの設定

FCMの設定を行います。

  1. Firebase Console にログインしてください。
  2. プロジェクトを作成します。
    ../../_images/mobile_android_fcm_1.png
  3. フォームに以下の内容を入力し、「続行」をクリックしてください。

    項目 説明
    プロジェクト名 任意の名前を入力してください。
    プロジェクトID 任意のIDを入力してください。
    ../../_images/mobile_android_fcm_2.png
  4. 「Googleアナリティクス」を無効にし、「プロジェクトの作成」をクリックしてください。
    (Googleアナリティクスを利用する場合は有効にして必要な設定をおこなってください。)
    ../../_images/mobile_android_fcm_3.png
  5. プロジェクトの準備ができたら、「続行」をクリックしてください。
    ../../_images/mobile_android_fcm_4.png
  6. 作成したプロジェクトをクリックしてください。
    ../../_images/mobile_android_fcm_5.png
  7. プロジェクトへAndroidアプリを追加します。「Androidアプリ追加」アイコンをクリックしてください。
    ../../_images/mobile_android_fcm_6.png
  8. フォームに以下の内容を入力し、「アプリを登録」をクリックしてください。

    項目 説明
    Android パッケージ名 jp.co.intra_mart.AccelPlatformMobile
    ../../_images/mobile_android_fcm_7.png
  9. 「次へ」をクリックし、4まで進めてください。
    ../../_images/mobile_android_fcm_8.png
  10. 「コンソールに進む」をクリックしてください。
    ../../_images/mobile_android_fcm_9.png
  11. ウェブAPIキーを発行するために、Androidアプリにプロダクトを追加します。「Authentication」をクリックしてください。
    ../../_images/mobile_android_fcm_10.png
  12. 「始める」をクリックしてください。
    ../../_images/mobile_android_fcm_11.png
  13. 「ログイン方法」タブを選択し、ログイン プロバイダ「メール/パスワード」をクリックしてください。
    ../../_images/mobile_android_fcm_12.png
  14. 「有効にする」をONに変更し、「保存」をクリックしてください。
    ../../_images/mobile_android_fcm_13.png

    コラム

    この項目の操作はウェブAPIキー発行のために行います。「メール/パスワード」の機能を利用しない場合は、ウェブAPIキー発行の発行が確認でき次第無効化してください。
  15. サービスアカウントの秘密鍵を生成します。
    プロジェクト概要の歯車アイコンをクリックし、「プロジェクトを設定」をクリックしてください。
    ../../_images/mobile_android_fcm_14.png
  16. 「サービスアカウント」タブを選択し、「新しい秘密鍵を生成」をクリックしてください。
    ../../_images/mobile_android_fcm_15.png
  17. 表示されたメッセージを確認し、「キー生成」をクリックしてください。
    秘密鍵が生成されると、JSON 形式のサービスアカウントの認証情報ファイルがダウンロードされます。
    設定ファイルを編集する際に、設定ファイルと同じディレクトリに配置する必要がありますので、保持しておいてください。
    ../../_images/mobile_android_fcm_16.png
  18. 全般タブを選択し、プロジェクトのプロジェクトID、ウェブAPIキーを確認します。
    設定ファイルを編集する際に必要な文字列ですので、控えておいてください。
    ../../_images/mobile_android_fcm_17.png
  19. マイアプリ - AndroidアプリのアプリIDを確認します。
    設定ファイルを編集する際に必要な文字列ですので、控えておいてください。
    ../../_images/mobile_android_fcm_18.png
  20. 「Cloud Messaging」タブへ移動し、送信者IDを確認します。
    設定ファイルを編集する際に必要な文字列ですので、控えておいてください。
    ../../_images/mobile_android_fcm_19.png

11.7.4.1.2. Accel Platform Mobile 設定ファイルの編集

IM-Juggling の <(プロジェクト名)/conf> 配下に出力されたim-notice-mobile-config.xmlを開き、以下の設定を行ってください。
  • <proxy>

    1. Firebase Cloud Messagingへ接続するためにプロキシを使用する場合、設定を行ってください。

      <proxy enable="true">
          <host></host>
          <port xsi:nil="true"></port> <!-- ポート番号を指定する場合は xsi:nil="true" を削除してください。 -->
          <username></username>
          <password></password>
          <workstation></workstation>
          <domain></domain>
      </proxy>
      
  • <fcm>

    1. <fcm>のname属性に任意の名前を設定してください。

      <fcm name="fcm">
          ....
      </fcm>
      
    2. <url>

      • https://fcm.googleapis.com/v1/projects/%REPLACE_WITH_PROJECT_ID%/messages:send を指定してください。
        ただし、%REPLACE_WITH_PROJECT_ID% はFirebaseプロジェクトのプロジェクトIDに置き換えて指定してください。
    3. <project-id>

      • FirebaseプロジェクトのプロジェクトIDを設定してください。
    4. <application-id>

      • AndroidアプリのアプリIDを設定してください。
    5. <api-key>

      • FirebaseプロジェクトのウェブAPIキーを設定してください。
    6. <credentials-file>

      • ダウンロードした JSON 形式のサービスアカウントの認証情報ファイルを im-notice-mobile-config.xml と同じディレクトリに配置してください。
        credentials-file には、認証情報ファイルのファイル名を設定してください。
    7. <sender-id>

      • クラウドメッセージングの送信者IDを設定してください。

      コラム

      各項目の確認方法は、 FCMの設定 を参照してください。
  • <push type=”android” />

    1. engine属性に、<fcm>のname属性に設定した名前を指定してください。
    <push type="android" engine="fcm" />
    
  • <max-push-subject-length>

    1. Push通知受信時に表示するタイトルの最大文字数を設定してください。
    <max-push-subject-length>30</max-push-subject-length>
    
  • <max-push-body-length>

    1. Push通知受信時に表示する本文の最長文字数を設定してください。
    <max-push-body-length>70</max-push-body-length>
    

11.7.4.1.3. サービスアカウントの認証情報ファイルの更新

サービスアカウントの認証情報ファイルの更新を行います。

コラム

サービスアカウントの認証情報ファイルの更新方法は、 サービスアカウントの認証情報ファイルの更新 を参照してください。

11.7.4.1.4. FCM HTTP v1 API への移行

intra-mart Accel Platform 2023 Autumn(Hollyhock) 以前のバージョンでは、Accel Platform Mobile で FCM を使用して通知を送信する際に、FCM HTTP API (Legacy HTTP API) が使用されていました。
FCM HTTP API (Legacy HTTP API) は、2024年6月20日に廃止される予定です。
intra-mart Accel Platform 2024 Spring(Iris) 以降のバージョンから、FCM HTTP v1 API を使用して通知を送信可能です。
intra-mart Accel Platform 2023 Autumn(Hollyhock) 以前のバージョンで FCM を使用して通知を送信していた場合に、intra-mart Accel Platform 2024 Spring(Iris) 以降にバージョンアップ後、FCM HTTP v1 API が使用されるように設定する手順を説明します。

コラム

FCM HTTP v1 API への移行方法は、 FCM HTTP v1 API への移行 を参照してください。

11.7.4.2. FCM+Amazon SNSを使用する場合

FCMとAmazon SNSを使用しAndroidへの通知を行う場合、以下の設定を行ってください。

11.7.4.2.1. FCM の設定

FCMの設定を行います。

コラム

FCMの設定方法は、 FCMの設定 を参照してください。

11.7.4.2.2. Amazon SNS の設定

Amazon SNSの設定を行います。

コラム

Amazon SNSの設定方法は、 Amazon SNS の設定 を参照してください。

11.7.4.2.3. ポリシーの作成

Amazon SNSに接続するために必要な権限を付与するための、IAMポリシーの作成を行います。
作成したポリシーは、 アクセスキーとシークレットキーの作成 または ロールの作成 に使用します。

コラム

ポリシーの作成方法は、 ポリシーの作成 を参照してください。

11.7.4.2.4. アクセスキーとシークレットキーの作成

Amazon SNSへの接続に必要な、アクセスキーとシークレットキーの作成を行います。

コラム

アクセスキーとシークレットキーの作成方法は、 アクセスキーとシークレットキーの作成 を参照してください。

11.7.4.2.5. ロールの作成

Amazon SNSへの接続に必要な、IAMロールの作成を行います。

コラム

ロールの作成方法は、 ロールの作成 を参照してください。

11.7.4.2.6. Accel Platform Mobile 設定ファイルの編集

IM-Juggling の <(プロジェクト名)/conf> 配下に出力されたim-notice-mobile-config.xmlを開き、以下の設定を行ってください。
  • <proxy>

    1. Firebase Cloud MessagingやAmazon SNSへ接続するためにプロキシを使用する場合、設定を行ってください。

      <proxy enable="true">
          <host></host>
          <port xsi:nil="true"></port> <!-- ポート番号を指定する場合は xsi:nil="true" を削除してください。 -->
          <username></username>
          <password></password>
          <workstation></workstation>
          <domain></domain>
      </proxy>
      
  • <asns>

    1. <asns>のname属性に任意の名前を設定してください。

      <asns name="asns-fcm">
          ....
      </asns>
      
    2. <endpoint>

      • Amazon SNSのリージョンに対応するEndpointを設定してください。
        <endpoint>sns.ap-northeast-1.amazonaws.com</endpoint>
        

        コラム

        Endpointは AWS documentation - Regions and Endpoints で確認できます。
        リージョンが「Asia Pacific (Tokyo)」の場合、Endpointは「sns.ap-northeast-1.amazonaws.com」です。
    3. <platform-application-arn>

      • Application ARNを設定してください。

        コラム

        Application ARNの確認方法は、 Amazon SNS の設定 を参照してください。
    4. <access-key>

    5. <secret-key>

    6. <iam-role-arn>

      • 通知にロールを使う場合、 ロールの作成 で作成したロールのARNを設定してください。
    7. <fcm-project-id>

      • FirebaseプロジェクトのプロジェクトIDを設定してください。
    8. <fcm-application-id>

      • AndroidアプリのアプリIDを設定してください。
    9. <fcm-api-key>

      • FirebaseプロジェクトのウェブAPIキーを設定してください。
    10. <fcm-sender-id>

      • Firebase クラウドメッセージングの送信者IDを設定してください。

      コラム

      プロジェクトID等Firebase設定情報の確認方法は、 FCMの設定 を参照してください。
  • <push type=”android” />

    1. engine属性に、<asns>のname属性に設定した名前を指定してください。

      <push type="android" engine="asns-fcm" />
      
  • <max-push-subject-length>

    1. Push通知受信時に表示するタイトルの最大文字数を設定してください。
    <max-push-subject-length>30</max-push-subject-length>
    
  • <max-push-body-length>

    1. Push通知受信時に表示する本文の最長文字数を設定してください。
    <max-push-body-length>70</max-push-body-length>