android - 在不提示的情况下 react native 读取用户电子邮件

标签 android ios reactjs react-native

如果我在 Google Play 上安装应用程序,我会注意到它会告知我该应用程序需要哪些权限。一旦它在应用程序中完成,它也会提示我。这一切都很好。

我只想阅读 Google 或 Apple 帐户的电子邮件,而不提示最终用户输入电子邮件。

我不想使用电子邮件作为身份验证 token ,而是预填“订阅新闻信件”字段。然后用户可以打开或关闭(或选择添加另一封电子邮件)。

最佳答案

如果我答对了问题, 您需要获取当前登录用户的主要电子邮件地址,该地址可用于预填写某种表格(例如注册表单)

Android 版

试试下面的 react native wrapper library react-native-account-manager

使用上述链接中自述文件中的说明进行设置后,使用以下代码检索已登录 Google 帐户的列表。

请注意,如果没有与设备关联的 Google 帐户,这可能会导致列表为空

import AccountManager from 'react-native-account-manager';

AccountManager.getAccountsByType('accountName').then((accounts) => {
// console.log('available accounts', accounts);
let [firstAccount] = accounts;

AccountManager.getUserData(firstAccount, 'storedKey').then((storedData) => {
// console.log('stored data for storeKey', storedData);

AccountManager.setUserData(account, 'storedKey', JSON.stringify({foo: "bar"})).then(() => {
  // console.log('data successfully stored');
  })
});
})

适用于 iOS

运气不好

Apple 不会向应用开发者公开 iPhone 用户的详细信息,例如他们的电子邮件地址、密码或信用卡详细信息。

另一种方法是使用 icloud token 创建用户。你可以使用 following guide to do it

对于使用 react-native 使用获取 iCloud token 的包装器 react-native-icloud-user-token图书馆

荣誉

关于android - 在不提示的情况下 react native 读取用户电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48883067/

相关文章:

android - WINDOW_SERVICE 无法解析为变量

ios - SwiftUI按钮操作不起作用,但是OnTapGesture

ios - 如何在 Swift 中将 NSDictionary 转换为 NSObject?

reactjs - 在 'withRouter' 中找不到导出 'withRouter'(导入为 'react-router-dom')

javascript - useLocation 无法识别状态

reactjs - 更改 "next export"的文件夹

android - 将字符串从一个方法传递到另一个android

Android SDK 模拟器错误 : Broken AVD system path

iOS Sprite Kit SKShapeNode 不填满整个路径

java - Android布局问题: Getting the Namespace Right