📲

プッシュ通知のタイトルの改行について

2023/09/10に公開

背景

「プッシュ通知のタイトルに改行を入れたい」とのリクエストがあり、実現方法を調べてました。
こういう感じ(↓)のやつです。

前提

  • Firebase Cloud Messaging を使っている
  • 対象は Android と iOS のモバイルアプリ

結論

  • Android は title に改行で OK
  • iOS は APNS で subtitle に指定する

コード例

title = 'タイトル'
subtitle = 'サブタイトル'
message = messaging.Message(
    notification=messaging.Notification(
        // Android はタイトルしか指定できない。改行でサブタイトルを連結
        title=title+\n+subtitle,
        body=body,
    ),
    data=...,
    token=...,
    // ↓apns を設定(for iOS)
    apns=messaging.ApnsConfig(
        payload=messaging.APNSPayload(
            aps=messaging.Aps(
                alert=messaging.ApsAlert(
		    // ここで指定すると notification.title を override できる
		    // iOS は改行で連結しないので改めて指定する
                    title=title
                    subtitle=subtitle
                )
            )
        )
    )
)

わかったこと

  • Android には subtitle 要素は存在しないので改行で表現する
  • iOS で APNS を使わずに Android 同様にタイトルに改行を入れると1行分しか表示されない

Discussion