2017-01-17 53 views
14

Tôi đang thử nghiệm JSON Firebase để kiểm tra biên nhận giao hàng của thông báo được gửi đến ứng dụng tin tức. Tôi có thể gửi tin nhắn thành công tới ứng dụng Android mà không gặp bất kỳ sự cố nào và tôi nhận được tin nhắn trên ứng dụng Android của mình. Tuy nhiên, tôi muốn biết làm cách nào và ở đâu tôi có thể kiểm tra xem thông báo đã được gửi thành công đến ứng dụng Android chưa?Cách kiểm tra trạng thái gửi tin nhắn Firebase được gửi tới ứng dụng Android?

Làm cách nào để sử dụng message_id và/hoặc multicast_id được đưa trở lại để nhận trạng thái gửi thông báo? Tôi không thể tìm thấy ví dụ về mã hoạt động để kiểm tra trạng thái phân phối với Firebase. Có ai có mã JSON hoạt động để truy vấn trạng thái gửi của thông báo Firebase qua message_id và/hoặc multicast_id hoặc cách khác không? Tài liệu Firebase không đưa ra các ví dụ về cách thực hiện điều này (hoặc có thể tôi đã bỏ lỡ ví dụ).

Vui lòng xem JSON Firebase bên dưới được sử dụng để gửi thông báo tới ứng dụng tin tức Firebase. Sự giúp đỡ của bất cứ ai được đánh giá cao.

Trong phần đầu tôi đặt uỷ quyền key=firebase_server_key và kiểu nội dung được thiết lập để application/json

{ 
    "to" : "token received from firebase", 
    "notification" : { 
     "body" : "test", 
     "title" : "Alert", 
     "icon" : "myicon", 
     "delivery_receipt_requested": true 
    } 
    } 

Output từ người đưa thư:

{"multicast_id":7845213569874521,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:4853214789631%31bd1c9631bd1c96"}]} 
+1

Xin chào, bạn có thể kiểm tra trạng thái trên trang Chẩn đoán FCM trên trang cửa hàng Google Play cho ứng dụng của bạn. Nhập id tin nhắn và nó sẽ hiển thị cho bạn trạng thái. – FrankR

+0

Chúng tôi muốn làm điều này thông qua một ứng dụng từ xa sẽ kéo trạng thái và do đó chúng ta cần một ví dụ JSON. –

+1

Tôi không nghĩ rằng có một API cho điều này hiện nay. Bạn có thể liên hệ với Google và xem họ có thể xác nhận điều này không. Cũng chỉ có FYI bất kỳ thư nào được gửi qua API FCM hoặc được gửi tới chủ đề sẽ không xuất hiện trong bảng điều khiển trong Firebase. – FrankR

Trả lời

5

Xác nhận những gì @ user7410521 nói trong phần ý kiến. Hiện tại không có API nào để sử dụng các số message_id s/multicast_id s để truy xuất chi tiết trạng thái gửi của tin nhắn được gửi, ngoài việc sử dụng FCM Diagnostics Page. Cũng nên nhớ rằng trang Chẩn đoán chỉ có thể sử dụng khi ứng dụng đã được xuất bản (để thử nghiệm Alpha hoặc sau này).

Tôi nhận thấy rằng bạn đã bao gồm thông số delivery_receipt_requested trong trọng tải của mình. Việc nhận được xác nhận tin nhắn là đủ để xác định rằng thiết bị đã nhận được tin nhắn.

+1

@ AL Làm cách nào để chúng tôi nhận được xác nhận phân phối bằng cách sử dụng Firebase và yêu cầu JSON? Xin vui lòng cho chúng tôi một ví dụ. –

-1

Mặc dù không có API cho đến nay tôi cũng có thể tìm hiểu. Tôi đã thử một workarond. Từ phía máy chủ PHP tôi đang gửi một tin nhắn FCM. Hãy để tôi trình bày cách tôi đã xử lý điều này trong PHP.

$fcm_return = fcm_message_send($message); 
$fcm_return_JSON = json_decode($fcm_return, true); 
echo $$fcm_return_JSON['success']; 

Khi gửi tin nhắn tới một thiết bị, tôi so sánh trả lại với 1. Dựa trên điều này, bạn có thể triển khai thêm logic của mình.

Các vấn đề liên quan