Tôi đã thiết lập tất cả các thông báo đẩy cần thiết được mô tả here.Mã thông báo thiết bị đăng ký Ionic mới
Tôi đăng ký thiết bị khi khởi động như:
// register for pushio
$ionicPush.register().then(function(t) {
return $ionicPush.saveToken(t, {ignore_user:true});
}).then(function(t) {
console.log('Token saved:', t.token);
});
Các thiết bị token được đăng nhập "Mã lưu: xxxxthetokenxxxx".
Bây giờ tôi đang gửi đẩy từ CURL và bảng điều khiển Ionic.io. Trạng thái (được chọn bằng CURL) của tin nhắn là 200 và không có lỗi. Vì vậy, thông báo đẩy được gửi:
{"meta": {"request_id": "8d9c69ce-b66c-4002-8cb3-f91c57505b0f", "version": "2.0.0-beta.0", "status": 200}, "data": []}
Nhưng thiết bị của tôi không nhận được thông báo. Tôi nghĩ rằng điều này là do hàm saveToken()
. saveToken()
lưu mã thông báo ở đâu?
Có ai có manh mối về cách giải quyết vấn đề này không?
UPDATE: tôi đang sử dụng mã này để gửi push:
<?php $curl = curl_init();
$token = "mytoken";
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.ionic.io/push/notifications",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '
{
"tokens": "bbc654c496abc2dc42a40941ac944f0a8aeb0d5b227d523e335dbd51b71ed646",
"profile": "getto",
"notification": {
"message": "Hello World!"
}
}',
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer $token",
"Content-Type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
} ?>
EDIT: Điều kỳ lạ là, rằng trên Android token thiết bị không được đăng ký.
Bạn không phải lưu mã thông báo trên thiết bị, bạn sẽ phải chuyển mã đó vào API. –
Tôi gọi $ ionicPush.saveToken(). Điều này tiết kiệm mã thông báo cho cơ sở dữ liệu Ionic !? Và khi tôi gửi một đẩy từ bảng điều khiển Ionic.io, mã thông báo đã lưu này sẽ được chuyển đến API mà bảng điều khiển ionic.io sử dụng. Tôi có đúng không? – m1crdy
Hoặc tôi có cần tự lưu mã thông báo không? Nếu tôi thử trên thiết bị và gửi thông báo tới mã thông báo này, câu trả lời ở trên sẽ được hiển thị. Nhưng không có tin nhắn được gửi. Tôi đã cập nhật câu hỏi với mã của tôi – m1crdy