使用 OneSignal android 发送 PushNotifications 时出错

Posted

技术标签:

【中文标题】使用 OneSignal android 发送 PushNotifications 时出错【英文标题】:Error with sending PushNotifications with OneSignal android 【发布时间】:2018-01-15 20:41:32 【问题描述】:

我正在开发一个消息传递 android 应用程序。应通过推送通知通知用户。

当时我有这个代码:

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"]  

我搜索了互联网,但没有找到解决我的问题的方法。 我希望你能帮帮我... 提前致谢。

【问题讨论】:

【参考方案1】:

我相信您看到的错误是因为您在数组中发送消息,而它应该只是一个字符串。

"'contents': 'en':['" + message + "'] 应该是"'contents': 'en':'" + message + "'(去掉括号)。

【讨论】:

以上是关于使用 OneSignal android 发送 PushNotifications 时出错的主要内容,如果未能解决你的问题,请参考以下文章

在 android 上未收到 OneSignal 通知,但从 OneSignal 控制台发送

OneSignal 可以跨应用发送通知吗?

Monaca:使用 Onesignal 在 Android 中自定义通知声音和小图标

Onesignal通知显示在OneSignal仪表板上,但未在通知栏中显示(android)

Android 应用程序未在 Com.onesignal 通知中启动单击

OneSignal Android - 功能需要 RESTful API 密钥