Tùy chỉnh âm thanh cho thông báo Firebase Cloud Messaging(FCM)

Tiếp tục series Push notification thông qua Firebase Cloud Messaging, mình sẽ hướng dẫn các bạn cách tùy chỉnh tiếng chuông thông báo trên App. Như ở bài hướng dẫn Gửi thông báo thông qua Firebase Cloud Messaging(FCM) trước ta đã có data json gửi đi.

{
    "notification": {
        "body": "This is an FCM notification message!",
        "title": "FCM Message",
        "sound": "Tri-tone"
    },
    "priority": "high",
    "data": {
        "click_action": "FLUTTER_NOTIFICATION_CLICK",
        "id": "1",
        "status": "done"
    },
    "apns": {
        "payload": {
            "aps": {
                "badge": 9
            },
            "messageID" : "ABCDEFGHIJ"
        }
    },
    "to": "<the token you want to push to>"
}

Để gửi thay đổi tiếng chuông thông báo trên android và ios sẽ có các bước khác nhau như bên dưới

Với Android App thực hiện các bước sau:

Bước 1: Copy file mp3 vào thư mục android/app/src/main/res/raw/

Bước 2: Thay đổi đoạn tên sound trong json gửi đi thành tên của file mới convert

{
    "notification": {
        "body": "This is an FCM notification message!",
        "title": "FCM Message",
        "sound": "alert.caf "
    },
    "priority": "high",
    "data": {
        "click_action": "FLUTTER_NOTIFICATION_CLICK",
        "id": "1",
        "status": "done"
    },
    "apns": {
        "payload": {
            "aps": {
                "badge": 9
            },
            "messageID" : "ABCDEFGHIJ"
        }
    },
    "to": "<the token you want to push to>"
}
Với IOS App thực hiện các bước sau:

Bước 1: Trên ios file âm thanh chỉ hỗ trợ định dạng .aiff,  .wav, . caf và độ dài phải dưới 30s. Để chuyển đổi định dạng sử dụng câu lệnh:

afconvert beforeFile.mp4 afterFile.caf -d ima4 -f caff -v

Bước 2: Sau đó bạn import file đã convert vào trong thư mục Runner trong Xcode.

Bước 3: Thay đổi đoạn tên sound trong json gửi đi thành tên của file mới convert

{
    "notification": {
        "body": "This is an FCM notification message!",
        "title": "FCM Message",
        "sound": "afterFile.caf "
    },
    "priority": "high",
    "data": {
        "click_action": "FLUTTER_NOTIFICATION_CLICK",
        "id": "1",
        "status": "done"
    },
    "apns": {
        "payload": {
            "aps": {
                "badge": 9
            },
            "messageID" : "ABCDEFGHIJ"
        }
    },
    "to": "<the token you want to push to>"
}

Leave a Comment