使用 OneSignal 从一台设备向所有用户发送带有操作按钮的通知

Sending notifications with action buttons from one device to all users using OneSignal

我正在尝试从一台设备向我的 android 应用

的所有订阅者发送带有操作按钮的通知

这是我的代码

OneSignal.startInit(this)
            .inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification)
            .unsubscribeWhenNotificationsAreDisabled(true)
            .init();

    Button onSendNotification2 = (Button)(findViewById(R.id.send_notification_button2));
    onSendNotification2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            OSPermissionSubscriptionState status = OneSignal.getPermissionSubscriptionState();


                try {
                    OneSignal.postNotification(new JSONObject("{'contents': {'en':'Tag substitution value for key1 = {{key1}}'}, " +
                                     "'app_id':{ '61b94305-7527-4681-a257-c3851af3ab82'},"+
                                     "'included_segments':{ ['All']},"+
                                    "'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) {

                                    Toast.makeText(getApplicationContext() , " Success :  "+ response.toString(), Toast.LENGTH_LONG).show();
                                }

                                @Override
                                public void onFailure(JSONObject response) {
                                    Toast.makeText(getApplicationContext() , " failure :  "+ response.toString(), Toast.LENGTH_LONG).show();
                                }
                            });
                } catch (Exception e) {
                    Toast.makeText(getApplicationContext() , " exception :  "+e , Toast.LENGTH_LONG).show();
                }

        }
    });

当我 运行 这段代码时出现异常,JSONObject 代码 中的问题,我不知道如何正确编写。 任何帮助将不胜感激。

我从 Github 此处 https://github.com/OneSignal/OneSignal-Android-SDK

中的 OneSignal 示例中获得了我的问题的解决方案