繁体   English   中英

HMS 推送套件通知有时作为数据到达,有时作为同一 JSON 正文的通知到达

[英]HMS Push Kit Notification sometimes arrives as data and sometimes as notification for the same JSON body

我在使用 HMS 推送工具包发送数据通知以确保调用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/zh/doc/development/HMSCore-Guides/android-server-dev-0000001050040110

在此处输入图像描述

{ "validate_only": false, "message": { "data": "{'param1':'value1','param2':'value2'}", "token": [ "pushtoken1", "pushtoken2" ] } }

您可以尝试使用 Huawei AG 控制台发送数据消息,如下所示。 如果以下发送正常,则证明您的设备可以很好地接收数据消息。 所以你要仔细检查你的服务器确认推送数据消息。 https://developer.huawei.com/consumer/zh/doc/development/HMSCore-Guides/msg-sending-android-0000001136294192

在此处输入图像描述

以下网页用于数据消息开发。 https://developer.huawei.com/consumer/zh/doc/development/HMSCore-Guides/android-basic-receivemsg-0000001087370610

如果您在上述测试和检查后仍有问题,请尝试捕获一些 logcat 日志,以便我们分析日志以获取更多信息。 logcats 指南: https://developer.android.com/studio/command-line/logcat

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM