URL 框架规范:https://github.com/google/eddystone/tree/master/eddystone-url
我在宣传 Eddystone URL 框架时遇到问题。我正在使用以下代码,但 Eddystone 信标扫描仪无法识别它。
byte[] data;
string url = "http://test.com";
var urlSchemeByte = EddystoneUrlFrame.EncodeUrlScheme(url);
var header = new byte[] { 0xAA, 0xFE, 0x10 };
using (var memoryStream = new MemoryStream())
{
memoryStream.Write(header, 0, header.Length);
// ranging data
memoryStream.WriteByte(220);
memoryStream.WriteByte((byte)urlSchemeByte);
EddystoneUrlFrame.EncodeUrlToStream(url,EddystoneUrlFrame.UrlSchemeDictionary[(byte)urlSchemeByte].Length,memoryStream);
data = memoryStream.ToArray();
}
var writer = new DataWriter();
writer.WriteBytes(data);
var advertisementData = new BluetoothLEAdvertisementDataSection();
advertisementData.Data = writer.DetachBuffer();
publisher.Advertisement.DataSections.Add(advertisementData);
我做错了什么?
最佳答案
Eddystone URL 按照设计只支持 HTTPS。
http ://测试。 com 必须是 https://测试。 com
尝试一个 url shortener 并再次测试。 https://咕。 gl/
关于c# - 如何使用 Windows 10 BLE API 宣传 Eddystone URL 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33334157/