Nifty mobile backendのプッシュ通知1

Nifty mobile backendはプッシュ配信、位置情報検索、会員登録やデータベースなどスマフォアプリで連携が必要なWEBサービス部分のAPI構築・開発を助けてくれる便利なサービス(mBaaS/mobile Backend as a Service)です。

一ヶ月のあたりのAPIリクエスト数やプッシュ配信数によって料金は異なりますが開発向けの無料版でも小規模のサービスの運営が可能。様々なベンダーから同様のサービスがありますがAndroid、iOS、Unity、Javascriptで開発が可能なNifty mobile backendを利用。

アカウント申請やSDKなどの説明はhttp://mb.cloud.nifty.com/で紹介されているので省略。今回はチュートリアル(http://mb.cloud.nifty.com/doc/sdkguide/android/push.html#Android端末へのプッシュ通知について)でも紹介しているがAndroidのプッシュ通知におけるダイアログ機能についてメモ。

*プッシュ通知でダイアログを使うのはAndroidのみの仕様

  1. AndroidではManifest.xmlでBroadcastReceiverを継承した処理クラスを制作して定義。合わせてダイアログ用のActivityも定義。Nifty mobile backend謹製のActivityがあるのでそれを利用

    <!–Nifty 謹製のダイアログアクティビティ –>
    <activity
    android:name=”com.nifty.cloud.mb.NCMBDialogActivity”
    android:excludeFromRecents=”true”
    android:launchMode=”singleInstance”
    android:noHistory=”true”
    android:theme=”@android:style/Theme.Wallpaper.NoTitleBar”>
    </activity>
    <!-カスタムレシーバー –>
    <receiver android:name=”jp.storyboard.niftymbtest.receiver.MyCustomDialogReceiver” >
    <intent-filter>
    <action android:name=”jp.storyboard.niftymbtest.receiver.RECEIVE_PUSH” />
    </intent-filter>
    </receiver>
  2. MyCustomDialogReceiverにダイアログの処理を記述
    基本的はプログラムはSDKのサンプルソーソースのまま。onReceiveで以下の処理。ダイアログは背景画像を使ったりカスタマイズ等は可能でチュートリアルでそのままいけそう。今回はノーマルのダイアログ

    //NCMBDialogPushConfigurationクラスのインスタンスを作成
    NCMBDialogPushConfiguration dialogPushConfiguration = new NCMBDialogPushConfiguration();
    //標準的なダイアログを設定dialogPushConfiguration.setDisplayType(NCMBDialogPushConfiguration.DIALOG_DISPLAY_DIALOG);
    //ダイアログ呼び出し
    NCMBPush.dialogPushHandler(context, intent, dialogPushConfiguration);

  3. 管理画面でプッシュ通知を設定する
    niftyのプッシュ配信ダイアログ通知1
    ブラウザで自身のアカウントでログインして「プッシュ通知:新しいプッシュ通知」でタイトルや時間設定などを行う。通常のプッシュ通知ではダイアログは使われない。

    Androidのみの仕様であるがダイアログを使う場合は「配信期限」の下にあるAndroid「端末に配信する」にチェックを入れるとオプションが表示されるのでそこで設定。

    「アクション」にManifest.xmlで設定したカスタムレシーバーのアクション名(ここではjp.storyboard.niftymbtest.receiver.RECEIVE_PUSH)を指定して「ダイアログ表示を有効にする」にチェックを入れる。

  4. 設定ができたら画面下部にある「プッシュ通知を作成する」をクリック。指定時間に合わせてプッシュ通知が実行される。通常のAndroidではNotificationだがダイアログ設定された場合はいきなりアプリが起動してダイアログが表示される。