2016-07-20 10 views
0

Я пытался передать Eddystone-адрес, используя этот код:AltBeacon - Проблемы с Eddystone-URL передачи и Chrome Physical Web

try 
{ 
    byte[] urlBytes = UrlBeaconUrlCompressor.compress("http://google.com"); 
    Identifier encodedUrlIdentifier = Identifier.fromBytes(urlBytes, 0, urlBytes.length, false); 
    ArrayList<Identifier> identifiers = new ArrayList<Identifier>(); 
    identifiers.add(encodedUrlIdentifier); 
    Beacon beacon = new Beacon.Builder() 
      .setIdentifiers(identifiers) 
      .setManufacturer(0x0188) 
      .setTxPower(-7) 
      .build(); 
    BeaconParser beaconParser = new BeaconParser().setBeaconLayout(BeaconParser.EDDYSTONE_URL_LAYOUT); 
    BeaconTransmitter beaconTransmitter = new BeaconTransmitter(getApplicationContext(), beaconParser); 
    beaconTransmitter.setAdvertiseTxPowerLevel(AdvertiseSettings.ADVERTISE_TX_POWER_HIGH); 
    beaconTransmitter.setAdvertiseMode(AdvertiseSettings.ADVERTISE_MODE_LOW_LATENCY); 
    beaconTransmitter.startAdvertising(beacon, new AdvertiseCallback() 
    { 
     @Override 
     public void onStartFailure(int errorCode) 
     { 
      Log.e(TAG, "Advertisement start failed with code: " + errorCode); 
     } 

     @Override 
     public void onStartSuccess(AdvertiseSettings settingsInEffect) 
     { 
      Log.i(TAG, "Advertisement start succeeded."); 
     } 
    }); 
} 
catch (MalformedURLException e) 
{ 
    Log.d(TAG, "That URL cannot be parsed"); 
} 

Я могу видеть, чтобы передаваемый радиомаяком на моем втором устройстве с помощью этого приложения : https://play.google.com/store/apps/details?id=com.uriio&hl=pl

Но этот маяк не отображается в Chrome Physical Web на моем втором устройстве. Когда я использовал приложение BeaconToy для передачи маяка Eddystone-URL, мое второе устройство нашло этот маяк как в Chrome Physical Web, так и в BeaconToy.

Есть ли у меня что-то в моем передающем коде или это ошибка в altbeacon?

ответ