1

當我需要使用Firebase將通知發送到特定設備時,這是JSON結構。那麼我應該如何修改它才能將相同的通知發送給所有設備或所選設備?JSON數據將推送通知發送到使用Firebase的所有已註冊設備

{ "notification": { 
    "title": "Quiz App", 
    "text": "Your Quiz has submitted Successfully." 
    }, 
    "to" : "Unique Key" 
} 

會是怎樣的JSON結構發送推送通知到所有Android中使用火力地堡的設備?

+0

[FCM(Firebase Cloud Messaging)如何發送給所有電話?](http://stackoverflow.com/questions/37634563/fcm-firebase-cloud-messaging-how-to-send-to-全手機) –

+0

@AL。恐怕這不是重複的兄弟。設備消息傳遞與基於主題的消息傳遞不同,但是,這是另一種解決方法。感謝分享。 – weneedweeds

+0

@ looptheloop88這不是一個完整的重複,但是,這個帖子的答案几乎可以回答這個問題。儘管設備組消息傳遞是一種發送到多個設備的方式,但它的用例大不相同。將它用於所有用戶的方式並不是一種方便的方式,但它可以用於用戶細分。 –

回答

0

使用Firebase Device Group Messaging,您可以將單條消息發送到屬於組的設備上運行的應用的多個實例。通常,「組」是指屬於單個用戶的一組不同設備。組中的所有設備共享一個通用密鑰,這是FCM用來將消息扇出到組中所有設備的標記。

有關JSON負載的步驟和指導原則均位於Firebase文檔中。請檢查一下。

另一方面,您可以通過Firebase Notification console將消息發送到應用程序中註冊的設備。您只需編寫一條新消息並在「目標」部分中選擇該應用程序即可。

+0

Hi @ looptheloop88謝謝回答我的問題。實際上,我已經從Firebase控制檯做了這件事,但是如果我需要從我的Web服務器發送它,那麼我需要將JSON從我的服務器發送到Firebase服務器。 Firebase團隊記錄了JSON的格式,用於將消息發送到特定設備,但不發送到所有設備或多個選定設備。 –

+0

@ShravanJain - 請檢查設備消息的鏈接。 – weneedweeds

+0

好的。我會檢查的。 –

1

如果您正在查找有效負載參數以指定您希望所有用戶的消息,但不幸的是,該消息不存在。

通常,向多個用戶發送通知時,可以使用registration_ids參數而不是to。但是,它最多隻允許有1000個註冊令牌。如果您打算使用它,則可以批量請求1000個註冊令牌,迭代您存儲在應用服務器中的所有註冊令牌。

正如@ looptheloop88中提到的那樣,您可以使用Firebase控制檯向特定應用的所有用戶發送消息,但如果您計劃通過自己的應用服務器發送消息,則最方便你可以做的方式是利用是Topic Messaging。按照中可能重複後的answer我的評論說:@DiegoGiorgini:

從Web控制檯發送消息給所有的手機一樣,你從火力地堡Web控制檯做什麼是唯一可能的。通過FirebaseMessaging.getInstance().subscribeToTopic(topicName)

https://firebase.google.com/support/contact/bugs-features/

另一種可能性是讓所有的客戶端註冊到一個特定的主題這樣就可以發送一個信息:如果你需要從API此功能,您可以提交功能請求到整個主題而無需手動收集註冊ID。

但是請記住,Diagnostics for messages sent to Topics are not supported

1

我有同樣的需要,我通過設置to/topics/allrestricted_package_name我的包的名字解決它:

{ 
    "to": "/topics/all", 
    "restricted_package_name": "<PACKAGE_NAME>", 
    "notification": { 
     "title": "<TITLE>", 
     "body": "<BODY>", 
     "click_action": "FCM_PLUGIN_ACTIVITY" 
    } 
} 

每封郵件我送由移動應用程序接收,而無需編程訂閱主題。

相關問題