Show Menu
THEMEN×

Vorabruf-Angebotsinhalte in iOS

Die Vorabruffunktion von Adobe Target verwendet iOS Mobile SDK, um so Angebotsinhalte so selten wie möglich abzurufen, indem die Serverantworten im Cache abgelegt werden.
Die Vorabruffunktion in den Mobile SDK für iOS wird für die Aktivitätstypen „Auto Target“, „Auto Allocate“ und „Automated Personalization“ in Adobe Target nicht unterstützt.
Dieser Vorgang reduziert die Ladezeit, vermeidet mehrfache Netzwerk-Aufrufe und ermöglicht es Adobe Target, eine Benachrichtigung darüber zu erhalten, welche mbox vom Benutzer der mobilen App besucht wurde. Der gesamte Inhalt wird abgerufen und während des Aufrufs für den Vorabruf im Cache abgelegt, und dieser Inhalt wird bei allen zukünftigen Aufrufen abgerufen, die im Cache abgelegte Inhalte für den spezifizierten mbox-Namen enthalten.
Vorabgerufene Inhalte werden nicht über Starts hinweg behalten. Der vorabgerufene Inhalt verbleibt im Cache, bis die Lebensdauer der App endet oder die Methode clearPrefetchCache() aufgerufen wird.
Vorabruf-APIs für Target gibt es bereits seit SDK-Version 4.14.0. Weitere Informationen zu den Parameterbeschränkungen finden Sie unter Batch-Eingabeparameter .
In der SDK-Version 4.14 oder später wird, sofern spezifiziert, environmentId``ADBMobileConfig.json beim Initiieren eines v2 Batch-MBox-TnT-Anrufs aus der Datei „“ gewonnen. Wenn keine environmentId in der Datei angegeben ist, wird kein Umgebungsparameter in den TNT-Batch-MBox-Aufruf gesendet und das Angebot für die Standardumgebung wird geliefert.
Beispiel:
if (MobileConfig.getInstance().mobileUsingTarget()){ 
            long environmentID = MobileConfig.getInstance().getEnvironmentID(); 
            if(environmentID != 0L){ 
                parametersJson.put(TargetJson.ENVIRONMENT_ID, environmentID); 
            } 
        }

Vorabrufmethoden

Hier finden Sie die Verfahren, die Sie für den Vorabruf unter iOS nutzen können:
  • targetPrefetchContent
    Sendet eine Vorabruf-Anfrage mit einem Array von Speicherorten an den konfigurierten Target-Server und gibt den Anfragestatus im bereitgestellten Rückruf zurück.
    • Hier finden Sie die Syntax für diese Methode:
      (void) targetPrefetchContent:(nonnull NSArray*)targetPrefetchObjectArray 
                     withProfileParameters:(nullable NSDictionary*)profileParameters 
                            callback:(nullable void(^)(BOOL success))callback;
      
      
    • Hier finden Sie die Parameter für diese Methode:
      • targetPrefetchArray
        Array von TargetPrefetchObjects , das den Namen und mboxParameters für jeden Target-Speicherort enthält, der vorab abgerufen werden soll.
      • profileParameters
        Enthält die Schlüssel und Werte von Profilparametern, die mit jedem Standortvorabruf in dieser Anfrage verwendet werden sollen.
      • callback
        Wird aufgerufen, wenn der Vorabruf abgeschlossen ist. Gibt den Wert true aus, wenn der Vorabruf erfolgreich war, und den Wert false , wenn der Vorabruf nicht erfolgreich war.
  • targetLoadRequests
    Führt eine Stapelanfrage über mehrere mbox-Orte aus, die im Anfrage-Array enthalten sind. Jedes Objekt im Array enthält eine Callback-Funktion, die aufgerufen wird, wenn für den angegebenen mbox-Speicherort Inhalt verfügbar ist.
    Wenn der Inhalt für die angefragten Speicherorte bereits zwischengespeichert ist, wird er sofort im bereitgestellten Rückruf zurückgegeben. Andernfalls sendet das SDK eine Netzwerkanfrage an die Target-Server, um den Inhalt abzurufen.
    • Hier finden Sie die Syntax für diese Methode:
      (void)targetLoadRequests:(nonnullNSArray*)requests 
               withProfileParameters:(nullableNSDictionary*)profileParameters;
      
      
    • Hier finden Sie die Parameter für diese Methode:
      • requests
        Array von TargetRequestObjects , das den Namen, den Standardinhalt, die Parameter und die Rückruffunktion für jeden abzurufenden Standort enthält.
      • profileParameters
        Enthält Schlüssel und Werte von Profilparametern, die mit jedem Standortvorabruf in dieser Anfrage verwendet werden.
  • targetPrefetchClearCache
    Löscht die Daten, die vom Target-Vorabruf zwischengespeichert wurden.
    • Hier finden Sie die Syntax für diese Methode:
      (void) targetPrefetchClearCache; 
      
      
    • Für diese Methode gibt es keine Parameter.
  • targetRequestObjectWithName
    Erstellt mit den bereitgestellten Daten eine TargetRequestObject -Instanz und gibt diese zurück.
    • Hier finden Sie die Syntax für diese Methode:
      +(nullableADBTargetRequestObject*)targetRequestObjectWithName:(nonnullNSString*)name
      defaultContent:(nonnullNSString*)defaultContent
      mboxParameters:(nullableNSDictionary*)mboxParameters
      callback:(nullablevoid(^)(NSString*__nullablecontent))callback;
      
      
    • Für diese Methode gibt es keine Parameter.
  • createTargetPrefetchObject
    Erstellt mit den bereitgestellten Daten eine TargetPrefetchObject -Instanz und gibt diese zurück.
    • Hier finden Sie die Syntax für diese Methode:
      +(nullable ADBTargetPrefetchObject *) targetPrefetchObjectWithName:(nonnullNSString *)name
      mboxParameters:(nullableNSDictionary *)mboxParameters;
      
      

Öffentliche Klassen

Dies sind die öffentlichen Klassen, die den Vorabruf in iOS unterstützen:

Class reference: TargetPreFetchObject

Umfasst mbox-Namen sowie die Parameter, die für den mbox-Vorabruf verwendet werden.
  • name
    Name für den Speicherort/die mbox, den/die Sie abrufen möchten.
    • Typ : NSString*
  • mboxParameters
    Optionales Wörterbuch, das die Schlüssel-Wert-Paare der mbox-Parameter enthält.
    • Typ : NSDictionary*
  • orderParameters
    Optionales Wörterbuch, das die Schlüssel-Wert-Paare der Auftragsparameter enthält.
    • Typ : NSDictionary*
  • productParameters
    Optionales Wörterbuch, das die Schlüssel-Wert-Paare der Produktparameter enthält.
    • Typ : NSDictionary*

Class reference: TargetRequestObject

Diese Klasse kapselt den mbox-Namen, den Standardinhalt, die mbox-Parameter und den Rückruf ein, die für die Target-Standortanfragen verwendet werden.
  • name
    Name des angefragten Standorts.
    • Typ : NSString*
  • mboxParameters
    Der NSString-Wert steht für den Namen des Orts/der mbox, den oder die Sie aufrufen möchten.
    • Typ : NSString*
  • defaultContent
    Der Standardinhalt, der zurückgegeben wird, wenn die Target-Server nicht erreichbar sind.
    • Typ : NSString*
  • callback
    Werden vom Stapel Target-Orte angefragt, wird der Rückruf aktiviert, wenn für den entsprechenden Ort Inhalte bereitstehen.
    • Typ : Funktion

Codebeispiel

Hier finden Sie ein Beispiel dafür, wie Sie mit iOS-SDK einen Vorabruf vornehmen können:
/** 
 * Prefetch Content 
 */ 
  
    NSDictionary *mboxParameters1 = @{@"status":@"platinum"}; 
    NSDictionary *productParameters1 = @{@"id":@"24D3412", 
                                        @"categoryId":@"Books"}; 
    NSDictionary *orderParameters1 = @{@"id":@"ADCKKIM", 
                                      @"total":@"344.30", 
                                      @"purchasedProductIds":@"34, 125, 99"};

    NSDictionary *mboxParameters2 = @{@"userType":@"Paid"}; 
    NSDictionary *productParameters2 = @{@"id":@"764334", 
                                         @"categoryId":@"Online"}; 
  
    NSArray *purchaseIDs = @[@"id1",@"id2"]; 
    NSDictionary *orderParameters2 = @{@"id":@"4t4uxksa", 
                                       @"total":@"54.90", 
                                       @"purchasedProductIds":purchaseIDs};

    // Creating Prefetch Objects 
    ADBTargetPrefetchObject *prefetch1 = [ADBMobile targetPrefetchObjectWithName:@"logo" mboxParameters:mboxParameters1]; 
    prefetch1.productParameters = productParameters1; 
    prefetch1.orderParameters = orderParameters1; 
  
    ADBTargetPrefetchObject *prefetch2 = [ADBMobile targetPrefetchObjectWithName:@"buttonColor" mboxParameters:mboxParameters2]; 
    prefetch2.productParameters = productParameters2; 
    prefetch2.orderParameters = orderParameters2; 

    // Creating prefetch Array 
    NSArray *prefetchArray = @[prefetch1,prefetch2]; 
  
    // Creating Profile parameters 
    NSDictionary *profileParmeters = @{@"age":@"20-32"};

    // Target API Call 
    [ADBMobile targetPrefetchContent:prefetchArray withProfileParameters:profileParmeters callback:^(BOOL isSuccess){ 
       // do something with the Boolean result 
    }];

Hier finden Sie ein Beispiel für den Stapel loadRequest unter Verwendung der iOS-SDK:
/** 
 * Batch loadRequest  
 */ 
  
   NSDictionary *mboxParameters1 = @{@"status":@"platinum"}; 
   NSDictionary *productParameters1 = @{@"id":@"24D3412", 
                                        @"categoryId":@"Books"}; 
   NSDictionary *orderParameters1 = @{@"id":@"ADCKKIM", 
                                      @"total":@"344.30", 
                                      @"purchasedProductIds":@"34, 125, 99"};

    NSDictionary *mboxParameters2 = @{@"userType":@"Paid"}; 
    NSDictionary *productParameters2 = @{@"id":@"764334", 
                                         @"categoryId":@"Online"}; 
    NSArray *purchaseIDs = @[@"id1",@"id2"]; 
    NSDictionary *orderParameters2 = @{@"id":@"4t4uxksa", 
                                       @"total":@"54.90", 
                                       @"purchasedProductIds":purchaseIDs};

    ADBTargetRequestObject *request1 = [ADBMobile targetRequestObjectWithName:@"logo" defaultContent:@"BlueWhale" mboxParameters:mboxParameters1 callback:^(NSString *content){ 
        // do something with the received content 
    }]; 
  
    request1.productParameters = productParameters1; 
    request1.orderParameters = orderParameters1;

    ADBTargetRequestObject *request2 = [ADBMobile targetRequestObjectWithName:@"buttonColor" defaultContent:@"red" mboxParameters:mboxParameters2 callback:^(NSString *content){ 
        // do something with the received content 
    }]; 
    request2.productParameters = productParameters1; 
    request2.orderParameters = orderParameters1;

    // create request object array 
    NSArray *requestArray = @[request1,request2]; 
  
    // Call the API 
    [ADBMobile targetLoadRequests:requestArray withProfileParameters:profileParmeters];

Weitere Informationen

Im Folgenden einige zusätzliche Informationen zu diesen Beispielen:
  • ProductParameters erlaubt nur die folgenden Schlüssel:
    • id
    • categoryId
  • OrderParameters erlaubt nur die folgenden Schlüssel:
    • id
    • total
    • purchasedProductIds
  • Für purchasedProducts können zahlreiche Zeichenfolgen verwendet werden.