【问题标题】:React Native Read User Email Without Prompting在不提示的情况下响应本机读取用户电子邮件
【发布时间】:2018-02-20 10:27:37
【问题描述】:

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

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

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

【问题讨论】:

    标签: android ios reactjs react-native


    【解决方案1】:

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

    适用于 Android

    试试下面的 react 原生封装库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 令牌来创建用户。你可以使用following guide to do it

    对于使用 react-native 获取 iCloud 令牌的包装器,请使用 react-native-icloud-user-tokenlibrary

    【讨论】:

    • 我不想将电子邮件用作身份验证令牌,但想让订阅时事通讯变得超级容易(他们可以打开或关闭)。
    • 如果是这种情况,那么您只能从 android 获取电子邮件来填写订阅表格。对于 iOS,您需要提示输入电子邮件地址
    猜你喜欢
    • 2015-01-03
    • 2014-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    • 2011-12-29
    • 2021-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多