我试图在react-native应用上添加推送通知,所以我使用了react-native-push-notification。库配置运行良好,但是在收到通知时,APP崩溃,并立即提示“ FirebaseApp未初始化”。
崩溃报告 AndroidRuntime:java.lang.IllegalStateException:在此com.myapp中未初始化默认FirebaseApp。确保首先调用FirebaseApp.initializeApp(Context)。
如何初始化FirebaseApp或解决此问题?任何帮助将不胜感激。
有关更多信息,请参见Github问题https://github.com/zo0r/react-native-push-notification/issues/852
android firebase react-native firebase-cloud-messaging react-native-push-notification
目前我正在学习快递和Firebase.我可以将角度或反应页面(前端)部署到Firebase.
而现在,我正在尝试使用express创建后端,然后我意识到,我不能简单地将它作为另一个项目部署到Firebase,因为Firebase托管将寻找index.html作为入口点(*请纠正我,如果我错了.我已经尝试过Firebase功能,但仍然不能.
我可以将一个javascript(expressjs)文件设置为Firebase作为入口点吗?
谢谢.
我在我的android应用程序中使用Firebase.在我的注册方法中,我使用'createUserWithEmailAndPassword()'方法.检查我的注册过程是否成功我是否正在使用'isSuccessful'方法.
firebaseAuth.createUserWithEmailAndPassword(m,p).addOnCompleteListener(new
OnCompleteListener<AuthResult>()
{
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful())
{
//some message
}
else
{
//some other message
}
};
Run Code Online (Sandbox Code Playgroud)
但每次我尝试注册时,消息都显示它没有成功.然后我使用'isComplete()'而不是'isSuccessful'然后它工作正常.我还检查了Firebase仪表板以确保是否符号上升过程工作正常,它是.现在我想知道这两种方法之间是否存在任何重大差异,如果我使用'isComplete()'会有任何进一步的问题,因为我已经检查过使用'isSuccessful()'的其他教程.还有一件事,对于相同的代码'isComplete()'返回true并创建用户,但'isSuccessful()'不是.完整的代码:
public class RegisterActivity extends AppCompatActivity {
private EditText mail,pass,cPass;
private FirebaseAuth firebaseAuth;
private ImageButton reg;
private TextView warn;
private String a,b,c;
private ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
mail=(EditText) findViewById(R.id.email);
pass=(EditText) findViewById(R.id.pass);
cPass=(EditText) findViewById(R.id.Cpass);
reg=(ImageButton) findViewById(R.id.reg);
firebaseAuth=FirebaseAuth.getInstance();
progressDialog=new ProgressDialog(this);
warn=(TextView) findViewById(R.id.warnTv);
warn.setText("");
reg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
a=mail.getText().toString().trim(); …Run Code Online (Sandbox Code Playgroud) 我在将图像上传到Firebase存储时遇到问题。我需要在HTML中使用带有文件类型的输入对象。然后,我需要为该输入选择的图像上载到我的项目的Firebase存储中。还有没有一种方法可以将该图像的位置存储在实时数据库中,以便以后可以访问?我该怎么做?
先感谢您
我有一个 Firebase 数据库和一个小的 Node.js 应用程序,我在其中使用以下代码初始化我的实例:
var admin = require('firebase-admin');
var serviceAccount = require('../database/mydatabase.json');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: 'https://mydatabase.firebaseio.com'
});
Run Code Online (Sandbox Code Playgroud)
我到底把这段代码放在哪里?我假设在每个文件中我都使用了与数据库的连接,但它说我只需要初始化一次。我把它放在我的 app.js 中吗?对不起,如果这是一个愚蠢的问题,我能找到的每个教程都不清楚。
问题:
除了Firebase在实时数据库上拥有的这份文档之外,还有其他可用的文档吗?
Firebase Realtime Database实体(例如数据库和字段名称)是否有一组首选的命名约定?
例如:
我在网上和这里(StackOverflow)看了一下,但是除了已经提到的内容之外,我找不到太多。任何外部链接都将有所帮助。
android naming-conventions firebase firebase-realtime-database
我正在尝试通过新的 FCM api 协议实现发送通知。我经历了身份验证请求,我也在谷歌控制台中启用了 api。现在,当我发送请求时,我收到错误请求 400 错误。除了错误代码和错误消息外,响应不包含任何其他信息。甚至原因字段显示“错误请求”。我正在使用FCM api docs实现它。
def fcm_test():
FCM_URL = "https://fcm.googleapis.com/v1/projects/MY_PROJECT_NAME/messages:send"
my_token = "device-token"
payload = {
"massage": {
"token": my_token,
"notification": {
"body": "body",
"title": "title"
}
}
}
payload = json.dumps(payload)
headers = {
"Authorization": "Bearer {auth_token}".format(auth_token=_get_authentication_token()),
"Content-Type": "application/json; UTF-8",
}
try:
request = moves.urllib.request.Request(FCM_URL, payload.encode('utf-8'), headers)
response = moves.urllib.request.urlopen(request, timeout=10)
except Exception as e:
pass
return
Run Code Online (Sandbox Code Playgroud) 我对 NodeJs 和 Firebase 很陌生。目前,我有一个带有 Express 的 NodeJs 项目和以下文件结构:
` + /root
+ /db
- user.js
+ /domain
- user.js
+ /node_modules
- ...
+ /routes
- routes.js
- sever.js
- config.json`
Run Code Online (Sandbox Code Playgroud)
我想在 Firebase 上托管它,但它向我添加了文件 index.html 和其他文件。如果我尝试使用 Cloud 函数,它会添加我 /functions 并在其中添加一个“index.js”文件,如下所示:
` + /root
+ /db
- user.js
+ /domain
- user.js
+ /functions
- index.js
+ /node_modules
- ...
+ /routes
- routes.js
- sever.js
- config.json
-firebase.json`
Run Code Online (Sandbox Code Playgroud)
我会尝试将我的 server.js 代码粘贴到 index.js 中,但是我从引用和丢失的包中得到错误。
这是我的 index.js 代码:
const functions = …Run Code Online (Sandbox Code Playgroud) 我成功地从 Firebase 获取数据,但我无法将其推送到数组中使用。我的数据库如下:
users
-Wc1EtcYzZSMPCtWZ8wRb8RzNXqg2
-email : "mike@gmail.com"
-lists
-LJiezOzfDrqmd-hnoH-
-owner: Wc1EtcYzZSMPCtWZ8wRb8RzNXqg2
-LJif-UgPgbdGSHYgjY6
-owner: Wc1EtcYzZSMPCtWZ8wRb8RzNXqg2
shopping-lists
-LJh6sdBJtBCM7DwxPRy
-name: "weekly shopping"
-owner: "mike@gmail.com"
Run Code Online (Sandbox Code Playgroud)
登录后我有一个主页,如果存在的话,它会在桌子上显示现有的购物清单。在 viewDidLoad() 上,我从用户那里获取购物清单 ID,并使用这些 ID 作为从购物清单中获取详细信息的参考。
但是,我无法将这些数据保存到数组中,因为它在关闭后被删除。我怎样才能以干净的方式做到这一点?
override func viewDidLoad() {
super.viewDidLoad()
SVProgressHUD.show()
tableView.allowsMultipleSelectionDuringEditing = false
// Sets user variable - must have
Auth.auth().addStateDidChangeListener { auth, user in
guard let user = user else { return }
self.user = User(authData: user)
// If new user, write into Firebase
self.usersRef.observeSingleEvent(of: .value, with: { snapshot in
if !snapshot.hasChild(self.user.uid) {
self.usersRef.child(user.uid).setValue(["email": …Run Code Online (Sandbox Code Playgroud) 我正在开发一个渐进式网络应用程序(PWA)项目,该项目在服务工作者中制作推送通知。使用 FCM(Firebase Cloud Messaging)发送推送通知是成功的,但我想知道我如何知道我的网络应用程序是否有权从用户的浏览器发送推送通知。如果可能,我想显示用户按钮以请求推送通知的权限。是否可以?
firebase service-worker progressive-web-apps firebase-cloud-messaging
firebase ×10
android ×3
express ×2
node.js ×2
api ×1
javascript ×1
python ×1
python-3.x ×1
react-native ×1
react-native-push-notification ×1
swift ×1