繁体   English   中英

我的手机在调用HMS Push Kit服务器API后收不到任何消息。 SDK 版本为 4.0.3.300

[英]My phone cannot receive any message after calling the HMS Push Kit server API. The SDK version is 4.0.3.300

我正在使用华为Push Kit向华为设备推送消息,SDK版本为4.0.3.300。 我可以正确获取token,于是开始使用Postman调用Push Kit服务器API进行消息推送。 返回的消息正文显示成功,但我的设备没有收到任何消息。 以下是代码和我的操作。 我该怎么做才能处理这个问题? Postman 调用地址:

POST https://push-api.cloud.huawei.com/v1/[myappid]/messages:send

发送的消息正文:

{
    "validate_only": true,
    "message": {
        "data": "my data",
        "android": {
            "fast_app_target": 2
        },
        "token": [
            "my token"
        ]
    }
}

回复:

{
    "code": "80000000",
    "msg": "Success",
    "requestId": "158929224618234594000607"
}

响应表明成功,但我的设备没有收到任何数据消息。

我已经继承了 HmsMessageService 并在清单文件中进行了配置。

public class MyPushService extends HmsMessageService {
private static final String TAG = "hmspush";

@Override
public void onMessageReceived(RemoteMessage message) {
Log.i(TAG, "onMessageReceived is called");
if (message == null) {
Log.e(TAG, "Received message entity is null!");
return;
}
Log.i(TAG, "getCollapseKey: " + message.getCollapseKey()
+ "\n getData: " + message.getData()
+ "\n getFrom: " + message.getFrom()
+ "\n getTo: " + message.getTo()
+ "\n getMessageId: " + message.getMessageId()
+ "\n getSendTime: " + message.getSentTime()
+ "\n getMessageType: " + message.getMessageType()
+ "\n getTtl: " + message.getTtl());
}
}
<service
android:name=".MyPushService"
android:exported="false">
<intent-filter>
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
</intent-filter>
</service>

该问题是由不正确的消息正文引起的。 在消息正文中,有一个名为validate_only的字段。 根据华为开发者联盟的描述,该字段判断消息是否为测试消息。 测试消息只需要格式验证,不会推送到用户设备。 true表示测试消息; false表示正常消息。 由于validate_only字段的值在给定场景中为 true,因此该消息是测试消息,因此设备无法接收。 要解决此问题,请将validate_only的值更改为false

 { "validate_only": false, "message": { "data": "my data", "android": { "fast_app_target": 2 }, "token": [ "my token" ] } }

暂无
暂无

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

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