@neiraza

2匹の怪獣が寝た後にプログラマーしてる、最近はサイバーエージェントでゼミ長もしてる僕のネタ帳

GCMで複数のレシーブ様が登場したぜヒャッハー

今更ですが、C2DMからGCMへ移行したので、
気になったポイントを1つピックアップ。


その前に神猫さんがクルッとまわりますね
f:id:redogu:20130611182407g:plain


Pushサービスを複数利用できる仕様ではだと思うので、
https://developer.android.com/google/gcm/adv.html:Receiving Messages from Multiple Sendersを参照
n個のPushサービスに対し、アプリ内で1つのレシーバでokかなと思うけど、

もし、外部の既製品であるPushサービスを利用すると、
提供されるSDKにレシーバも入っていると思うのね。
そいつと、元々自分がGCMBaseIntentServiceを拡張してつくったレシーバで、
処理が競合してくるよね、何も考えないと両方が受信し始めて。

というわけで、僕はこんな処理で自分のsenderさんだけ対応するような実装してる。

@Override
protected void onMessage(Context context, Intent intent) {
    String senderId = intent.getStringExtra("from");
    //notification出す為にゴニョゴニョするんだと思う
}


っていうのが、自信ないのでエントリを書いておくことにした。