• Para iniciar é recomendado adicionar o firebase-core • O core já inclui o serviço de Analytics. dependencies { // ... compile 'com.google.firebase:firebase-core:9.8.0' } // ADD THIS AT THE BOTTOM apply plugin: 'com.google.gms.google-services'
dados NoSQL, onde os dados são armazenado em JSON e sincronizados com todos os clientes conectados em tempo real. dependencies { // ... compile 'com.google.firebase:firebase-database:9.8.0' }
public String email; public User() { // Default constructor required for calls to DataSnapshot.getValue(User.class) } } private void writeNewUser(String userId, String name, String email) { User user = new User(name, email); mDatabase.child("users").child(userId).setValue(user); }
void onDataChange(DataSnapshot dataSnapshot) { // Get Post object and use the values to update the UI Post post = dataSnapshot.getValue(Post.class); // ... } @Override public void onCancelled(DatabaseError databaseError) { // Getting Post failed, log a message Log.w(TAG, "loadPost:onCancelled", databaseError.toException()); // ... } }; mPostReference.addValueEventListener(postListener);
new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { // Get user value User user = dataSnapshot.getValue(User.class); // ... } @Override public void onCancelled(DatabaseError databaseError) { Log.w(TAG, "getUser:onCancelled", databaseError.toException()); } });
baseado em senha, provedores e customizados através de OAuth 2.0 e OpenID Connect. dependencies { // ... compile 'com.google.firebase:firebase-auth:9.8.0' }
Integração com provedores: Google, Facebook, Twitter, Github • Autenticação Anônima • Integração com seu sistema de login existente. • FirebaseUI (beta)
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser user = firebaseAuth.getCurrentUser(); if (user != null) { // User is signed in } else { // User is signed out } // ... } };
uploads e downloads para seus aplicativos do Firebase, independente da qualidade da sua rede. E com todo o suporte do Google Cloud Storage. dependencies { // ... compile 'com.google.firebase:firebase-storage:9.8.0' compile 'com.google.firebase:firebase-auth:9.8.0' }
em segundo plano e são retomados de onde forem interrompidos. • Seguro, integrado ao serviço de autenticação você pode limitar o acesso a determinados arquivos. • Escalável, respaldado pelo Google Cloud Storage você pode escalar a sua aplicação em segundos.
reference from our app StorageReference storageRef = storage.getReferenceFromUrl("gs://<your-bucket-name>"); // Create a reference to "mountains.jpg" StorageReference mountainsRef = storageRef.child("mountains.jpg"); // Create a reference to 'images/mountains.jpg' StorageReference mountainImagesRef = storageRef.child("images/mountains.jpg"); 1. A URL pode ser obtida na seção Storage do Firebase console.
que estão na memória e arquivos locais. Uri file = Uri.fromFile(new File("path/to/images/rivers.jpg")); StorageReference riversRef = storageRef.child("images/"+file.getLastPathSegment()); uploadTask = riversRef.putFile(file); // Register observers to listen for when the download is done or if it fails uploadTask.addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception exception) { // Handle unsuccessful uploads } }).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { @Override public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { // taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL. Uri downloadUrl = taskSnapshot.getDownloadUrl(); } });
em um arquivo local. E ele também gera uma URL para compartilhamento. StorageReference islandRef = storageRef.child("images/island.jpg"); File localFile = File.createTempFile("images", "jpg"); islandRef.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() { @Override public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) { String url = taskSnapshot.getDownloadUrl(); } }).addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception exception) { // Handle any errors } });
de mensagens e notificações entre diferentes plataformas. Assim você pode promover interações e retenção de usuários. dependencies { // ... compile 'com.google.firebase:firebase-messaging:9.8.0' }
criando um serviço que estende de FirebaseInstanceIdService. E para processar as mensagens enviadas pelo FCM, é preciso criar um serviço que estende de FirebaseMessagingService.
erro detalhados, classificados em fatais e não fatais. Os erros são agrupados em conjuntos de rastreamento de pilha similares e são organizados de acordo com a gravidade do impacto nos usuários. dependencies { // ... compile 'com.google.firebase:firebase-crash:9.8.0' }
de nuvem que permite alterar o comportamento e a aparência do aplicativo sem exigir que os usuários baixem uma nova atualização. dependencies { // ... compile 'com.google.firebase:firebase-config:9.8.0' }
Android fornece infraestrutura baseada em nuvem para testar aplicativos Android. Você pode iniciar os testes do seu aplicativo em uma ampla variedade de dispositivos e configurações de dispositivo.