I'm using java server to send message to use google cloud message. But when i sent message i've received " project ** not whitelisted"
i've signed up at https://services.google.com/fb/forms/gcm/ and received a confirm email with content "Thank you. Your information has been sent to Google. A member of the team will be in touch shortly."
but when i try to send message again still received "project ** not whitelisted"
who can tell me how long does it take to whitelisted by google?
Probably you can expect mail from Google withing certain period(May be 3 months) of time.But am not sure how much time it will take.These are the links that i found on the internet which may help you:
1.Developer Console
2.Google user got mail
3.Discussion on Google group
Related
Is there any problem with Firebase authentication?
I am not receiving any email (verification or reset) from yesterday.
I can't even send reset email from console manually
I have checked spam folder also.
Here is my code
FirebaseAuth.getInstance().sendPasswordResetEmail(email)
.addOnSuccessListener(unused -> {
//is called
})
.addOnFailureListener(e -> {
});
Above code worked before, but recently I am facing this issue. I have tried to send reset password to an email through firebase authentication manually, but it's not working even.
More info:
If I add user manually and send email, it shows email sent successfully. But I don't receive any mail.
If the API call succeeds, the email was sent successfully. If it doesn't show up where you expect it, it got lost along the way - typically in a spam filter or a spam folder.
Spam filters are common on large company infrastructure. To check whether the message got caught in such a spam filter, you'll have to check with any IT team that owns part of the delivery infrastructure along the way.
An easier way to check might be to send to a public mail provider, such as Gmail. If the message shows up in the spam folder there, you know your code is working correctly. To prevent it getting caught as spam, have a look at my answer here: Why did this code fail to send password reset link in firebase?
This question already has answers here:
Firebase notification records/log API
(2 answers)
Closed 4 years ago.
I am testing the Firebase JSON to check the delivery receipts of the notification sent to the news app. I can successfully send the message to the Android app without any issues and I receive the message on my Android app. However, I want to know how and where can I check if the notification was successfully delivered to the Android app?
How do I use the message_id and/or multicast_id that is given back to get the delivery status of the notification? I can't find working code examples of checking for delivery status with Firebase. Does anyone have working JSON code to query the delivery status of a Firebase message via the message_id and/or multicast_id or another way? The Firebase documentation does not give examples on how to do this (or maybe I missed the example).
Please see the Firebase JSON below used to send the notification to the Firebase news app. Anyone's help is highly appreciated.
In the header I set authorization key=firebase_server_key
and content type is set to application/json
{
"to" : "token received from firebase",
"notification" : {
"body" : "test",
"title" : "Alert",
"icon" : "myicon",
"delivery_receipt_requested": true
}
}
Output from postman:
{"multicast_id":7845213569874521,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:4853214789631%31bd1c9631bd1c96"}]}
Update:
The Diagnostics Tool has been removed since Nov. 30, 2017:
You can no longer access FCM diagnostics data in the Play Console.
Confirming what #user7410521 said in the comments section. There is currently no available API to make use of the message_ids/multicast_ids to retrieve the details of the delivery status of the message sent, other than using the FCM Diagnostics Page. Do also keep in mind that the Diagnostics page is only usable when the app is already published (for Alpha testing or later).
I noticed that you included the delivery_receipt_requested parameter in your payload. Receiving the a message confirmation should be enough to determine that the device received the message.
Though there is no API so far also I could find out. I have tried a workarond. From the server side PHP I am sending an FCM message. Let me present how I have handled this in PHP.
$fcm_return = fcm_message_send($message);
$fcm_return_JSON = json_decode($fcm_return, true);
echo $$fcm_return_JSON['success'];
As I am sending a message to one device, I am comparing return with 1. Based on this you could further implement your logic.
[Background]
I am looking for some way to automate phone verification (6 digit code sent on cell phones(android) )
[My Way-probably really lame]
Create an app that polls messages coming in, search for keyword "verification".
If found ,get the 6 digit number from the message and update the file over network from cell.
Script on PC will read entry of file after the verification code was sent and use it.
Are there any API's exposed?
Verification is similar to what we have on gmail.
Thanks in advance for any inputs
Sync Messages to another Gmail acocunt where such login is not required.
Create an Console app that reads you gmail folders
poll for latest message, and voila, you have your code.
I downloaded the GCM project from git and i was able to start the server (app engine for java) and also compile the client apk on the device. On startup the device successfully registers with the server and I can see the registration id when i go to
http://myserverip:8080/_ah/admin/.
The problem is when i hit the 'Send Message' button there is a message 'Single message queued for registration id ' and it doesn't do anything.
Below is a screenshot of the error i noticed on the terminal. Am i missing something. Any help is appreciated. Thanks.
.
By the screenshot - You are getting a 401 (unauthorized) status code - you are missing the API Key.
Look in the code you downloaded for the place (it will probably be some string whose current value is something like "ENTER_YOUR_API_KEY_HERE") in which you should enter your API Key which belongs to the API Project whose ID you are using at the Client app as sender ID when you register to GCM.
I am Trying to fetch and push A notification (To inform the device to connect to the data source because it has been changed/Updated)
I read A lot of tutorials about it , and tried to apply it to help me in my case , but really i faced some problem understanding the GCM HOW IT Works
I've register at https://code.google.com/apis/console and take the SENDER ID AND APIKEY
Now I've Some Questions :
do you register the device to the service every time we start the application or only for the first time ?
do we use GCM for (only notify the device something happens) or to (notify and get the information about whats is changes) ?
why this operation need (Client And Server)
I mean (Client) it's OK Because he'll receive the push notification ,, but (Server What it Means Here) :( ,, because i think the server here will be the Google it self to notify the device
In this Case When We Use A APIKEY
the Idea Is :
I've SQL Server Database on my web-site and have small android application (Dealing With it) with two users
need when any user Add A record to the database notify the other user
Thanks In Advance ,,
Regards :)
1) You register with GCM only when you need to. E.g. When you call
GCMRegistrar.getRegistrationId(appContext);
And it returns a blank string. Typically this happens the first time you launch your app.
2) It depends on what the data you are trying to is and whether or not it will fit within the 4K payload limit. Take a look at the Send-to-Sync vs. Messages with Payload Google Help topic.
3) Your server is the server that sends the message to the GCM servers. The GCM servers then send the message down to the apps. Take a look at this blog post I wrote for a service that I helped create: http://blog.andromo.com/2012/how-does-airbop-push-messaging-work/ It should help explain how this works. In the explanation you can just substitute our servers with your own.
4) You send your API key as part of your message to the GCM servers as detailed here: http://developer.android.com/google/gcm/gcm.html#request
So in the following request:
Content-Type:application/json
Authorization:key=AIzaSyB-1uEai2WiUapxCs2Q0GZYzPu7Udno5aA
{
"registration_ids" : ["APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx..."],
"data" : {
...
},
}
Authorization: key=YOUR_API_KEY