説明したプッシュ通知に必要なものはすべてhereです。 「トークンが保存された:xxxxthetokenxxxxを」デバイストークンがログに記録され新しいイオンプッシュ登録デバイストークン
// register for pushio
$ionicPush.register().then(function(t) {
return $ionicPush.saveToken(t, {ignore_user:true});
}).then(function(t) {
console.log('Token saved:', t.token);
});
:
は、私は次のように起動時にデバイスを登録しています。
今、私は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:プッシュを送信するには、このコードを使用して - 私:
<?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:奇妙なことがあり、それはAndroid上でデバイストークンが登録されていません。
トークンをデバイスに保存する必要はありません。そのトークンをAPIに渡す必要があります。 –
私は$ ionicPush.saveToken()を呼び出します。これは、トークンをIonicデータベースに保存します。そして、Ionic.ioダッシュボードからプッシュを送信すると、この保存されたトークンはionic.ioダッシュボードが使用するAPIに渡されます。私は正しい? – m1crdy
自分でトークンを保存する必要はありますか?デバイス上で試してこのトークンに通知を送信すると、上記の返信が表示されます。しかし、メッセージは届いていません。私は自分のコードで質問を更新しました – m1crdy