android - HMS Push Kit Notification 有时作为数据到达,有时作为同一 JSON 正文的通知
问题描述
我在使用 HMS 推送工具包发送DATA通知以确保onMessageReceived
被调用时遇到问题,但问题是对于同一个 JSON 正文,接收到的通知有时会作为数据到达,并且在接收到的消息时会被调用,而其他时候它会作为通知接收并且是由系统托盘处理这是我正在使用的 laravel 后端代码:
$body = [
"validate_only" => false,
"message" => [
"data" => json_encode($this->message),
"token" => $this->tokens
]
];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://push-api.cloud.huawei.com/v1/{some_id}/messages:send',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_encode($body),
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json; charset=UTF-8',
'Authorization: Bearer ' . $this->access
)
));
$response = curl_exec($curl);
curl_close($curl);
我怎样才能确保它总是作为数据到达?
解决方案
由服务器发送下行消息,请参考下面的网页和信息。请确保您的消息配置与要求完全相同。同时请确保您的服务器或团队不会向您的测试设备发送推送消息。因为数据消息结构不同于通知消息。无法接收数据消息作为通知消息。 https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides/android-server-dev-0000001050040110
{ "validate_only": false, "message": { "data": "{'param1':'value1','param2':'value2'}", "token": [ "pushtoken1", "pushtoken2" ] } }
您可以尝试使用华为 AG 控制台发送数据消息,如下所示。如果以下发送正常,则证明您的设备可以很好地接收数据消息。因此,您将仔细检查您的服务器确认推送数据消息。https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides/msg-sending-android-0000001136294192
以下网页用于数据消息开发。 https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides/android-basic-receivemsg-0000001087370610
如果您在上述测试和检查后仍有问题,请尝试捕获一些 logcat 日志,以便我们分析日志以获取更多信息。对于logcats的指南:https ://developer.android.com/studio/command-line/logcat
推荐阅读
- javascript - Phaser 3 中的场景有问题
- arrays - 如何在数组对象中只显示一条记录的角度问题?
- azure-devops - Azure DevOps 管道:参数中的反斜杠 - 它们是否需要转义以及如何转义?
- apache-spark - 将一个 DF 行拆分为另一个 DF 中的多行
- html - 我将如何允许用户在 Shopify 上互相付款?
- c++ - 循环遍历多维数组的第一列
- electron - 电子 - 窗口之间更简单的通信方式?
- sql - 创建查询以检查表中的任何列是否为 Null
- wix - 在 MSI/MSP 卸载过程中重新启动 Windows(通过自定义操作和 powershell)是否有风险?
- html - Bootstrap 4基本布局嵌套容器内container-fluid