0
我希望當用戶上傳帖子時,通知應發送給10公里範圍內的用戶。爲此,我通過從Firebase數據庫中檢索用戶經度和緯度,並將它們一起發送到distanceBetween
函數以及上傳文章的經緯度來計算用戶半徑。但問題在於哪個用戶進入了radius.And我無法檢索用戶標識並註冊Token來發送通知。我想要計算用戶半徑並在android中檢索用戶ID Firebase
這裏是我的代碼
dataref.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
@Override
public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
for (com.google.firebase.database.DataSnapshot data : dataSnapshot.getChildren())
{
datasnap = data;
}
Location.distanceBetween(Post_latitude, Post_longitude,Double.parseDouble(datasnap.child("latitude").getValue(String.class)), Double.parseDouble(datasnap.child("longitude").getValue(String.class)), results);
final double km = (results[0]/1000);
if (km <= 10000) {
if (!String.valueOf(datasnap.getKey().toString()).equals(userID)) {
//getting the user id here
Log.d("USerID", datasnap.getKey().toString())
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
爲什麼不計算所需的經度和緯度範圍在數據庫中的用戶。創建一個查詢,該查詢僅返回該半徑內的用戶(及其標記),然後向所有這些用戶發送通知。查看Firebase文檔以瞭解如何向多個用戶發送通知。 – Barns
發送通知不是問題,但事情是我無法創建你正在說的東西。創建一個計算並返回僅需要的TOKENS的查詢。 –
我不太明白。你不確定如何計算距離?或者你不確定如何編寫查詢? – Barns