2016-04-04 22 views
0

Şu anda bir uygulamayı Firebase kullanarak yapıyorum ve bir sohbet de uygulamaya karar verdim.Firebase Chat - Diğer Kullanıcıya Bildirim

JSQMessagesVC'yi bir GUI olarak kullanabildim ve Firebase sohbet yönünü de kullanabildim (2 UID'yi bir sohbet odası oluşturmak için:/123_456). Ancak, bir mesaj aldıklarında diğer kullanıcıyı bilgilendirmek için kayboldum. (Eğer kullanıcı 123, 123_456 sohbet odasını açar ve ona bir mesaj gönderirse, kullanıcı 456 mesaj aldıklarını nasıl bildiririm?)

Yardımın için teşekkürler!

cevap

0

Sorunuz, veritabanınızı tasarlamak ile ilgilidir. Sohbet işlevlerini yerine getirirken, veritabanı yapınızı yeniden düşünmeniz gerekir. Firebase'in tüm veritabanı yapısı ile ilgili herhangi bir tetikleyici sağlamaz. Böylece, diğer düğümlerde (ör. Veritabanı tabloları), içinde bulunduğunuz düğümdeki birincil eyleminizle ilgili bazı eylemler gerçekleştirebilirsiniz.

Eğer structuring your data

hakkında zaten tekrar bir göz atabilirsiniz, zaten tüm bu öğreticiler okumak İşte durumunda size yardımcı olabilecek güzel bir chat example bu. Bir grup sohbete atıfta bulunmasına rağmen. Veritabanının bu amaç için nasıl yapılandırıldığını gözden geçirebilirsiniz. Temel olarak, birisi başkalarıyla sohbet etmek için bir oda açtığında farklı düğümlerde istemci tarafında bazı ek eylemler yapmanız gerekir.

Buraya başka bir SO Answer bakmalısınız.

0

Her kullanıcının bir dizi sohbet odası olduğu ek bir düğüme koyarak çözdüğüm aynı sorunu yaşadım. Bir sayaç, bir açıklama ve bir zaman damgası ile, kullanıcı sohbet odasına bir gözlemci (aşağıda "0888a5dc-fe8d-4498-aa69-f9dd1361fe54") koydu. her yeni mesaj, güncelleme sayacı ve lastMessage, vb. aşağıya bakın:

"Messages" : { 
"0888a5dc-fe8d-4498-aa69-f9dd1361fe54" : { 
    "0888a5dc-fe8d-4498-aa69-f9dd1361fe5451879163-8b35-452b-9872-a8cb4c84a6ce" : { 
    "counter" : 2, 
    "description" : "Breta", 
    "lastMessage" : “cool”, 
    "lastUser" : "51879163-8b35-452b-9872-a8cb4c84a6ce", 
    "messageType" : "txt", 
    "sortTimestamp" : -1.459518501758476E9, 
    "updatedAction" : 1.459518501758468E9, 
    "userId" : "51879163-8b35-452b-9872-a8cb4c84a6ce" 
    }, 
    "0888a5dc-fe8d-4498-aa69-f9dd1361fe547bfe8604-58ad-4d18-a528-601b76dd2206" : { 
    "counter" : 0, 
    "description" : "Romeo", 
    "lastMessage" : “yep”, 
    "lastUser" : "0888a5dc-fe8d-4498-aa69-f9dd1361fe54", 
    "messageType" : "txt", 
    "sortTimestamp" : -1.459527387138615E9, 
    "updatedAction" : 1.459527387138613E9, 
    "userId" : "7bfe8604-58ad-4d18-a528-601b76dd2206" 
    } 
}