はじめに
Google Apps Scriptを使ってSlack Botを作ったが、PC版にはメンション通知が来るのにスマホでは通知が来ない、という現象にハマったので備忘録として記載。
確認箇所
スマホ側の通知設定がミスってる
定番といえば定番。忘れがちなのが個別チャネルのNotification設定がされている場合は、そちらが優先されるので、個別で通知なしにしてると来ない。
設定はPCにて、Account->Notificationの項目で設定する。PCとスマホで通知条件も変えられるので注意が必要
UserIdではなくUserNameでメンション通知を実装している
今回のハマったパターン。Botから対象のユーザーに対してメンションする場合、
以下のようにかける。
user_id=U2147483697
user_name=Steve
<@U2147483697> //user_idでメンション通知
<@Steve> //user_nameでメンション通知
これはどちらでもSlack上では「@Steve」でリンクになるし、クリックするときちんとユーザー情報が見れる。
しかし、スマホでは <@U2147483697>
しかNotificationの反応が来ない。
そしてややこしいのは、 PC版は <@U2147483697>
でも <@Steve>
でもNotificationの反応が来ること。
なので、PC側は正常にNotificationが来るのにスマホだとNotificationが来ない!という場合は、メンションの指定がuser_name指定になってないかを確認して見ると良い。
なお、UserIdは
https://api.slack.com/methods/users.info/test
で確認できるほか、Slackからのパラメータとして渡って来るのでそちらを利用する