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

尝试使用一个网址缩短程序,然后再次进行测试。 https://粘gl /

关于c# - 如何使用Windows 10 BLE API宣传Eddystone URL框架,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33334157/

10-13 07:34