Allied ArchitectsAllied ArchitectsEngineer Blog

ParseのAndroid SDK 1.7.1によるPush通知について

2014/11/12 Android

はじめまして、Androidエンジニアになってしまったちくりんです。
Androidの研修という名の自主学習が終了し、最近やっと業務に関わることになりました。

先日、比較的最近更新されたParseのPush通知を調べる機会があったので、この場を借りて発信させていただきます。

概要

本記事は、AndroidでParseを用いてPush通知を行う場合の手順になります。
ほぼ10月に公開された1.7.1より、使い方が多少変わり、盛大にはまったので、その辺りをメインに記述します。

要点をまとめると以下のとおりです。

  • 1.7.1以前は、通知タップ後の処理について気にする必要が無かった
  • 従来の実装のまま通知をタップするとActivityNotFoundExceptionが発生する

今回説明する方法では、Parseの使い方を調べている際にGoogle先生が教えてくれた

  • PushService.setDefaultPushCallbackを使う〜
  • BroadcastReceiverを拡張してonReceiveする〜

は使いません。というか、使わなくなりました。
では、本題に入ります。

Pushの変更について

これまで使用していたPushService.setDefaultPushCallbackメソッドが非推奨になりました。
(厳密にはPushService.setDefaultPushCallbackの機能はParsePushBroadcastReceiverに移されました)
これに伴い、実装方法をいくつか変える必要があります。

また、非推奨になったメソッドが知りたい場合は、公式のAPIリファレンスを参照してください。

Deprecated List

新しいバージョンでPush通知を送る方法について

まず、これまで使用していたPushService.setDefaultPushCallbackが使えなくなったため、通知をタップした後のActivity遷移が出来なくなっています。これまでParseを使用した場合、通知センターへの表示やタップ後の遷移も宜しくやってくれたそうですが、それらを実装する必要があります(今でも通知センターへの表示はParseがやってくれます)。

基本的にはParseの公開しているスタートアップに従えば大丈夫です。公式の内容でも、更新されていない情報も見受けられたので、見るページには注意したほうが良さそうですが…
Android Push Notifications | Parse

スタートアップの手順を進めた後、通知タップによるActivityの遷移についてです。
次の3つを行う必要があります。

  • ParsePushBroadcastReceiverを拡張した独自レシーバの実装
  • マニフェストファイルに該当するレシーバを登録
  • 独自レシーバで通知をキャッチした後に、目的のActivityに対してIntentを発行

 

ParsePushBroadcastReceiverについて

このクラスを拡張することで、ParseからのPush通知をハンドルするメソッドをオーバーライドすることが出来ます。ハンドルしたいタイミングによって、いくつかメソッドが用意されているので、アプリに合わせて必要なメソッドをオーバーライドします。
それぞれのタイミングは次のようになっています。

  • getNotification … 通知の表示そのものをカスタマイズしたい場合
  • onPushReceive … 通知を受信した
  • onPushOpen … 通知をタップした
  • onPushDismiss … 通知を解放した

通知をタップしてアプリを起動する場合、onPushOpenをオーバーライドすればよいでしょう。
一つ注意すべき点は、1.7.1以前に使用していたonReceiveを実装すると、それ以外のメソッドが呼ばれなくなるようです。

関連する質問がstack overflowに存在するので、以下も参照。

android – Exception when opening Parse push notification – Stack Overflow

以上です。

最後に

今回、AndroidにParseを用いてPush通知を送る際の、SDK 1.7.1以降での実装法について紹介しました。

SDKの更新以外にも、Pushを送る際にA/Bテストが行える機能などが追加され、対応がいっぱいいっぱいな所ですが、魅力的なサービスなのでちょいちょい追いかけて行きたいと思います。

chikurin
  • chikurin
  • Androidエンジニア
  • 多少道草を食っていたため、3年遅れの2014年新卒ですが無害です。 はじめてのWeb系と思いきや、いつの間にかAndroidに関わることになりました。Android初心者ですがご容赦を。

RELATION ENTRY

Alexaを使ってスキルを作りたい!

Alexaを使ってスキルを作りたい!

2017/12/12 Amazon

前置き お久しぶりです。 最近綾波と浜風の改造が完了しまして、夕立と合わせて雷管キチ艦隊で遊んでいるちくりんです。 ちなみにルルイエ鎮守府に居ます。 今回は11月に国内でも発売されたAmazon EchoとAlexaについての紹介・概要のまとめ記事となります。 ライトな記事ですので、スキルの開発...

続きを読む

Facebook広告における各種Feedについて

Facebook広告における各種Feed...

2017/10/4 Facebook

お久しぶりです、ちくりんです。 Androidアプリの開発から離れて1年が経ちました。 今は社内のSNS広告の運用部署とかに配属になりまして、運用のサポートツールやらなにやらの開発を推進したりコンバージョンタグの問い合わせサポートをしたりLetroの設計したりなんぞを行って日々生きています。 今回...

続きを読む

chikurinの記事一覧へ

ページTOPへ