首页 > 解决方案 > 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);

我怎样才能确保它总是作为数据到达?

标签: androidlaravelhuawei-mobile-servicespushkit

解决方案


由服务器发送下行消息,请参考下面的网页和信息。请确保您的消息配置与要求完全相同。同时请确保您的服务器或团队不会向您的测试设备发送推送消息。因为数据消息结构不同于通知消息。无法接收数据消息作为通知消息。 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


推荐阅读