Ваше приложение получает обратный вызов от PendingIntent при каждом изменении состояния ограждения. Перед использованием каждое ограждение должно быть зарегистрировано.
Зарегистрировать забор
 Для регистрации ограждения используйте FenceClient , а для создания FenceUpdateRequest — FenceClient.updateFences() . Вызывайте addFence() для каждого добавляемого ограждения.
Для регистрации и отмены регистрации ограждения необходимы следующие документы:
- Экземпляр клиента API сервисов Google Play .
 -  Экземпляр 
AwarenessFence, который сам по себе является ограждением. -  
PendingIntentдля обработки изменений состояния. -  Ключ ограждения, представляющий собой строку, идентифицирующую ограждение и сопоставляющую его с парой 
AwarenessFence-PendingIntent. 
 В следующем примере кода показан метод, который вызывает updateFences() для регистрации ограждения:
    Awareness.getFenceClient(this).updateFences(new FenceUpdateRequest.Builder()
        .addFence(FENCE_KEY, exercisingWithHeadphonesFence, mPendingIntent)
        .build())
        .addOnSuccessListener(new OnSuccessListener<Void>() {
            @Override
            public void onSuccess(Void aVoid) {
                Log.i(TAG, "Fence was successfully registered.");
            }
        })
        .addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Log.e(TAG, "Fence could not be registered: " + e);
            }
        });
 Чтобы создать несколько ограждений с уникальными ключами, вызовите addFence() несколько раз. Вы можете использовать любое количество методов PendingIntent , но предпочтительнее использовать один PendingIntent для всех обратных вызовов ограждений. Если вы используете ключ ограждения, который уже зарегистрирован для вызова addFence() , значения AwarenessFence и PendingIntent для этого ключа перезаписываются.
Отменить регистрацию забора
 Чтобы отменить регистрацию ограждения, вызовите getFenceClient().updateFences() и используйте FenceUpdateRequest.Builder() для создания запроса на обновление ограждения. Затем вызовите removeFence() , как показано в следующем примере:
 Awareness.getFenceClient(this).updateFences(new FenceUpdateRequest.Builder()
     .removeFence(FENCE_KEY)
     .build())
     .addOnSuccessListener(new OnSuccessListener<Void>() {
         @Override
         public void onSuccess(Void aVoid) {
             Log.i(TAG, "Fence was successfully unregistered.");
         }
     })
     .addOnFailureListener(new OnFailureListener() {
         @Override
         public void onFailure(@NonNull Exception e) {
             Log.e(TAG, "Fence could not be unregistered: " + e);
         }
     });
Следующий шаг: управление обратными вызовами забора .