プッシュ通知サービスの使用
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ファイル。
手順
- Project Settings 画面で Cloud Messaging タブに移動します。ここで、Server キー および Sender ID ( Project Numberとして GCM で知られています)があります。レガシーサーバーキー もありますが、新規プロジェクトに使用することはできません。
-
Google ドキュメント の説明どおりに
google-services.jsonファイルをダウンロードします。
2.2. Apple Push 通知サービス認証情報の取得 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、iOS アプリケーションのプッシュ通知を有効にし、Apple からプッシュするのに必要な認証情報を取得する方法を説明します。
手順
- 公式の Apple ガイド に従って、Xcode プロジェクトのプッシュ通知を有効にします。
公式の Apple ガイド に従って APNs クライアント TLS 証明書を生成し、Mac からクライアント TLS アイデンティティーをエクスポートします。
注記パスワードで p12 ファイルを保護するようにしてください。
2.3. バリアントの作成 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、UnifiedPush サーバーでアプリケーションを登録する方法を説明します。
手順
- Solution Explorer にログインします。
- Push Notification Service の横にある Open Console をクリックします。
- アプリケーションがすでに存在する場合は、「Create Application」をクリックして Welcome ページに移動します。プッシュアプリケーションが存在しない場合は、Welcome ページが表示されます。
- Start here をクリックして Welcome ページを破棄し、Create Application 画面に移動します。
- アプリケーションの名前を入力し、Create App をクリックしてバリアント画面に移動します。
- Add a Variantをクリックします。
- バリアントの名前を入力し、ターゲットとするプラットフォームを選択します。
- プッシュネットワークに必要なプッシュネットワークの詳細を入力して、作成 をクリックします。
- 各コードスニペットをアプリケーションの対応するファイルにコピーします。
- アプリケーションのビルドとデプロイ
- ウィザードの Skip the wizard リンクをクリックして終了します。
2.4. プッシュ通知サービス SDK の設定 リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、アプリで Push Notifications サービス SDK をセットアップする方法を説明します。ここでは、プッシュ通知サービス SDK を設定して初期化する方法を説明します。
- Android
- Firebase アカウント。
- iOS
- APNs サービス
手順
- ライブラリーのインポート
install
cordova-plugin-aerogear-push:cordova plugin add @aerogear/cordova-plugin-aerogear-push
$ cordova plugin add @aerogear/cordova-plugin-aerogear-pushCopy to Clipboard Copied! Toggle word wrap Toggle overflow デバイスの登録に必要な統合プッシュサーバーパッケージをインストールします。
npm install --save @aerogear/push
$ npm install --save @aerogear/pushCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第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 サーバーに登録する必要があります。この登録は、サーバーのエンドポイントを呼び出すことで行われます。
オプションで、以下のパラメーターを登録方法に渡すことができます。
{
alias: 'some-alias',
categories: ['one', 'or', 'more', 'categories'],
timeout: 5000 // in milliseconds
}
{
alias: 'some-alias',
categories: ['one', 'or', 'more', 'categories'],
timeout: 5000 // in milliseconds
}
第4章 Unified Push Admin UI を使用したプッシュ通知の送信 リンクのコピーリンクがクリップボードにコピーされました!
Unified Push Admin UI を使用すると、プッシュ通知を送信できます。
前提条件
- Push Notifications サービスがプロビジョニングされていることを確認します。
- OpenShift でルートを選択します。
- OpenShift 認証情報でログインします。
初回ログイン時に、ユーザーアカウントを読み取るために OpenShift OAuth サービスパーミッションを指定する必要があります。
- 管理 UI
- ブラウザーで Unified Push 管理 UI を開きます。
ホームページからターゲットアプリケーションを選択し、Send Notification To This App をクリックします。
Send Push ダイアログが表示されたら、Message フォームにテキストを入力します。
- Send Push Notification をクリックし、メッセージをターゲットアプリケーションに送信します。
- Java API
unifiedpush-java-client を依存関係としてプロジェクトに追加します。
<dependency> <groupId>org.jboss.aerogear</groupId> <artifactId>unifiedpush-java-client</artifactId> <version>[version]</version> </dependency>
<dependency> <groupId>org.jboss.aerogear</groupId> <artifactId>unifiedpush-java-client</artifactId> <version>[version]</version> </dependency>Copy to Clipboard Copied! Toggle word wrap Toggle overflow メッセージをターゲットアプリケーションに送信します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- Node.js API
unifiedpush-node-sender を依存関係としてプロジェクトに追加します。
npm i unifiedpush-node-sender
npm i unifiedpush-node-senderCopy to Clipboard Copied! Toggle word wrap Toggle overflow メッセージをターゲットアプリケーションに送信します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- REST
メッセージをターゲットアプリケーションに送信します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
サードパーティーのプッシュネットワークは、ターゲットアプリケーションに Push 通知を配信します。
第5章 今後のプッシュ通知の処理 リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、フォアグラウンドアプリケーションで受信プッシュ通知を処理する方法を説明します。
アプリケーションがバックグラウンドにあるときに到達する通知は常に OS によって処理されます。
手順
以下のコードをアプリケーションに追加します。
import { PushRegistration } from "@aerogear/push"; PushRegistration.onMessageReceived((notification: any) => { console.log('Received a push notification', notification); });import { PushRegistration } from "@aerogear/push"; PushRegistration.onMessageReceived((notification: any) => { console.log('Received a push notification', notification); });Copy to Clipboard Copied! Toggle word wrap Toggle overflow - アプリケーションを構築して実行します。