2016-07-18 6 views
3

私はBluetooth LE経由で通信するためのカスタムビーコンがあります。現在、私はLEスキャンを実行しており、見つかったBLEデバイスのMACアドレスが私のものかどうかを確認しています。ビーコン付きGoogle Awareness API MAC

Google Awareness Fence APIを使用して、自分のビーコンの1つが範囲内にある場合は、自分自身ですべてのものを実装するのではなく、トリガーをかけたいと思います。私は、このようなAwarenessFenceを作成する場合でも、私は属性のみに

  • 名前空間、
  • タイプを定義することができます

TypeFilters使用:

final BeaconState.TypeFilter typeFilter = BeaconState.TypeFilter.with("abc", "def"); 
    final AwarenessFence beaconFence = BeaconFence.found(typeFilter); 
    Awareness.FenceApi.updateFences(
      client, 
      new FenceUpdateRequest.Builder() 
        .addFence(BEACON_FENCE, beaconFence, pi) 
        .build()) 
      .setResultCallback(new ResultCallback<Status>() { 
       @Override 
       public void onResult(@NonNull Status status) { 
        if (status.isSuccess()) { 
         Log.i(TAG, "Fence was successfully registered."); 
        } else { 
         Log.e(TAG, "Fence could not be registered: " + status); 
        } 
       } 
      }); 

質問:

  1. 名前空間と型は何を意味していますか?これらの属性はすべてのBLEデバイスに与えられていますか、私のビーコンから何らかの形でそれらを読み取ることはできますか?またはこれは例えばです。何かエドストーン特有のもの?

  2. MyビーコンのMACアドレスでAwareness APIを使用できますか?

答えて

4

1)同じ問題があって解決しました。

https://developers.google.com/beacons/proximity/attachmentsからは、「namespaceType」というフィールドを持つ添付ファイルのコンテキストが取得されます。 FenceState.TypeFilterの "namespace/type"から "namespace"と "type"へのホール文字列を分割するだけです。名前空間は、GoogleDevConsoleのプロジェクトIDである必要があります。

ビーコンをセットアップするには、GooglePlayStoreの「ビーコンツール」(Google Inc.)を入手してビーコンを見つけます。そこに添付ファイルを追加できます。


2)私が見る限り:フェンスがトリガされると、フェンスキーのみが表示されます。答えはNOです。しかし、getBeaconState()リクエストを作成して、近くにあるビーコンを確認することができます。

+0

返信いただきありがとうございます。私は正しいのですか?これらの属性は、Google APIで設定されたビーコンでのみ利用できます。プロキシミティビーコンはGoogleのクラウドに登録されています。それは悪いですし、クールだ、それは雲のものがなければ動作します。それでも、ありがとう! – Christopher

+0

ATM属性を正常に追加する方法が見つかりませんでした。 –

関連する問題