API Beacon Proximity: Android и рядом - PullRequest
       41

API Beacon Proximity: Android и рядом

0 голосов
/ 29 октября 2018

Мое приложение Android используется для трансляции маяков, которые доставляются на соседние устройства с помощью Nearby в качестве уведомлений с URL-ссылками.

Google анонсировал они собираются закрыть эту службу .

Они рекомендуют использовать API для маяков приближения

После прочтения документа я понял, что мне нужно регистрировать каждый маяк через REST-API, авторизоваться с использованием OAuth и API (одновременно), также они говорят что-то о Google Places и т. Д.

Это выглядит довольно сложно.

И я не понимаю: будут ли эти маяки доставляться соседним пользователям через Nearby с моей URL-ссылкой? Как это работало раньше.

Может, есть Android lib? Я нашел это . Но это только для «сканирования». Я не понимаю, для чего. Разве нельзя просто транслировать маяки на другие устройства поблизости, как это было раньше?

Спасибо

1 Ответ

0 голосов
/ 29 октября 2018

Google Nearby предоставил способ отправлять уведомления на устройства Android возле ваших маяков , даже если у пользователей не установлено ваше стороннее приложение . Теперь, когда Nearby прекращается, это уже невозможно . Теперь вы должны установить стороннее приложение на устройстве, чтобы отправлять уведомления пользователю при обнаружении маяка.

Самый простой способ сделать это - создать базовое приложение для Android, которое просто прослушивает маяки и отправляет уведомление при их обнаружении. Это можно сделать с помощью API маяков Google Pproximity, который немного сложен, поскольку требует регистрации ваших маяков на серверах Google, включения сервиса и встраивания ключа API в ваше приложение.

Гораздо более простой способ - использовать библиотеку Android Beacon с открытым исходным кодом, которая гораздо более устоялась и не имеет требований к серверу или лицензированию. Вы можете прочитать, как это работает здесь . Отправить уведомление об обнаружении маяка очень просто. Просто перейдите по ссылке в библиотеку и добавьте этот фрагмент кода в пользовательский класс приложений Android.

@Override
public void onCreate() {
    super.onCreate();
    BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this);
    beaconManager.getBeaconParsers().add(new BeaconParser().
            setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));

    Region region = new Region("com.example.myapp.boostrapRegion", null, null, null);
    RegionBootstrap regionBootstrap = new RegionBootstrap(this, region);
}


@Override
public void didEnterRegion(Region region) {
    NotificationCompat.Builder builder =
            new NotificationCompat.Builder(this)
                    .setContentTitle("Beacon Reference Application")
                    .setContentText("A beacon is nearby.")
                    .setSmallIcon(R.drawable.ic_launcher);

     TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
     stackBuilder.addNextIntent(new Intent(this, MonitoringActivity.class));
     PendingIntent resultPendingIntent =
            stackBuilder.getPendingIntent(
                    0,
                    PendingIntent.FLAG_UPDATE_CURRENT
            );
     builder.setContentIntent(resultPendingIntent);
     NotificationManager notificationManager =
            (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
     notificationManager.notify(1, builder.build())
}

Какой бы APi вы ни использовали, критическое препятствие состоит в том, чтобы заставить пользователей установить ваше приложение. Если они этого не сделают, они не будут получать уведомления. Похоже, Google Nearby смог сделать это без приложения, внедрив себя в клиентское приложение Google Play Services, которое предварительно установлено на большинстве устройств Android за пределами Китая. По сути, Google доставлял вам уведомления с помощью своего приложения. Теперь Google объявляет, что больше не будет этого делать.

Опять же, единственной альтернативой является создание и распространение собственного приложения, которое обнаруживает маяки и отправляет ваши уведомления.

Полное раскрытие: я ведущий разработчик Android Beacon Library проекта с открытым исходным кодом.

...