问题标签 [sms-retriever-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1206 浏览

android - 使用 SMS Retriever API Android 的 OTP/SMS 自动获取问题

我正在尝试使用 Google 的 SMS Retriever API 进行自动 SMS 验证,但其中存在问题。以前,我正在阅读发件人号码getOriginatingAddress(),如果它是有效的发件人号码,则阅读 OTP,否则不应阅读邮件。因为,转发的 OTP 会扰乱用户的隐私。

我有以下情况。

我的应用程序正在自动获取转发的 OTP 消息。

  •  用户 A 在其手机上安装应用程序并输入用户 B 手机号码。
  •  用户 B 收到 OTP 并将其转发给用户 A。
  • 应用程序读取用户 A 手机上的 OTP 并转到主屏幕。

有什么办法可以得到发件人号码。?

0 投票
0 回答
315 浏览

java - 我必须启动 startSmsRetriever 多少次才能使用 SMS Retriever API 多次检索 SMS?

我需要在不同的活动中多次检索 SMS。

对于 SMS Retrive,我在我的活动中启动 smsRetriver。

如果我必须在应用程序中每次一次都这样做?

0 投票
1 回答
882 浏览

android - SMS Retriever Api 的播放服务版本问题

我已经集成了SMS Retriever Api及其在具有最新播放服务的设备上运行良好(检查播放服务版本 16.xx 及更高版本)这里的问题是,如果我在设备上运行它,那么 SMS Retriever 客户端不会注册也不会引发错误,它只是跳过并且不起作用! 但根据文档-

Play Services 11.9.xx


先决条件 - SMS Retriever API 仅适用于具有 Play 服务版本10.2及更高版本的 Android 设备。


所以它应该可以与我的设备一起使用,因为播放服务大于 10.2
请建议我做错了什么!

用于注册客户端的代码:



和使用的依赖:

0 投票
1 回答
820 浏览

android - 每次获取不同App的Hash String | 短信检索 API

我正在我的 android 应用程序中集成SMS Retriever API

我按照以下文档生成应用程序的哈希字符串:
https ://developers.google.com/identity/sms-retriever/verify#computing_your_apps_hash_string

以下是生成哈希的方法:
1) 命令

2) AppSignatureHelper 类

对于不同的方法,我得到了不同的哈希值

prodRelease(使用命令)-R2J*******N
prodRelease(使用 AppSignatureHelper 类)-ROI*******6

以及针对不同构建变体的不同哈希值

prodRelease: ROI*******6
prodDebug: CAz*******N
devRelease: R2J*******N
devDebug: ROI*******6(与 prodRelease 相同)

我使用带有 prodRelease 哈希的 SMS 模板测试了我的应用程序,即ROI*******6。它工作得很好,然后两天后,它停止工作。我进行了调试,现在哈希值再次不同,现在它可以与不同的哈希值R2J*******N一起使用。

我希望哈希值相同,因为它取决于应用程序的包 ID。
那么为什么不同的哈希值和哪个哈希值是正确的,或者它每次都会改变,我必须不断地改变服务器中的 SMS 模板?
或者有没有其他更好的方法来确定哈希?

0 投票
1 回答
944 浏览

android - SMS Retriever API: SMSBroadcastReceiver 未检测到收到的 otp

我正在使用 SMS Retriever API,我遵循了本教程Tutorial_Link。我正确地遵循了所有步骤。只是我使用的作弊码:我从客户端而不是服务器发送和验证 OTP SMS。我正在接收短信,但我的广播接收器无法检测到短信。为什么?

一次性密码:

请帮助我,我从过去三天就卡在这里......这是我的代码:

Forgot_Password.kt :

MySMSBroadcastReceiver.kt:

AppSignatureHelper.java:

Androidmanifest.xml:

0 投票
0 回答
392 浏览

android - 提取 SMS 特定数据并在另一个应用程序中自动解析它的最佳方法是什么?

每个月,我都需要手动记录每笔银行交易,以便管理我的开支和储蓄。这是一个日常耗时的问题。

我已经做了一些研究,但作为一个社区,你可能已经通过你的经验或者类似的案例来解决这个问题。如果没有,您的意见和意见表示赞赏。

.

这是每次收到的银行 SMS 交易的尝试手动任务:

使用listonic Android应用程序手动记录收到的银行短信的支付交易价格编号,并以注释格式更新(增量)支付交易价格编号,以防每条新收到该银行的短信)手动且无效的解决方案

我进行的研究并提出了解决方案:

1- 编写代码以自动从 SMS 交易中提取价格编号并根据货币(例如 10 美元的食物)匹配价格编号,并解析此值(10 美元),以在每条新收到的带有交易的 SMS 消息的情况下自动递增来自同一银行名称的价值。以下站点可以实现此用例。如何从收到的短信中提取数据并将其用于另一个活动?在这里https://www.youtube.com/watch?v=jzWYv8y2v1c

2- 不值得花时间编码,还有另一种选择

3-利用宏脚本

解决方案编号 1 的建议脚本:

拉取数据:

解析数据

解决方案结果: 自动从指定的 SMS 提供者拉取数据的任务,并将该数据解析为一个对象,条件是从指定的 SMS 提供者接收到新的 SMS 时自动解析。示例:因此,如果我收到价值 10 美元的短信,而第二条短信是 20 美元,我会自动看到提取的数据,即在 Google Keep 或 listonic 或任何应用程序中解析的数字 30 美元。最后的数字很重要,所以我会平衡我的开支和储蓄

好处: 这不仅可以让我看到我的开支的最新价值,还可以节省时间和精力或通过短信发送的重复性类似活动。

为 SMS 自动化打开大门 (IR 4.0)

无需为应用程序付费,因为需求是发明之母

谢谢

0 投票
1 回答
2456 浏览

android - SMS Retriever api 在发布和播放商店构建中不起作用

我在短信检索器 API 上工作,它在调试模式下成功运行,但在签名构建和 Playstore 应用程序中没有,短信检索器 API 没有自动获取代码。我尝试了不同的技术来为 Playstore 生成 11 位代码,但没有奏效。我什至从 Google Play COnsole 下载了我的应用程序签名证书,并从该 .der 证书生成 11 位代码,将其转换为 .jks 文件并从中获取哈希密钥,但效果不佳。

我已经尝试过此链接提供的解决方案。

如何使用 Google App 签名为 Sms Retriever 生成 11 个字符的哈希密钥

0 投票
1 回答
260 浏览

android - 如何使用短信检索器 api 在发布模式下运行应用程序并上传到谷歌应用商店

在上传到 Google Play 商店之前,我正在尝试在发布模式下测试应用程序,但我收到了一个错误,例如

“E/AsyncHttpRequest:未处理的异常来源导致 java.lang.ClassCastException:$Proxy0 无法转换为 daaakh”。

如果有人遇到同样的问题并找到解决方案,请告诉我,谢谢。在调试模式下,它工作正常,但在发布模式下,我收到错误

早些时候它也在发布模式下工作,但现在它不在发布模式下工作

请为我提供适用于 Sms Retriever API 的解决方案,以便我可以将我的应用程序上传到 Play 商店。

0 投票
0 回答
1303 浏览

android - 将应用程序上传到 Play 商店时,无法使用 SMS 检索器 API 自动读取 SMS

我正在使用 SMS Retriever API 发送和接收 otp 消息。当我在发布和调试模式下测试我的应用程序时,它工作正常并自动读取 otp 但是当我将我的应用程序上传到 Play 商店时它停止工作。我必须手动输入我的 otp。请检查我的代码我做错了什么。

我使用 AppSignatureHashHelper 类生成了 11 个字符的字符串哈希码,并将 11 个字符的代码传递给服务器。然后我使用广播接收器读取短信并从短信解析 otp 并发送回服务器。

///////////////发送电话号码和hashKey到服务器////////////

///////////////使用广播接收器读取短信并发送回服务器//////////////////

///////////Build.gradle 文件////////////////////

请查看我的代码并帮助我在 google play store 上进行配置。

解决方案: 我找到了我的问题的解决方案,这是配置问题。

第 1 步:将您的应用程序上传到 google play 商店后,google 生成了两个证书(应用程序签名),首先是上传证书(上传密钥),这是您生成的应用程序签名密钥。此密钥用于更新或上传您的应用到 Google Play 商店。

其次是应用签名证书,当用户从 Play 商店安装您的应用时使用。该证书帮助我们生成另一个 11 位字符串代码。为此,请先下载 App 签名证书。

第 2 步:使用您的 android studio 终端并粘贴这条命令

保留别名和存储密码,因为它只是更改文件路径

第 3 步:运行此命令后,一条消息将显示“信任此证书?[否]:”然后键入“y”,然后另一条消息将显示“证书已添加到密钥库”。此 certificate.jks 文件存储在您的项目中,或者只是搜索此文件。

第 4 步:生成 certificate.jks 文件后,使用以下命令生成 11 位哈希码

在生成 certificate.jks 文件时保持别名名称与您提供的相同,即 myalias。当它会要求您输入密码时,请提供“mypassword”,您就完成了。将此 11 位哈希码发送到服务器并将其嵌入到短信格式中。

0 投票
1 回答
124 浏览

android - Google 的 SMS 检索器 API 在没有 <#> 前缀的情况下工作正常。为什么?

根据 Google 的 SMS 检索器 API,SMS 消息应该以 <#> 前缀开头,但没有它对我来说效果很好(在多个手机和系统版本上)。有没有人遇到过这种情况并知道为什么会这样?

https://android.jlelse.eu/googles-sms-retriever-api-6540eb3c8e9c