小编Aub*_*mai的帖子

Firebase使用Google帐户覆盖登录

在文档中似乎没有提到这一点,我发现的只有这个这个,我想在此证实:

如果现有帐户具有相同的电子邮件地址但使用其他凭据(例如密码或不可信提供商)创建,则出于安全原因,将删除先前的凭据.

如果用户通过Facebook或电子邮件/密码登录,稍后通过Google登录,则他们的帐户登录方式将转换为Google.它只发生在Google上,并且只有一个帐户的设置才有效.

它是否应该是这样的,有什么办法可以阻止它吗?

android facebook firebase firebase-authentication google-signin

22
推荐指数
1
解决办法
2326
查看次数

设置Gradle以将ProGuard映射文件发送到Firebase的困难

我正在尝试按照Firebase的此文档教程设置Android Studio,以便在为我的Android应用程序构建发布APK时自动发送我的ProGuard映射文件.

但是,我似乎无法理解"使用Gradle上传ProGuard映射文件"部分中的步骤4和5,主要是因为我gradle.properties在项目根目录或主路径中找不到任何文件,因为我希望自动执行app:firebaseUploadReleaseProguardMappingAndroid Studio中的任务,我不知道该怎么做.

这是gradle.properties我在项目根目录中创建的文件的内容:

FirebaseServiceAccountFilePath = /app/firebase-crash-reporting.json
Run Code Online (Sandbox Code Playgroud)

firebase-crash-reporting.json文件是我的Firebase崩溃报告私钥.我的映射文件是在/app/build/outputs/mapping/release/目录中生成的,如果有帮助的话.

请帮助我完成这两个步骤并在Android Studio中自动化该过程.

android firebase firebase-crash-reporting

6
推荐指数
2
解决办法
1161
查看次数

用户存在和身份验证

我正在使用此代码使用服务在后台检测我的Android应用中的用户状态:

final FirebaseAuth mAuth = FirebaseAuth.getInstance();
final FirebaseDatabase database = FirebaseDatabase.getInstance();
final DatabaseReference myConnectionsRef = database.getReference("connected-users").child(mAuth.getCurrentUser().getUid());
final DatabaseReference lastOnlineRef = database.getReference("/registered-users/").child(mAuth.getCurrentUser().getUid()).child("/lastOnline");
final DatabaseReference connectedRef = database.getReference(".info/connected");

connectedRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot snapshot) {
        boolean connected = snapshot.getValue(Boolean.class);
        if (connected) {
            DatabaseReference con = myConnectionsRef.push();
            lastOnlineRef.onDisconnect().setValue(ServerValue.TIMESTAMP);
            con.onDisconnect().removeValue();
            con.setValue(Boolean.TRUE);


            Log.i("CONNECTED", "true");

        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {

    }
});
Run Code Online (Sandbox Code Playgroud)

问题似乎是每个小时,从我发现的,再次检索身份验证令牌,并在此期间,它创建一个新的条目显示用户已连接.该条目不会被删除,从而创建一个ghost用户.

我尝试了多种解决方案,例如添加我的SHA1密钥并将新的google-services.json文件用于我的项目,但收效甚微.似乎问题是身份验证,因为当我从数据库中删除身份验证规则时,这不再发生.

这里有一些显示问题的日志:

I/art: Enabling alloc tracker (65536 entries of 16 frames, taking 8MB)
W/PersistentConnection: pc_0 - Auth token …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-authentication firebase-realtime-database

4
推荐指数
1
解决办法
411
查看次数

Android应用内结算错误消息

我之前在为Android实施应用内结算方面遇到了问题.我已经解决了这个问题,但是接下来是另一个问题.当我在手机和另一个测试帐户电话上运行应用程序时,出现错误:"此版本的应用程序未配置为市场结算." 我已经将新版本的应用程序作为APK安装到Android市场并添加了这些项目.当它打开应用内结算时,它会显示要从Android市场购买的商品的名称,但会给我错误.当我尝试Google的静态示例时,这很有效.

谢谢

android in-app

2
推荐指数
1
解决办法
1829
查看次数

在 Python 中更改 XML 值

如果我有一个如下所示的 XML 文件,我如何将版本从 50 更改为 51?

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <updateCheck seconds="2" />
    <unturnedVersion version="50" />
    <unturnedFolder recoveryBundlesAfterUpdates="false" />
    <rocket useRocket="true" apikey=""/>
    <steam username="" password="" />
    <steamUpdates validate="true" />
    <servers rconEnabled="false">
        <server name="server1" rconPort="27013" rconPassword="pass" />
        <server name="server2" rconPort="27014" rconPassword="pass" />
    </servers>
    <notifyBefore seconds="60" />
</config>
Run Code Online (Sandbox Code Playgroud)

我已经尝试了多种方法来做到这一点,有些方法没有做任何事情,或者它只是在代码底部创建了一个新版本的 unturnedVersion 51。我只想将 50 更改为 51 或我设置的任何其他值。

谢谢!

python xml

1
推荐指数
1
解决办法
73
查看次数