使用PushWoosh编辑按钮等

时间:2013-03-25 13:53:09

标签: ios push-notification apple-push-notifications pushwoosh

我目前正在为iOS和Android应用程序从Urban飞艇改为Pushwoosh!一切似乎工作得很好,但我有一些小问题。

  1. 是否可以更改应用中按钮的内容?当我在应用程序中进行推送时,会显示“取消”和“确定!”。

  2. 是否可以将推送设置为仅显示在应用外部而不是在应用内?

  3. 希望得到帮助并提前致谢: - )

    编辑:

    以下是我使用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' )
                )
            )
        )
    );
    

    我可以在其中设置某种参数以使我的问题有效吗?

3 个答案:

答案 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”字典将被我们的数据覆盖。