public void StartAdvertising(UserDataModel userData) { Beacon beacon = new Beacon.Builder() .SetId1(AppConstants.iBeaconAppUuid) .SetId2(userData.Major) .SetId3(userData.Minor) .SetTxPower(-59) .SetManufacturer(AppConstants.CompanyCoreApple) .Build(); BeaconParser beaconParser = new BeaconParser().SetBeaconLayout(AppConstants.iBeaconFormat); _beaconTransmitter = new BeaconTransmitter(_mainActivity, beaconParser); _beaconTransmitter.StartAdvertising(beacon); }
public void StartAdvertising() { Beacon beacon = new Beacon.Builder() .SetId1(AppConstants.AppUUID) .SetId2("2111") .SetId3("3123") .SetTxPower(-59) .SetManufacturer(AppConstants.COMPANY_CODE_APPLE) .Build(); // iBeaconのバイト列フォーマットをBeaconParser(アドバタイズ時のバイト列定義)にセットする。 BeaconParser beaconParser = new BeaconParser().SetBeaconLayout(AppConstants.IBEACON_FORMAT); // iBeaconの発信を開始する。 _beaconTransmitter = new BeaconTransmitter(Application.Context, beaconParser); _beaconTransmitter.StartAdvertising(beacon); }
public async void StartAdvertisingBeacons(UserDataModel userData) { await Task.Run(() => { Beacon beacon = new Beacon.Builder() .SetId1(AppConstants.iBeaconAppUuid) .SetId2(userData.Major) .SetId3(userData.Minor) .SetTxPower(-59) .SetManufacturer(AppConstants.CompanyCodeApple) .Build(); BeaconParser beaconParser = new BeaconParser().SetBeaconLayout(AppConstants.iBeaconFormat); _beaconTransmitter = new BeaconTransmitter(this, beaconParser); _beaconTransmitter.StartAdvertising(beacon); }); }
/// <summary> /// iBeacon発信開始処理(UUID、Major、Minorを直指定して発信) /// </summary> /// <param name="uuid">UUID</param> /// <param name="major">Major</param> /// <param name="minor">Minor</param> public void StartTransmission(Guid uuid, ushort major, ushort minor, sbyte txPower) { // Android用のビーコン定義を作成 Beacon beacon = new Beacon.Builder() .SetId1(uuid.ToString()) .SetId2(major.ToString()) .SetId3(minor.ToString()) .SetTxPower(txPower) .SetManufacturer(Const.COMPANY_CODE_APPLE) .Build(); // iBeaconのバイト列フォーマットをBeaconParser(アドバタイズ時のバイト列定義)にセットする。 BeaconParser beaconParser = new BeaconParser().SetBeaconLayout(IBEACON_FORMAT); // iBeaconの発信を開始する。 _beaconTransmitter = new BeaconTransmitter(Android.App.Application.Context, beaconParser); _beaconTransmitter.StartAdvertising(beacon); }
public void StartAdvertising(UserDataModel userData) { // TODO 出力調整どうするか考える。 Beacon beacon = new Beacon.Builder() .SetId1(AppConstants.iBeaconAppUuid) .SetId2(userData.Major) .SetId3(userData.Minor) .SetTxPower(-59) .SetManufacturer(AppConstants.CompanyCoreApple) .Build(); // iBeaconのバイト列フォーマットをBeaconParser(アドバタイズ時のバイト列定義)にセットする。 BeaconParser beaconParser = new BeaconParser().SetBeaconLayout(AppConstants.iBeaconFormat); // iBeaconの発信を開始する。 _beaconTransmitter = new BeaconTransmitter(_mainActivity, beaconParser); _beaconTransmitter.StartAdvertising(beacon); }
public void StartAdvertising(UserData userData) { // TODO 出力調整どうするか考える。 Beacon beacon = new Beacon.Builder() .SetId1(AppConstants.AppUUID) .SetId2(userData.Major) .SetId3(userData.Minor) .SetTxPower(-59) .SetManufacturer(AppConstants.COMPANY_CODE_APPLE) .Build(); // iBeaconのバイト列フォーマットをBeaconParser(アドバタイズ時のバイト列定義)にセットする。 BeaconParser beaconParser = new BeaconParser().SetBeaconLayout(AppConstants.IBEACON_FORMAT); // iBeaconの発信を開始する。 _beaconTransmitter = new BeaconTransmitter(_mainActivity, beaconParser); _beaconTransmitter.StartAdvertising(beacon); }
public async Task <bool> StartBroadcastingBle(Context context, Shoot ev) { //ask to turn on bluetooth: BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.DefaultAdapter; var allprefs = context.GetSharedPreferences(WhiteLabelConfig.BUILD_VARIANT.ToLower(), FileCreationMode.Private); //var prefs = allprefs.Edit(); var useble = allprefs.GetBoolean("ble-" + ev.id, true); //prefs.PutInt("ble_enable", currentversion); //prefs.Apply(); if (!useble) { return(false); } if (mBluetoothAdapter.State == State.Off) { //ask to turn on: TaskCompletionSource <bool> tcs = new TaskCompletionSource <bool>(); var dialog = new Android.Support.V7.App.AlertDialog.Builder(context); dialog.SetTitle(Resource.String.enableble); dialog.SetMessage(Resource.String.blemessage); dialog.SetPositiveButton(Android.Resource.String.Yes, (o, e) => { tcs.SetResult(true); }); dialog.SetNegativeButton(Android.Resource.String.No, (o, e) => { tcs.SetResult(false); }); dialog.Show(); var result = await tcs.Task; if (result) { allprefs.Edit().PutBoolean("ble-" + ev.id, true).Apply(); //turn on ble mBluetoothAdapter.Enable(); //need to wait for ble event saying its started here: await Task.WhenAny(Task.Delay(3000), Task.Factory.StartNew(() => { while (mBluetoothAdapter.State != State.On) { Task.Yield(); } })); } else { allprefs.Edit().PutBoolean("ble-" + ev.id, false).Apply(); return(false); } } var compat = BeaconTransmitter.CheckTransmissionSupported(context); if (compat == BeaconTransmitter.Supported) { try { byte[] urlBytes = UrlBeaconUrlCompressor.Compress("https://" + WhiteLabelConfig.BEACONHOST + "/b/");// 91071");//+ev.offlinecode); //HACK: remove line! //ev.offlinecode = "91071"; List <byte> bytes = new List <byte>(urlBytes); bytes.AddRange(Encoding.ASCII.GetBytes(ev.offlinecode)); urlBytes = bytes.ToArray(); Identifier encodedUrlIdentifier = Identifier.FromBytes(urlBytes, 0, urlBytes.Length, false); List <Identifier> identifiers = new List <Identifier>(); identifiers.Add(encodedUrlIdentifier); beacon = new Beacon.Builder() .SetIdentifiers(identifiers) .SetServiceUuid(0xfeaa) .SetManufacturer(0x0118) .SetBeaconTypeCode(0x10) .SetTxPower(-59) .Build(); BeaconParser beaconParser = new BeaconParser().SetBeaconLayout(BeaconParser.EddystoneUrlLayout); beaconTransmitter = new BeaconTransmitter(context, beaconParser); beaconTransmitter.StartAdvertising(beacon, this); } catch (MalformedURLException) { Log.Debug("BOOTLEGGER", "That URL cannot be parsed"); } return(true); } else { //not supported return(false); } }