Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

プッシュ通知の概要

この章では、プッシュ通知について説明します。この章は以下の節で構成されています。

プッシュ通知の背景

Ensemble のプッシュ通知機能を使用して、Ensemble プロダクションから iOS デバイスや Google デバイスにプッシュ通知メッセージを送信できます。この機能により、複数のデバイスで実行中のアプリを使用しているユーザに簡単に通知を送信できます。コード側では、デバイスの数やデバイスの種類 (iOS デバイスなのか Google デバイスなのか) を認識していなくても、通知を送信できます。

プッシュ通知の一般的な用途は次のとおりです。

  • 非同期要求が完了してデータを利用可能であることをユーザに通知します。

  • ユーザによるアクション実行が必要となるポイントにワークフローが達したことをユーザに通知します。

  • 注意を喚起して、アプリまたはアプリの機能を使用するようにユーザに要請します。

Ensemble では、以下のプッシュ通知プロトコルをサポートしています。

  • iOS プッシュ通知 (APNS)

  • Google Cloud メッセージング (GCM)

プッシュ通知機能を使用すると、Ensemble プロダクションはモバイル・デバイスのユーザに対する通知を開始できます。例えば、アプリは、Ensemble 上で構築されたシステムにモバイル・デバイスからアクセスすることを可能にします。ほとんどの場合は、モバイル・アプリのユーザがアクションを開始して、クエリを通じて情報を取得したりデータを追加または更新したりします。しかし場合によっては、Ensemble プロダクションがアクションを開始して、モバイル・デバイスのユーザに何らかのイベントや状況を通知することがあります。プッシュ通知機能は Ensemble コードがアクションを開始することを可能にし、プッシュ通知の送信時にユーザがアクティブにアプリを使用していることを必要としません。

プッシュ通知プロトコルは、メッセージが配信されることを保証しません。したがってこれらのプロトコルは、重要なデータを送信するために使用するのではなく、そのデータを取得可能であることをユーザに通知するために使用してください。ユーザは通知に基づいてアクションを開始する必要があります。

プッシュ通知を有効にするために、モバイル・アプリは APNS サーバまたは GCM サーバに登録して、特定のデバイス上で実行されているアプリを識別するトークンを取得します。モバイル・アプリは、デバイスのオペレーティング・システムによってもプッシュ通知を有効にする必要があります。これらの操作の詳細は、APNS プロトコルと GCM プロトコルとでは異なります。対象デバイス上で使用できる任意のテクノロジを使用してアプリを開発できます。InterSystems の Zen Mojo は、モバイル・アプリケーションを作成するために使用できますが、使用しなくてもかまいません。プッシュ通知を使用するには、モバイル・アプリはネイティブ・アプリまたはハイブリッド Web アプリである必要があり、ネイティブ・コンポーネントを備えている必要があります。ピュア Web アプリはプッシュ通知を使用できません。Zen Mojo におけるハイブリッド・アプリケーションの詳細は、"Using Zen Mojo" の "Kinds of Zen Mojo Applications" を参照してください。

Ensemble のプッシュ通知を使用すると、Ensemble プロダクションからユーザに通知をプッシュ送信できます。ユーザが複数のデバイスを使用している場合は、通知はすべてのデバイスに送信されます。通知を送信するコード側では、ユーザが複数のデバイスを使用しているのかどうかや、これらのデバイスで APNS プロトコルと GCM プロトコルのどちらが使用されているのかが認識されている必要はありません。コードでは、単一の通知を同じユーザの複数のデバイスに送信できます。プッシュ通知 Identity Manager はこのことを可能にします。

モバイル・デバイス上で実行されているアプリは Ensemble の SOAP または REST サービスを呼び出して、これらのサービスはそのアプリとデバイスを Identity Manager に登録します。Identity Manager は、文字列識別子をモバイル・デバイス上のアプリと関連付けます。任意の種類の識別子を選択できます。例えば、Ensemble プロダクション・アプリケーション上でユーザを識別するアカウントを使用できます。同じ識別子を使用して複数のデバイスを登録できます。デバイスを登録する際は、APNS サーバまたは GCM サーバが通知をデバイスにプッシュ送信するために必要とする情報を提供する必要があります。

1 台以上のデバイスが識別子に登録されたら、Ensemble のコードでは、ユーザの識別子と共に Identity Manager に通知メッセージを送信することで通知をプッシュ送信できます。Identity Manager は、これらの通知をルータを介して 1 つ以上のプッシュ通知オペレーションに送信します。

次の図では、モバイル・デバイス上のアプリがプッシュ通知 Identity Manager に登録するプロセスを示しています。

Identity Manager を使用したアプリと識別子の関連付け
generated description: register

次の図では、プッシュ通知がモバイル・デバイス上のアプリに送信されるプロセスを示しています。Identity Manager、GCM オペレーション、および APNS オペレーションは組み込みコンポーネントとして提供されています。ルーティング・エンジンとルーティング・ルールを使用してルータを定義できます。

モバイル・デバイス上のアプリへのプッシュ通知の送信
generated description: overview

プッシュ通知オペレーション

Ensemble では、プッシュ通知用の組み込みビジネス・オペレーションが提供されています。これらのオペレーションを使用して、iOS デバイスや Google デバイス上のアプリに通知をプッシュ送信できます。これらのオペレーションは次のとおりです。

プッシュ通知 Identity Manager

Identity Manager を使用すると、ユーザが所有しているデバイスの数や種類を知らなくても、ユーザにプッシュ通知を送信できます。プッシュ通知 Identity Manager は、モバイル・アプリのユーザの単一 ID を関連付けるテーブルを保持しており、このテーブルをそのユーザのすべてのモバイル・デバイスに関連付けます。Identity Manager のビジネス・プロセスは、他の Ensemble プロダクション・コンポーネントからメッセージを受信します。通常、このビジネス・プロセスはルータにメッセージを送信します。このルータは、すべての GCM メッセージを GCM オペレーションに転送すると共に、指定された SSL 証明書を処理するように構成された APNS オペレーションに、それぞれの APNS メッセージを転送します。

ObjectScript からのプッシュ通知の送信

プッシュ通知を Ensemble プロダクション・コンポーネントから送信する場合は、その通知を Identity Manager に送信することも、いずれかのプッシュ通知オペレーションに直接送信することもできます。ただし、Ensemble プロダクション環境外の ObjectScript でプッシュ通知を生成する場合は、プッシュ通知 AppService を使用して通知を Ensemble 環境に送り込むことができます。これにより、Identity Manager の機能を使用できるようになります。Identity Manager を使用していない場合は、コードでは %Net.PushNotifications.APNSOpens in a new tab クラスと %Net.PushNotifications.GCMOpens in a new tab クラスを直接使用することもできます。

FeedbackOpens in a new tab