我已经设置了所有必要的推送通知描述here。新的离子推送注册设备令牌
我注册设备上启动,如:
// register for pushio
$ionicPush.register().then(function(t) {
return $ionicPush.saveToken(t, {ignore_user:true});
}).then(function(t) {
console.log('Token saved:', t.token);
});
设备令牌登录“令牌保存:xxxxthetokenxxxx”。
现在我发送推送从CURL和Ionic.io仪表板。消息的状态(用CURL检查)是200,没有错误。所以发送推送通知:
{"meta": {"request_id": "8d9c69ce-b66c-4002-8cb3-f91c57505b0f", "version": "2.0.0-beta.0", "status": 200}, "data": []}
但是我的设备没有收到通知。我认为这是由于saveToken()
功能。 saveToken()
保存令牌在哪里?
有没有人有线索如何解决这个问题?
UPDATE: I'm使用此代码发送推送:
<?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;
} ?>
编辑:奇怪的是,在Android设备令牌未注册。
您不必在设备上保存令牌,您必须将其传递给API。 –
我打电话给$ ionicPush.saveToken()。这将令牌保存到离子数据库!当我从Ionic.io仪表板发送推送信息时,此保存的标记应该传递到ionic.io仪表板使用的API。我对吗? – m1crdy
或者我需要自己保存令牌吗?如果我在设备上尝试并向此令牌发送通知,则会显示上述回复。但没有消息传递。我用我的代码更新了这个问题 – m1crdy