プッシュ通知サービスの使用


Red Hat Managed Integration 2

Red Hat Managed Integration 2 の場合

概要

本書では、プッシュ通知サービス Red Hat Managed Integration 2 を使用する方法について説明します。

はじめに

Push 通知サービスを使用すると、異なるモバイルオペレーティングシステムにネイティブプッシュ通知を送信できます。

  • 一度だけコードを作成し、通知を iOS および Android にプッシュします。
  • 通知を iOS のみまたは Android のいずれかにプッシュする。
  • モバイルアプリケーションの異なるバリアントに通知をプッシュします。

このサービスは以下をサポートします。

Push 通知サービスは、上記の Push ネットワークサービスに対して統一された通知サービス API を提供します。別のサードパーティーのプッシュネットワークにメッセージを配信する ブローカー として見ることができます。

注記
  • プッシュ通知のペイロードはサードパーティーのプッシュネットワークプロバイダー、Google、または Apple に配信されます。AeroGear は、ユーザーがプッシュ通知の一環として、機密の個人情報または機密性の高い情報(ソーシャルセキュリティー番号、商用アカウント、トランザクション情報など)を送信しないことを推奨します。プッシュ通知のユーザーには、セキュアな送信が想定されていません。
  • 分析の目的で、サービスは UnifiedPush Server に送信されるアラートキーの内容を保存します。アラートキーの内容は、UnifiedPush Server 内の夜間ジョブを使用して 30 日後に削除されるメタデータに属します。
  • 実際のデバイスにプッシュ通知を送信するだけで、エミュレーターへのプッシュ通知の送信に失敗します。
  • push はシグナルメカニズムで、チャットアプリケーションなどのシステムが含まれるデータとして使用するのには適していません。

第1章 通知の用語のプッシュ

このセクションでは、プッシュ通知に関連する用語について説明します。

アプリケーションのプッシュ
Mobile HR などの Mobile アプリケーションを表す論理構造。
通知メッセージのプッシュ
Push アプリケーションに送信される単純なメッセージ。
送信者エンドポイント API
PushApplication またはその異なるバリアントについての Push Notification Message 要求を受信する RESTful API。Server はこのリクエストをプラットフォーム固有の詳細に変換し、ペイロードをサードパーティーのクラウドプロバイダーに提供します。これにより、最終的にメッセージを物理デバイスに配信する可能性があります。
バリアント
iOS や Android などの特定のモバイルプラットフォームを表す Push アプリケーションのバリアント、または iPad や iPhone などのより詳細な区別。単一のプッシュアプリケーションには複数のバリアントを使用できます(例: Mobile HR Android,Mobile HR iPad,Mobile HR iOS free または _Mobile HR iOS Premium)。サポートされる各バリアントタイプには、Google API キー(Android)またはパスフレーズおよび証明書(Apple)などのプラットフォーム固有のプロパティーが含まれています。
APNS
Apple Push Notification サービス
インストール
UnifiedPush サーバーに登録されている実際のデバイスを表します。User1 は HR Android アプリケーションを実行し、User2 は HR iPhone Premium を電話で実行します。
管理ユーザーインターフェース
(AUI)Unified Push 管理 UI Web UI で、プッシュアプリケーションとバリアントの管理、統計の表示、およびデバイスへのプッシュ通知の送信を行うことができます。

第2章 プッシュ通知モバイルサービスの設定

2.1. Firebase Cloud Messaging 認証情報の取得

この手順では、Firebase Cloud Messaging 認証情報を取得する方法を説明します。

前提条件

Android アプリケーションが通知を受け取る前に、Firebase Cloud Messaging へのアクセスを設定する必要があります。アプリケーションに Firebase Cloud Messaging を設定するには、以下の認証情報が必要です。

  • サーバーキー
  • 送信者 ID
  • アプリケーションの Firebase および Google サービスへの接続に必要な認証情報が含まれる google-services.json ファイル。

手順

  1. Project Settings 画面で Cloud Messaging タブに移動します。ここで、Server キー および Sender IDProject Numberとして GCM で知られています)があります。レガシーサーバーキー もありますが、新規プロジェクトに使用することはできません。
  2. Google ドキュメント の説明どおりに google-services.json ファイルをダウンロードします

2.2. Apple Push 通知サービス認証情報の取得

この手順では、iOS アプリケーションのプッシュ通知を有効にし、Apple からプッシュするのに必要な認証情報を取得する方法を説明します。

手順

  1. 公式の Apple ガイド に従って、Xcode プロジェクトのプッシュ通知を有効にします。
  2. 公式の Apple ガイド に従って APNs クライアント TLS 証明書を生成し、Mac からクライアント TLS アイデンティティーをエクスポートします。

    注記

    パスワードで p12 ファイルを保護するようにしてください。

2.3. バリアントの作成

この手順では、UnifiedPush サーバーでアプリケーションを登録する方法を説明します。

手順

  1. Solution Explorer にログインします。
  2. Push Notification Service の横にある Open Console をクリックします。
  3. アプリケーションがすでに存在する場合は、「Create Application」をクリックして Welcome ページに移動します。プッシュアプリケーションが存在しない場合は、Welcome ページが表示されます。
  4. Start here をクリックして Welcome ページを破棄し、Create Application 画面に移動します。
  5. アプリケーションの名前を入力し、Create App をクリックしてバリアント画面に移動します。
  6. Add a Variantをクリックします。
  7. バリアントの名前を入力し、ターゲットとするプラットフォームを選択します。
  8. プッシュネットワークに必要なプッシュネットワークの詳細を入力して、作成 をクリックします。
  9. 各コードスニペットをアプリケーションの対応するファイルにコピーします。
  10. アプリケーションのビルドとデプロイ
  11. ウィザードの Skip the wizard リンクをクリックして終了します。

2.4. プッシュ通知サービス SDK の設定

このセクションでは、アプリで Push Notifications サービス SDK をセットアップする方法を説明します。ここでは、プッシュ通知サービス SDK を設定して初期化する方法を説明します。

手順

  1. ライブラリーのインポート
  2. install cordova-plugin-aerogear-push:

    $ cordova plugin add @aerogear/cordova-plugin-aerogear-push
    Copy to Clipboard Toggle word wrap
  3. デバイスの登録に必要な統合プッシュサーバーパッケージをインストールします。

    $ npm install --save @aerogear/push
    Copy to Clipboard Toggle word wrap

第3章 プッシュ通知サービスでのデバイスの登録

APN や FCM などのプッシュネットワークからネイティブプッシュ通知を受け取るには、モバイルデバイスは、そのプッシュネットワークが割り当てた一意のデバイストークンで識別されます。この device-token は、オペレーティングシステムにより、モバイルアプリケーションに渡されます。詳細は、オペレーティングシステムおよびプッシュネットワークのドキュメントを参照してください。

ユーザーが起動するたびに、アプリケーションは プラットフォーム固有 のメソッド(またはコールバック)から デバイストークン を受信します。プッシュネットワークは新しいトークンをデバイスに割り当てる可能性があるため、AeroGear は、毎回 device-token を UnifiedPush Server に登録することを推奨します。

インストール に必要なメタデータ:

  • deviceToken: _Identify the device/user-agent in its Push Network.
  • variantID: クライアントが属するバリアントの ID
  • variantSecret: 実際のバリアントのパスワード

AeroGear UnifiedPush サーバーは、ユーザー固有のメタデータも格納できます。

  • DEVICETYPE : デバイス またはユーザーエージェントのデバイスタイプ。
  • operatingsystem: 基礎となるオペレーティング システムの名前。
  • osVersion: 使用されているオペレーティングシステムのバージョン
  • alias: システムを持つユーザーを特定するためのアプリケーション固有のエイリアス。たとえば、メールアドレス または ユーザー名の場合です
  • カテゴリー: 1 つ以上の「タグ」を適用するのに使用します。

バリアント用の新規インストールを確認するには、device-token を UnifiedPush サーバーに登録する必要があります。この登録は、サーバーのエンドポイントを呼び出すことで行われます。

import { PushRegistration } from "@aerogear/push";

new PushRegistration(app.config).register().then(() => {
    // Registration with UPS successful, you can now send push notifications from the UPS UI
}).catch(err => {
    // Error on device registration
});
Copy to Clipboard Toggle word wrap
注記

オプションで、以下のパラメーターを登録方法に渡すことができます。

{
  alias: 'some-alias',
  categories: ['one', 'or', 'more', 'categories'],
  timeout: 5000 // in milliseconds
}
Copy to Clipboard Toggle word wrap

第4章 Unified Push Admin UI を使用したプッシュ通知の送信

Unified Push Admin UI を使用すると、プッシュ通知を送信できます。

前提条件

  • Push Notifications サービスがプロビジョニングされていることを確認します。
  • OpenShift でルートを選択します。
  • OpenShift 認証情報でログインします。
注記

初回ログイン時に、ユーザーアカウントを読み取るために OpenShift OAuth サービスパーミッションを指定する必要があります。

管理 UI
  1. ブラウザーで Unified Push 管理 UI を開きます。
  2. ホームページからターゲットアプリケーションを選択し、Send Notification To This App をクリックします。

  3. Send Push ダイアログが表示されたら、Message フォームにテキストを入力します。

  4. Send Push Notification をクリックし、メッセージをターゲットアプリケーションに送信します。
Java API
  1. unifiedpush-java-client を依存関係としてプロジェクトに追加します。

    <dependency>
      <groupId>org.jboss.aerogear</groupId>
      <artifactId>unifiedpush-java-client</artifactId>
      <version>[version]</version>
    </dependency>
    Copy to Clipboard Toggle word wrap
  2. メッセージをターゲットアプリケーションに送信します。

    final PushSender sender = DefaultPushSender
            .withRootServerURL("<pushServerURL e.g http(s)//host:port/context>")
            .pushApplicationId("<pushApplicationId e.g. 1234456-234320>")
            .masterSecret("<masterSecret e.g. 1234456-234320>")
            .build();
    
    final UnifiedMessage unifiedMessage = UnifiedMessage
            .withMessage()
            .alert("Hello from Java Sender API!")
            .build();
    
    sender.send(unifiedMessage, () -> {
        //do cool stuff
    });
    Copy to Clipboard Toggle word wrap
Node.js API
  1. unifiedpush-node-sender を依存関係としてプロジェクトに追加します。

    npm i unifiedpush-node-sender
    Copy to Clipboard Toggle word wrap
  2. メッセージをターゲットアプリケーションに送信します。

    const agSender = require('unifiedpush-node-sender');
    
    const settings = {
      url: "<pushServerURL e.g http(s)//host:port/context>",
      applicationId: "<pushApplicationId e.g. 1234456-234320>",
      masterSecret: "<masterSecret e.g. 1234456-234320>"
    
    };
    
    const message = {
      alert: "Hello from the Node.js Sender API!"
    };
    
    const options = {
      config: {
        ttl: 3600
      }
    };
    
    agSender(settings).then((client) => {
      client.sender.send(message, options).then((response) => {
        console.log('success', response);
      }).catch((error) => {
        console.log('error', error);
      })
    });
    Copy to Clipboard Toggle word wrap
REST
  1. メッセージをターゲットアプリケーションに送信します。

    curl -u "<pushApplicationId>:<masterSecret>"  \
       -v -H "Accept: application/json" -H "Content-type: application/json"  \
       -X POST  -d \
      '{
         "message": {
          "alert": "Hello from the curl HTTP Sender!",
          "sound": "default"
         }
       }'  \
       <pushServerURL>/rest/sender
    Copy to Clipboard Toggle word wrap
注記

サードパーティーのプッシュネットワークは、ターゲットアプリケーションに Push 通知を配信します。

第5章 今後のプッシュ通知の処理

本セクションでは、フォアグラウンドアプリケーションで受信プッシュ通知を処理する方法を説明します。

注記

アプリケーションがバックグラウンドにあるときに到達する通知は常に OS によって処理されます。

手順

  1. 以下のコードをアプリケーションに追加します。

    import { PushRegistration } from "@aerogear/push";
    
    PushRegistration.onMessageReceived((notification: any) => {
      console.log('Received a push notification', notification);
    });
    Copy to Clipboard Toggle word wrap
  2. アプリケーションを構築して実行します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat