コンテンツにスキップ

通知のカスタマイズ

ステータスバーのプッシュ通知アイコン指定

FANSHIP の通知エリアへ表示するアイコンは @drawable/popinfo_notification_icon をアプリモジュール内で設定してください。

Warning

@drawable/popinfo_notification_icon が設定されていない場合のデフォルト動作は、アプリアイコンをステータスバーへ表示するため、端末の OS バージョンや解像度によってはうまく表示されない場合があります。
解像度別にステータスバー用のアイコンリソースを設定することを推奨しております。


通知チャンネル指定

Android 8.0 以上では、通知チャンネル設定が必須となっております。

FANSHIP の通知チャンネル名につきましては、1度でも作成してしまうとアプリアップデートでも変更できないためres/values/popinfo_values.xml 内の popinfo_notification_channel_name の値を確認の上リリースしてください。

デフォルトの FANSHIP が プッシュ通知を受信した時のチャンネル名は Info となっております。

変更する場合は、アプリモジュールの res/values 配下に popinfo_values.xml をコピーして下記の値を修正してください。

<!-- 通知チャンネル名
     Android 8.0以上では通知チャンネル設定が必須となっています、FANSHIP ではアプリ設定画面に表示されるチャンネル名を'Info'に設定してます。
     チャンネル名の変更が必要な場合、値を変更してください。 (最大40文字)
     ※ OSのNotificationChannelの仕様上一度でも作成するとアプリアップデートでも変更できません。 -->
<string name="popinfo_notification_channel_name">Info</string>

プッシュ通知受信時の通知エリア(Notification)のカスタマイズ方法

下記の手順で実装してください。

  1. res/values/popinfo_values.xml をアプリプロジェクトの同位置にコピーし、通知カスタマイズ設定を有効にします。

    <!-- popinfoのNotificationを使用せず、独自にカスタマイズして表示する場合はtrueに変更してください。(true=Notificationカスタマイズ有効 false=Notificationカスタマイズ無効) -->
    <bool name="popinfo_notification_customize_enabled">true</bool>
    
  2. 同梱の PopinfoCallback.java をアプリプロジェクトの任意の名前(ここでは MyPopinfoCallback とします)で任意のパッケージに配置し、AndroidManifest.xml に設定します。

    <meta-data
        android:name="POPINFO_CALLBACK_CLASS"
        android:value="パッケージ名.MyPopinfoCallback" />
    
  3. 上記 PopinfoCallback クラス内の onNotificaitonAppeared メソッドの説明を参考に独自の Notification クラスを実装し返却します。

    • PopinfoCallback クラスにサンプルコードもコメントアウトされているので参考に実装してください。
    • 通知カスタマイズを有効にすると、デフォルトの FANSHIP が指定しているチャンネルは削除されますので、通知チャンネル登録はアプリ内の任意のタイミングで必ず実装してください。
    /**
    * PUSH通知受信時にpopinfoがNotificationを作成する直前のタイミングでコールバックされます。<br>
    * Notificationをカスタマイズしたい場合、独自に作成したNotificaitonクラスを返却してください。<br>
    * ※ res/values/popinfo_values.xmlのpopinfo_notification_customize_enabledをtrueに変更することで、このメソッドがコールされるようになります。<br>
    * Notificationカスタマイズする際、下記をご確認ください。<br>
    * 1. タップ時の処理は引数のpendingIntentをセットしてください。タップ時のアクションを制御する場合、 同クラス内のNotificationタップ時制御用メソッドのonInfoTapAction()をご使用ください。<br>
    * 2. 通知チャンネルの設定は、任意のタイミングで作成・登録処理を実装してください。(popinfoのチャンネルIDはpopinfo_notificationとなってます。)
    *
    * @param context コンテキスト
    * @param msgId メッセージID
    * @param popupMsg PUSH通知ポップアップメッセージ
    * @param icon 配信アイコン
    * @param pendingIntent popinfo PendingIntent
    * @return Notificationクラス
    */
    public Notification onNotificaitonAppeared(Context context, String msgId, String popupMsg, Bitmap icon, PendingIntent pendingIntent){
        return 作成したNotificationクラス;
    }
    

プッシュ通知受信時の通知エリア(Notification)を複数件表示する方法

複数件表示させる場合、下記の手順で設定してください。

  1. res/values/popinfo_values.xml をアプリプロジェクトの同位置にコピーし、Notification の上書き設定を変更します。

    <!-- Notificationの上書き設定 -->
    <!-- popinfoのNotificationは、デフォルトで最新の通知1件のみ表示されます。最新の通知を上書きしない場合に変更してください。(true=最新で上書き false=上書きしない) -->
    <bool name="popinfo_notification_multiple_enabled">true</bool>