コンテンツにスキップ

通知バッジの設定(iOSのみ)

RichFlyerではプッシュ通知を受信直後は、通知センターに残っている未読の件数がバッチに表示されます。
アプリを起動後は、以下の方法で端末のホーム画面のアプリアイコンに表示するバッジの数字を設定できます。
この実装は、iOSアプリにのみ有効です。

バッジの表示

// Class RichFlyer.RFPluginScript
static void SetBadgeNumber(int number)
パラメータ 内容
badge バッジに表示する数値

バッジの非表示

// Class RichFlyer.RFPluginScript
static void ResetBadgeNumber()

実装例

実装例

using UnityEngine;
using RichFlyer;

public class RFBehaviourScript : MonoBehaviour
{
    void Start()
    {
        // バッジの数字を5に設定
        RFPluginScript.SetBadgeNumber(5);

        // バッジを非表示にする
        //RFPluginScript.ResetBadgeNumber();        
    }

    // Update is called once per frame
    void Update()
    {

    }
}


プッシュ通知受信直後のバッジの値を変更したい場合

プッシュ通知受信直後に通知センターの未読件数ではなく、任意の値を表示したい場合は、プラグインに含まれる NotificationService.m ファイルを以下のように実装することで実現可能です。
ファイルの場所: Assets / Plugins / iOS / RichFlyer / RFExtension

実装例

NotificationService.m

- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
    self.contentHandler = contentHandler;
    self.bestAttemptContent = [request.content mutableCopy];

    NSDictionary* infoPlist = [[NSBundle mainBundle] infoDictionary];
    NSDictionary* rfItem = infoPlist[@"RichFlyer"];
    if (rfItem) {
        NSString* groupId = rfItem[@"groupId"];

        [RFNotificationService configureRFNotification:self.bestAttemptContent
                                            appGroupId:groupId
                                        displayNavigate:NO
                                        completeHandler:^(UNMutableNotificationContent *content){
            self.bestAttemptContent = content;
            // バッジの値を1にする
            self.bestAttemptContent.badge = [NSNumber numberWithInt:1];
            self.contentHandler(self.bestAttemptContent);
        }];
    } else {
        self.contentHandler(self.bestAttemptContent);
    }
}