--- title: "Cliques de botões de manuseio" slug: "mobile-handling-button-clicks" updated: 2026-06-12T10:30:57Z published: 2026-06-12T10:30:57Z canonical: "docs.xtremepush.com/mobile-handling-button-clicks" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.xtremepush.com/llms.txt > Use this file to discover all available pages before exploring further. # Cliques de botões de manuseio Implementação necessária para notificações push interativas móveis Com a opção de [carregar categorias](/documentation/docs/pt-br/push-categories) , você pode adicionar vários botões às suas mensagens. Depois, é necessário lidar com diferentes cliques de botões. Isso pode ser feito usando nosso manipulador de respostas de mensagens. ## iOS **Swift** ```swift XPush.registerContinousMessageResponseHandler({(_ response: XPMessageResponse, _ callback: XPMessageCompletionBlock) -> Void in        if response.action.type == XPActionType_Click {            //like button which runs in background            if(response.action.identifier == "like"){                likeArticle(response.message.data["articleId"])            }            //View button which runs in foreground            else if(response.action.identifier == "view"){                openArticle(response.message.data["articleId"])            }        }        //if nothing to be done        completionHandler() }) ``` **Objective-C** ```objectivec [XPush registerMessageResponseHandlerWithCompletion:^(XPMessageResponse * _Nonnull x, XPMessageCompletionBlock  _Nonnull completionHandler) {    if (response.action.type == XPActionType_Click) {        switch (response.action.identifier) {            // Like button which runs in background            case "like":                // Like article asynchronously and call completionHandler when finished                [self likeArticle: response.message.data[@"articleId"] completionHandler: completionHandler];                return;            // View button which runs in foreground            case "view":                // Navigate to the article page                [self openArticle: response.message.data[@"articleId"]];                completionHandler();                return;        }    }    // If nothing to be done    completionHandler(); }]; ``` ## Android Implemente o `MessageResponseListener` na sua Application.java classe ```java public class YOUR_APPLICATION_CLASS extends Application implements MessageResponseListener { ``` ```java @Override    public void messageResponseReceived(Message messagePayload,                                        HashMap responsePayload,                                        WeakReference uiReference) {        if(responsePayload.get("responseType").equals("click")){            switch (responsePayload.get("action")){                // Like button which runs in background                case "like":                    //like article asynchronously                    likeArticle(messagePayload.data.get("articleId"));                    break;                // View button which runs in foreground                case "view":                    //navigate to article page                    //note, uiReference and uiReference.get() need to checked to ensure                    //   they are not null                    goToArticle(uiReference, messagePayload.data.get("articleId"));                    break;            }        }    } ``` Depois, adicione a `setMessageResponseListener` opção à sua inicialização do PushConnector: ```java new PushConnector.Builder(XPUSH_APP_KEY, GOOGLE_PROJECT_NUMBER)            .setMessageResponseListener(this)            ...            .create(this); ```