0

我正在開發一個門鈴項目,在該項目中,當客人來門鈴響時,我要向用戶發送推送通知,它應向用戶發送推送通知(即所有者的房子)。我想在我的Android應用中使用Firebase Cloud Messaging使用FCM向不同用戶發送推送通知

我們使用RaspberryPi作爲硬件控制器。當有人按下了門鈴就會觸發通知其Android設備上使用FCM用戶(這是不是一個值得關注的點。)

我的困惑是:

According to this post on SO, FCM會推送通知發送到預定義的'registration_ids'是我們在應用中提到的。 但在我的情況下,每個用戶都有他們不同的註冊ID。用戶數量也不固定。

它可以是任意數量的用戶。誰使用門鈴將有自己的ID。

因此,這將是一個可能的方案,如:

  1. 想我沒有提到的任何應用程序註冊ID。 10位用戶在家中安裝了該門鈴,而1位家中的某人按下了門鈴按鈕,FCM將向所有10位用戶發送推送通知。原因是,所有從PlayStore安裝應用的設備的註冊ID都是相同的。

  2. 假設我在應用中提到了3個註冊ID。因此,3個用戶將同時獲得相同的推送通知。

  3. 如果我沒有錯,如果我只輸入1個註冊ID,即使按下5個不同房子的門鈴,也只有1個用戶會收到通知,同一個用戶將被通知5次。

  4. 如果我在服務器端聲明一個特定的註冊ID(即RaspberryPi),我必須定期添加新的註冊ID,因爲用戶數量在我的應用中增加並經常更新。

那麼我該如何解決這個問題呢?

直到現在我還沒有開始開發這個應用程序,因爲我對第一步本身感到困惑。

如果我在某處出錯了,請引導我,因爲我是推送通知或FCM的新手。我可能沒有理解FCM的概念,這是可能的,但我不確定。如果這種解決方案不可能使用FCM,請給我一些其他的選擇來實現這一點。

+0

讓你想要同時拋出通知的人羣 –

+0

並且每個設備都有唯一的令牌ID。 –

+1

我認爲你對*註冊id *(aka token)是什麼感到困惑。 –

回答

0

註冊令牌對應於一個應用程序實例(請參閱我的回答here)。

在您的文章中,似乎您將註冊ID混淆爲應用程序中永久存在的內容,而不是。

每當用戶安裝您的應用程序,在第一次初始化時,它應該生成它自己的註冊令牌,您必須將該令牌保存到您的應用服務器,確保您將其與相應的用戶詳細信息相關聯。

爲您的使用情況,您可以利用Topic Messaging,在那裏你只需將用戶訂閱其相應門鈴話題,每一個具體的門鈴被觸發時,您將消息發送給相應的主題。