Onesignar 从通知 android 中获取标签?
Onesignar get tags from notification android?
我正在使用 Onesignar 的其余 api 向 android 设备发送通知,我想像这样向用户发送附加数据
{"user_level","10"}
我正在使用标签,但我无法使用函数检索此标签
OneSignal.getTags(new OneSignal.GetTagsHandler() {
@Override
public void tagsAvailable(JSONObject tags) {
Log.d("debug_Tag", tags.toString());
}
});
它总是return空对象。我如何使用 Onesignar 从通知中检索标签或将附加数据设置为通知?
如果您想通过通知传递数据,您需要在 OneSignal create notification REST API POST 调用上设置 data
字段。
{
"app_id": "5eb5a37e-b458-11e3-ac11-000c2940e62c",
"included_segments": ["All"],
"data": {"user_level","10"},
"contents": {"en": "English Message"}
}
或 OneSignal 控制面板 "New Message" 页面选项下的 "Additional Data" 字段。
然后您可以在您的应用程序代码中调用 setNotificationOpenedHandler
以将 NotificationOpenedHandler
添加到您的应用程序,这将触发 notificationOpened
。
public void onCreate() {
super.onCreate();
OneSignal.startInit(this)
.setNotificationOpenedHandler(new ExampleNotificationOpenedHandler())
.init();
}
// This fires when a notification is opened by tapping on it or one is received while the app is running.
private class ExampleNotificationOpenedHandler implements NotificationOpenedHandler {
@Override
public void notificationOpened(String message, JSONObject additionalData, boolean isActive) {
try {
if (additionalData != null) {
Log.d("OneSignalExample", "Full additionalData:\n" + additionalData.toString());
}
} catch (Throwable t) {
t.printStackTrace();
}
}
additionalData
将包含您在创建通知时在 data
字段中设置的内容。
OneSignal.getTags
仅获取您在 OneSiganal.sendTags
.
用户上设置的标签值
我正在使用 Onesignar 的其余 api 向 android 设备发送通知,我想像这样向用户发送附加数据
{"user_level","10"}
我正在使用标签,但我无法使用函数检索此标签
OneSignal.getTags(new OneSignal.GetTagsHandler() {
@Override
public void tagsAvailable(JSONObject tags) {
Log.d("debug_Tag", tags.toString());
}
});
它总是return空对象。我如何使用 Onesignar 从通知中检索标签或将附加数据设置为通知?
如果您想通过通知传递数据,您需要在 OneSignal create notification REST API POST 调用上设置 data
字段。
{
"app_id": "5eb5a37e-b458-11e3-ac11-000c2940e62c",
"included_segments": ["All"],
"data": {"user_level","10"},
"contents": {"en": "English Message"}
}
或 OneSignal 控制面板 "New Message" 页面选项下的 "Additional Data" 字段。
然后您可以在您的应用程序代码中调用 setNotificationOpenedHandler
以将 NotificationOpenedHandler
添加到您的应用程序,这将触发 notificationOpened
。
public void onCreate() {
super.onCreate();
OneSignal.startInit(this)
.setNotificationOpenedHandler(new ExampleNotificationOpenedHandler())
.init();
}
// This fires when a notification is opened by tapping on it or one is received while the app is running.
private class ExampleNotificationOpenedHandler implements NotificationOpenedHandler {
@Override
public void notificationOpened(String message, JSONObject additionalData, boolean isActive) {
try {
if (additionalData != null) {
Log.d("OneSignalExample", "Full additionalData:\n" + additionalData.toString());
}
} catch (Throwable t) {
t.printStackTrace();
}
}
additionalData
将包含您在创建通知时在 data
字段中设置的内容。
OneSignal.getTags
仅获取您在 OneSiganal.sendTags
.