我目前正在为iOS和Android应用程序从Urban飞艇改为Pushwoosh!一切似乎工作得很好,但我有一些小问题。
是否可以更改应用中按钮的内容?当我在应用程序中进行推送时,会显示“取消”和“确定!”。
是否可以将推送设置为仅显示在应用外部而不是在应用内?
希望得到帮助并提前致谢: - )
编辑:
以下是我使用PHP从服务器发送推送的方式:
include("includes/pushwoosh.php");
pwCall( 'createMessage', array(
'application' => PW_APPLICATION,
'auth' => PW_AUTH,
'notifications' => array(
array(
'send_date' => 'now',
'devices' => array($row['devicetoken']),
'content' => $userName.' '.$languagestring[59],
'data' => array( 'custom' => 'json data' )
)
)
)
);
我可以在其中设置某种参数以使我的问题有效吗?
答案 0 :(得分:0)
您可以从服务器更改它。
action-loc-key
string或null
如果指定了字符串,则显示带有两个按钮的警报 行为在表3-1中描述。但是,iOS使用字符串作为 获取当前本地化中用于获取的本地化字符串的关键 右键的标题而不是“查看”。如果值为null,则为 系统显示一个警报,只有一个OK按钮就可以解除 点击时发出警报。有关更多信息,请参阅“本地化格式化字符串” 信息。
答案 1 :(得分:0)
SDK默认显示警报,您可以在PushNotificationManager.m类(https://github.com/shaders/push-notifications-sdk/blob/master/SDK/iPhone/Classes/PushNotificationManager.m)中将其关闭。你应该编辑第#158行
showPushnotificationAlert = TRUE; //如果您不想显示通知,请输入FALSE。
关于更改按钮文本,您可以使用相同的代码#497-494:
编辑它们if(!isPushOnStart && showPushnotificationAlert && msgIsString) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:self.appName message:alertMsg delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
alert.tag = ++internalIndex;
[pushNotifications setObject:userInfo forKey:[NSNumber numberWithInt:internalIndex]];
[alert show];
[alert release];
return YES;
}
答案 2 :(得分:0)
还没有标准的方法来改变Pushwoosh API中的动作按钮标题。但我找到了解决方法。
您可以通过“ios_root_params”参数将所需数据注入最终有效负载。
如果有效负载中存在密钥aps.alert.action-loc-key,则可以更改操作按钮标题。您可以发送以下请求:
{"request":{
"auth":"AUTH TOKEN",
"application":"APP CODE",
"notifications":[{
"send_date":"now",
"ios_root_params":{
"aps":{
"alert":{
"body":"message body",
"action-loc-key":"custom caption"
}
}
}
}]
}}
您在“ios_root_params”中定义的任何json都将与推送有效负载合并,并且ios_root_params在合并时具有优先权。
您可以省略字段“content”,因为“aps”字典将被我们的数据覆盖。