2016-04-12 51 views
0

使用Proximity Beacon API註冊信號似乎很容易,但我無法接收任何帶有Nearby Messages API的消息(註冊信標,添加的附件,訂閱了消息API) 。使用Google的Proximity Beacon API註冊Estimote Beacons(Eddystone)

我認爲我的問題在於註冊燈塔。它說你應該使用namespaceID和instanceID,但是我用來檢索id的每個應用都告訴我,我必須將0x放在namespaceID/instanceID的前面,或者將它們放在它們之間。

我已經試過以下格式:

  • namespaceIDinstanceID
  • 名稱空間ID:INSTANCEID
  • 0xnamespaceIDinstanceID

我使用Estimote燈塔的時刻。我如何將Eddystone的Estimote信標註冊到Proximity Beacon API?

我不需要代碼,只需將eddystone UID格式轉換爲base64即可。

回答

2

將Eddystone UID表示爲包含名稱空間和實例的字節數組,因此總共包含16個字節。像這樣:

JSONObject json = new JSONObject(); 

// For namespace 0x0102030405060708090a, instance 0x0b0c0d0e0f00 
byte[] myEddystoneUid = new byte[] { 
     (byte)0x01, (byte)0x02, (byte)0x03, (byte)0x04, 
     (byte)0x05, (byte)0x06, (byte)0x07, (byte)0x08, 
     (byte)0x09, (byte)0x0a, (byte)0x0b, (byte)0x0c, 
     (byte)0x0d, (byte)0x0e, (byte)0x0f, (byte)0x00 
}; 

JSONObject advertisedId = new JSONObject() 
     .put("type", "EDDYSTONE") 
     .put("id", Base64.encodeToString(myEddystoneUid, Base64.NO_WRAP)); 
json.put("advertisedId", advertisedId); 
json.put("status", "ACTIVE"); 
+0

非常感謝你的回答,它解決了我的問題! – Melli

相關問題