gpt4 book ai didi

android - 接近信标 API : Android and Nearby

转载 作者:搜寻专家 更新时间:2023-11-01 07:42:29 25 4
gpt4 key购买 nike

我的 Android 应用程序用于广播信标,这些信标作为带有 URL 链接的通知传送到附近的设备。

Google 宣布 they are going to close this service .

他们推荐使用Proximity Beacons API

阅读文档后,我了解到我需要通过 REST-API 注册每个信标,使用 OAuth 和 API 进行身份验证(同时),他们还说了一些关于 Google Places 的内容等等。

看起来很复杂。

而且我不明白:这些信标会通过我的 URL 链接通过 Nearby 传递给附近的用户吗?它以前是如何工作的。

也许有一个 Android 库?我找到了 this .但它仅用于“扫描”。我不明白这是为了什么。难道不能像以前那样只向附近的其他设备广播信标吗?

谢谢

最佳答案

Google Nearby 提供了一种向信标附近的 Android 设备发送通知的方式即使用户没有安装您的第三方应用。现在 Nearby 已停产,这不再可能了。您现在必须在设备上安装第三方应用程序才能向用户发送有关信标检测的通知。

最简单的方法是构建一个基本的 Android 应用程序,它只监听信标并在检测到信标时发送通知。您可以使用 Google Pproximity Beacons API 执行此操作,这有点复杂,因为它需要在 Google 的服务器上注册您的信标、启用该服务并在您的应用程序中嵌入 API key 。

一种更简单的方法是使用开源 Android Beacon 库,它更成熟并且没有服务器或许可要求。您可以阅读这是如何工作的 here .发送有关信标检测的通知非常简单。只需链接到库,将此代码 fragment 添加到自定义 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 通过将自己嵌入到中国以外的大多数 Android 设备上预装的 Google Play Services 客户端应用程序中,似乎无需应用程序即可完成此操作。本质上,谷歌是通过他们的应用程序为你发送通知。现在,谷歌宣布将不再这样做。

同样,唯一的选择是构建和分发您自己的应用程序来检测信标并发送您的通知。

全面披露:我是 Android Beacon Library 的首席开发人员开源项目。

关于android - 接近信标 API : Android and Nearby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53046009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com