Skip to main content
Created for OutSystems 10. Not working on your version? Tell us about it!

 

 

 

 

Template:OutSystems/Documentation_KB/Breadcrumb_New_Layout

 

 

Template:OutSystems/OSLanguageSwitcher

 

 

 

OutSystems

Pushwooshを使用したプッシュ通知

Pushwooshは、デバイスが実行されているプラットフォームなどの情報が要約されたプッシュ通知をデバイスに送信できるサービスです。Pushwooshプラグインにより、OutSystemsアプリケーションはPushwooshを使用してプッシュ通知を送受信できます。

ただし、プッシュ通知を送信するにはPushwooshの有料サブスクリプションが必要です。

手順

  1. 通知を受信するには、まずプラグインを使用してPushwooshにデバイスを登録します。

  2. Pushwooshは、APNS(Apple Push Notification Service)とFCM(Firebase Cloud Messaging)にデバイスを登録します。

  3. デバイスが登録されたら、プラグインを使用してメッセージを配信したり、特定のユーザー宛てにメッセージを送信したりすることができます。プラグインによってPushwoosh経由でメッセージが送信されます。

  4. Pushwooshは適切なメッセージングサービスに接続します。

  5. その後、APNSまたはFCMを利用してデバイスにメッセージを送信します。

Pushwooshプラグインをインストールする

最初に、OutSystems ForgeからPushwooshプラグインをインストールします。これを最速で行うには、開発環境で[OutSystems]タブにアクセスしてそこからインストールします。

Pushwooshを構成する

Pushwooshは、サポートするプラットフォームごとに構成する必要があります。構成が完了すると、プラグインで使用するPushwooshのアプリケーションコードを取得できます。

iOS用

詳細については、「iOS用のPushwooshの構成」.をご覧ください。

Android用

詳細については、「Android用のPushwooshの構成」をご覧ください。

Pushwooshプラグインをアプリケーションに追加する

  1. アプリケーションで、[Manage Dependencies…]を使用してPushwooshプラグインへの参照を追加します。

  2. 以下に「PushwooshNotifications」ブロックを追加します。

    • アプリケーションにログインがない場合はLayoutブロック
    • アプリケーションにログインがある場合はLayoutBlankブロック

    PushwooshNotificationsブロックを追加する場合は、プレースホルダ内への追加を避けてください。プレースホルダによっては設計時にのみ使用できるものがあり、実行時にPushwooshが機能しないことがあります。

  3. PushwooshNotificationsで以下のパラメータを設定します。

    • PushwooshApplicationCode: Pushwooshでアプリケーションを作成した後に取得したPushwooshコード。
    • FCMSenderId: Androidの構成中に取得したID番号。アプリケーションがiOS専用の場合、このパラメータは空のままにしておきます。
    • NotificationReceivedEvent: ユーザーがデバイスで通知をクリックした場合、またはアプリケーションが開いているときに通知を受信した場合に呼び出されるイベント。

AndroidアプリでPushwooshプラグインを使用する場合、以下の手順を実行します。

  1. Firebaseからgoogle-services.jsonを取得します。Googleサービスのパッケージ名が、作成するOutSystemsアプリケーションのアプリ識別子と一致している必要があります。

  2. ルートにgoogle-services.jsonが含まれるzipファイルを作成します。

  3. 前の手順の「google-services.zip」ファイルをOutSystemsアプリケーションにアップロードし、以下を確認します。

    • 「Name」が「google-services.zip」に設定されている
    • 「Deploy to Target Directory」が「google-services」に設定されている

デバイスでプッシュ通知を受信するには、デバイスを登録する必要があります。ユーザーがアプリケーションを使用するときにログインする必要がある場合は、[Login]画面に移動してLoginアクションを編集します。

DoLoginアクションの後にデバイスを登録するためのコードを追加します。次のようになります。

アプリケーションにログインがない場合は、「PushwooshNotifications」ブロックの「OnInitializeOver」イベントにこのコードを追加できます。

このイベントハンドラで、RegisterDeviceアクションを呼び出します。

開発者証明書を使用してiOSモバイルアプリを生成する場合は、OutSystemsモジュールのExtensibility Configurationsプロパティに設定を追加する必要があります。

{
    "preferences": {
        "global": [{
            "name": "aps-environment",
            "value": "development"
        }]
    }
}

この設定は資格ファイルに追加されます(資格の詳細については、Apple開発者ドキュメントをご覧ください)。

本番証明書を使用してiOSモバイルアプリを生成する場合は、OutSystemsのaps- environment設定のデフォルト値がproductionであるため、設定を指定する必要はありません。

これでアプリケーションがプッシュ通知を受信できるようになりました。モバイルアプリを構成・生成し、デバイスにインストールします。 ここで、Pushwooshインターフェイスを使用してアプリに通知を送信し、構成がすべて適切かどうかを確認できます。ただし、アプリが実行中の場合は通知が表示されません。代わりに、NotificationReceivedEventイベントがすぐに発生します。

通知を送信する

通知を送信するには、Pushwoosh APIアクセストークンが必要です。これを作成するには、Pushwooshコンソールにアクセスし、[API Access]に移動して[Generate new access token]をクリックします。

すべてのデバイスに通知を送信するには、SendPushNotificationToAllアクションを使用します。

このアクションには以下のパラメータがあります。

  • PushwooshApplicationCode: Pushwooshでアプリケーションを作成した後に取得したPushwooshコード。
  • ApiAccessToken: 先ほど取得したPushwoosh APIアクセストークン。
  • Message: 送信するメッセージテキスト。
  • Badge: iOSアプリケーションアイコンに表示される数字。
  • Deeplink: 通知で送信するディープリンク。詳細については、ディープリンクの設定をご覧ください。

たとえば、このアクションを使用して「Hello from OutSystems」というメッセージを「PushTest」というアプリケーションに送信すると、iOSでは次のように表示されます。

補足情報

  • アプリが実行中の場合、デバイスに通知は表示されません。代わりに、アプリに通知が送信され、NotificationReceivedEventイベントが発生します。この場合のアプリの動作を定義しておく必要があります。
  • プッシュ通知がアクティブになるまでにしばらく時間がかかる場合があります。通知が届かない場合、数分待ってからトラブルシューティングに進んでください。