使用 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 示例中获得了我的问题的解决方案
我正在尝试从一台设备向我的 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 示例中获得了我的问题的解决方案