Firebase Realtime 在调试模式下工作,而不是在运行应用模式下工作
Posted
技术标签:
【中文标题】Firebase Realtime 在调试模式下工作,而不是在运行应用模式下工作【英文标题】:Firebase Realtime works in Debug mode not in Run App mode 【发布时间】:2021-12-07 11:12:32 【问题描述】:我有一个恢复订阅的代码。 BillingClient 在启动我的应用程序时检查并确认付款是否已确认。确认付款后,我正在尝试将数据打印到 Firebase Realtime。这在调试模式下工作正常,但是当我在应用程序运行模式下运行它时,它不会将此信息打印到 firebase。当我在调试模式下运行它并勾选 addValue 时,代码可以完美运行。我该怎么办?请帮帮我。
谢谢
public void addValue(String productid, String token, String orderid, String signatur, String deviceId, String getUID, Long islemtime, String islem, String timem, String orjiJson)
String key = mDatabaseReference.child("/subs/").push().getKey();
String languagename = Locale.getDefault().getDisplayLanguage();
Integer status = 0;
Subscriptions subscriptions = new Subscriptions(productid, token, orderid, getUID, signatur, deviceId, languagename, islemtime, islem, timem, orjiJson, status);
mDatabaseReference.child("/subs/").child(key).setValue(subscriptions, new DatabaseReference.CompletionListener()
@Override
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference)
hideProgressDialogStatic();
Intent n_act = new Intent(MyApplication.getInstance(), subfinish.class);
n_act.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
MyApplication.getInstance().startActivity(n_act);
);
【问题讨论】:
那么您认为setValue()
操作失败了吗?
【参考方案1】:
如果您在发布版本中使用 ProGuard 或任何混淆,则需要在您的类上使用 @Keep
注释。
例子:
import androidx.annotation.Keep
@Keep
public class YourClass
【讨论】:
以上是关于Firebase Realtime 在调试模式下工作,而不是在运行应用模式下工作的主要内容,如果未能解决你的问题,请参考以下文章
从 firebase-realtime-database 过滤数据
在 Firebase-Realtime Database 上使用啥规则让用户注册和登录?
Flutter firebase realtime db 在规则中使用 displayName
在单个 Activity 中使用 2 个或更多 Firebase Realtime DB