如果我在 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/