Skip to content


Anpassen des Verhaltens von In-App-Nachrichten bei einem Klick

Die Eigenschaft inAppMessageClickActionType von ABKInAppMessage definiert das Aktionsverhalten nach dem Klicken auf die In-App-Nachricht. Diese Eigenschaft ist schreibgeschützt. Wenn Sie das Klickverhalten der In-App-Nachricht ändern möchten, können Sie die folgende Methode auf ABKInAppMessage aufrufen:

1
[inAppMessage setInAppMessageClickAction:clickActionType withURI:uri];
1
inAppMessage.setInAppMessageClickAction(clickActionType: clickActionType, withURI: uri)

Die inAppMessageClickActionType kann auf einen der folgenden Werte eingestellt werden:

ABKInAppMessageClickActionType On-Click-Verhalten
ABKInAppMessageRedirectToURI Die angegebene URI wird angezeigt, wenn auf die Nachricht geklickt wird, und die Nachricht wird ausgeblendet. Beachten Sie, dass der Parameter uri nicht nil sein darf.
ABKInAppMessageNoneClickAction Die Nachricht wird ausgeblendet, wenn sie angeklickt wird. Beachten Sie, dass der Parameter uri ignoriert und die Eigenschaft uri von ABKInAppMessage auf nil gesetzt wird.

Anpassen von Klicks auf den In-App-Nachrichtentext

Wenn auf eine In-App-Nachricht geklickt wird, wird die folgende Delegate-Methode ABKInAppMessageUIDelegate aufgerufen:

1
- (BOOL) onInAppMessageClicked:(ABKInAppMessage *)inAppMessage;
1
func onInAppMessageClicked(inAppMessage: ABKInAppMessage!) -> Bool

Anpassen von Klicks auf Buttons in In-App-Nachrichten

Für Klicks auf In-App-Nachrichten-Buttons und HTML-In-App-Nachrichten-Buttons (z. B. Links) enthält ABKInAppMessageUIDelegate die folgenden Delegate-Methoden:

1
2
3
4
5
6
- (BOOL)onInAppMessageButtonClicked:(ABKInAppMessageImmersive *)inAppMessage
                             button:(ABKInAppMessageButton *)button;

- (BOOL)onInAppMessageHTMLButtonClicked:(ABKInAppMessageHTML *)inAppMessage
                             clickedURL:(nullable NSURL *)clickedURL
                               buttonID:(NSString *)buttonID;
1
2
3
4
5
func onInAppMessageButtonClicked(inAppMessage: ABKInAppMessageImmersive!,
                                 button: ABKInAppMessageButton) -> Bool

func onInAppMessageHTMLButtonClicked(inAppMessage: ABKInAppMessageHTML!,
                                     clickedURL: URL, buttonID: String) -> Bool

Jede Methode gibt einen BOOL-Wert zurück, der angibt, ob Braze die Klickaktion weiter ausführen soll.

Mit dem folgenden Code können Sie auf den Typ der Klickaktion eines Buttons in einer Delegate-Methode zugreifen:

1
2
3
4
5
6
7
if ([inAppMessage isKindOfClass:[ABKInAppMessageImmersive class]]) {
      ABKInAppMessageImmersive *immersiveIAM = (ABKInAppMessageImmersive *)inAppMessage;
      NSArray<ABKInAppMessageButton *> *buttons = immersiveIAM.buttons;
      for (ABKInAppMessageButton *button in buttons) {
         // Button action type is accessible via button.buttonClickActionType
      }
   }
1
2
3
4
5
6
if inAppMessage is ABKInAppMessageImmersive {
      let immersiveIAM = inAppMessage as! ABKInAppMessageImmersive;
      for button in inAppMessage.buttons as! [ABKInAppMessageButton]{
        // Button action type is accessible via button.buttonClickActionType
      }
    }

Wenn eine In-App-Nachricht Buttons enthält, werden nur die Klickaktionen auf dem Modell ABKInAppMessageButton ausgeführt. Der In-App-Nachrichtentext kann nicht angeklickt werden, obwohl dem Modell ABKInAppMessage die Standard-Klickaktion zugewiesen ist.

Methoden-Deklarationen

Weitere Informationen finden Sie in den folgenden Header-Dateien:

New Stuff!