This repository was archived by the owner on Feb 7, 2019. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 44
This repository was archived by the owner on Feb 7, 2019. It is now read-only.
Not receiving push notifications #166
Copy link
Copy link
Closed
Labels
Description
I'm sending push notifications with php script but I cannot receive them. I can register and get my token from fcm with success.
This is the payload result with success:
Result: {"multicast_id":5775932825803865467,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1514317072210466%e17bdb85f9fd7ecd"}]}
payload:
<?php
include_once("conn.php");
$sql = mysqli_query($mysqli, "SELECT token FROM tokens");
$registration_IDs = array();
while($row = mysqli_fetch_array($sql)){
$registration_IDs[] = $row['token'];
}
$to = $registration_IDs;
var_dump($to);
echo '<br><br>';
// $title = "$get_title";
// $message = "$get_message";
$title = "Title";
$message = "Push notifications message";
sendPush($to,$title,$message);
function sendPush($to,$title,$message) {
// API access key from Google API's Console
// replace API
define( 'API_ACCESS_KEY', '*****************************************');
$registrationIds = $to;
$msg = array (
'message' => $message,
'title' => $title
// you can also add images, additionalData
);
$fields = array (
'registration_ids' => $registrationIds,
'data' => $msg
);
$headers = array (
'Authorization: key=' . API_ACCESS_KEY,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send' );
curl_setopt( $ch,CURLOPT_POST, true );
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) );
$result = curl_exec($ch );
curl_close( $ch );
echo "Result: ". $result . "<br><br>";
}
?>
home-view-model.ts:
import { Observable } from "data/observable";
import * as pushPlugin from "nativescript-push-notifications";
export class HomeViewModel extends Observable {
private pushSettings = {
// Android settings
senderID: "*****************", // Android: Required setting with the sender/project number
notificationCallbackAndroid: (stringifiedData: String, fcmNotification: any) => {
const notificationBody = fcmNotification && fcmNotification.getBody();
this.updateMessage("Message received!\n" + notificationBody + "\n" + stringifiedData);
},
// iOS settings
badge: true, // Enable setting badge through Push Notification
sound: true, // Enable playing a sound
alert: true, // Enable creating a alert
notificationCallbackIOS: (message: any) => {
this.updateMessage("Message received!\n" + JSON.stringify(message));
}
};
private _counter: number;
private _message: string;
constructor() {
super();
this.message = "";
this.updateMessage("App started.");
let self = this;
this.onRegisterButtonTap();
}
get message(): string {
return this._message;
}
set message(value: string) {
if (this._message !== value) {
this._message = value;
this.notifyPropertyChange("message", value);
}
}
onCheckButtonTap() {
let self = this;
pushPlugin.areNotificationsEnabled((areEnabled: Boolean) => {
self.updateMessage("Are Notifications enabled: " + !!areEnabled);
});
}
onRegisterButtonTap() {
let self = this;
pushPlugin.register(this.pushSettings, (token: String) => {
self.updateMessage("Device registered. Access token: " + token);
// token displayed in console for easier copying and debugging durng development
console.log("Device registered. Access token: " + token);
if (pushPlugin.onMessageReceived) {
pushPlugin.onMessageReceived(this.pushSettings.notificationCallbackAndroid);
}
if (pushPlugin.registerUserNotificationSettings) {
pushPlugin.registerUserNotificationSettings(() => {
self.updateMessage("Successfully registered for interactive push.");
}, (err) => {
self.updateMessage("Error registering for interactive push: " + JSON.stringify(err));
});
}
}, (errorMessage: String) => {
self.updateMessage(JSON.stringify(errorMessage));
});
}
onUnregisterButtonTap() {
let self = this;
pushPlugin.unregister(
(successMessage: String) => {
self.updateMessage(successMessage);
},
(errorMessage: String) => {
self.updateMessage(JSON.stringify(errorMessage));
},
this.pushSettings
);
}
private updateMessage(text: String) {
this.message += text + "\n";
}
}
Reactions are currently unavailable