2017-10-16 200 views
0

我想檢測兩個iphones相互碰撞,以便發送一些信息給對方。這個任務是否有這樣的API?使用ibeacon,我們可以檢測到兩個手機接近時,但是是否縮小到兩個手機相距幾毫米或更少?檢測兩個iphones碰撞時發送握手信號

+2

這是幾年前的事情。 https://en.wikipedia.org/wiki/Bump_(application) – picciano

+0

@picciano是的我正在尋找這個確切的功能! – chibro2

+1

我相信它發送每個電話的時間戳和位置到後端服務器,匹配「關閉」顛簸併發送推送通知給每個設備。你可能需要一臺服務器來處理這個過程。 – picciano

回答

1

這沒有特定的API。也沒有可以告訴你兩個iPhone有多接近的API。

你需要做的是發送某種形式的廣播消息。而且,處於從另一設備收聽此消息的狀態(預先)。

當您檢測到凹凸消息時,您可以確定它是否與您自己的凹凸發生在同一時間,並確定它必須是它碰撞的手機。這個時間閾值可能會有一些誤差。

你也可以確定它們完全在iBeacon信號強度的範圍內(可能)。雖然,如果使用凹凸時間戳,那麼是否有必要?

1

如果用戶需要在碰撞之前喚醒手機並啓動應用程序,那麼您有很多選擇。您可以使用加速計來檢測碰撞的衝擊,然後向中央服務器廣播時間戳通知。您可以使用GPS位置縮小搜索範圍或確認它。

如果你希望你的應用程序識別凹凸,即使設備被鎖定,那麼你唯一真正的選擇是iBeacons。您可以使用所有設備的UUID創建一個信標區域,然後使用主要/次要ID來識別單個設備。您可以讓每臺設備廣播它的ID並使用您的UUID監聽所有設備。

當您收到範圍內的某個設備的通知時,您會要求獲得背景時間並開始對這些信標進行測距,並收聽加速度計以查找顛簸。如果您檢測到即時範圍內的凹凸和燈塔,則可以使用中央服務器將其鏈接起來,甚至可以使用BLE打開連接。壞消息是,一旦你開始後臺處理,你的應用只有3分鐘才能重新入睡。因此,在諸如商務會議之類的情況下,運行您的應用程序的幾個人可能會在碰撞手機之前長時間在範圍內,您可能會錯過碰撞。