我正在使用Messaging Android App。应通过推送通知通知用户。
当时我有这段代码:
public void notifyUser(String user_id, String message) {
try {
OneSignal.postNotification(new JSONObject("{'contents': {'en':['" + message + "']}, " +
"'include_player_ids': ['" + user_id + "'], " +
"'headings': {'en': 'Tag sub Title HI {{user_name}}'}, " +
"'data': {'openURL': 'https://imgur.com'}," +
"'buttons':[{'id': 'id1', 'text': 'Go to GreenActivity'}, {'id':'id2', 'text': 'Go to MainActivity'}]}"),
new OneSignal.PostNotificationResponseHandler() {
@Override
public void onSuccess(JSONObject response) {
Log.d("LOL", "postNotification Success: " + response.toString());
}
@Override
public void onFailure(JSONObject response) {
Log.d("LOL", "postNotification Failure: " + response.toString());
}
});
} catch (JSONException e) {
e.printStackTrace();
}
}
但是我在日志中遇到错误:
D/LOL: postNotification Failure: {"errors":["Notification contents for each language must be a string"]}
我搜索了互联网,但没有找到解决我问题的方法。 我希望你能帮帮我... 提前谢谢。
答案 0 :(得分:0)
我相信您所看到的错误是因为当它应该只是一个字符串时,您会在数组中发送消息。
"{'contents': {'en':['" + message + "']}
应为"{'contents': {'en':'" + message + "'}
(删除括号)。