De Target SDK vervangen door de Optimize SDK

Leer hoe u de SDK's van Adobe Target vervangt door de SDK's van Optimize in uw mobiele implementatie. Een basisvervanging bestaat uit de volgende stappen:

  • Afhankelijkheden bijwerken in het Podfile of het build.gradle bestand
  • Import bijwerken
  • Toepassingscode bijwerken
INFO
In het ecosysteem van Adobe Experience Platform Mobile SDK worden extensies geïmplementeerd door SDK's die zijn geïmporteerd in uw toepassingen en die verschillende namen kunnen hebben:
  • SDK van het Doel voert de uitbreiding van Adobe Target uit
  • optimaliseer SDK voert Offer Decisioning en de uitbreiding van het Doel uit

Afhankelijkheden bijwerken

Android-voorbeeld
tabs
optimaliseer SDK

build.gradle afhankelijkheden na migreren

code language-java
implementation platform('com.adobe.marketing.mobile:sdk-bom:3.+')
implementation 'com.adobe.marketing.mobile:core'
implementation 'com.adobe.marketing.mobile:edgeidentity'
implementation 'com.adobe.marketing.mobile:edge'
implementation 'com.adobe.marketing.mobile:optimize'
Doel SDK

build.gradle afhankelijkheden voordat er wordt gemigreerd

code language-java
implementation platform('com.adobe.marketing.mobile:sdk-bom:3.+')
implementation 'com.adobe.marketing.mobile:analytics'
implementation 'com.adobe.marketing.mobile:target'
implementation 'com.adobe.marketing.mobile:core'
implementation 'com.adobe.marketing.mobile:identity'
implementation 'com.adobe.marketing.mobile:lifecycle'
implementation 'com.adobe.marketing.mobile:signal'
implementation 'com.adobe.marketing.mobile:userprofile'
iOS-voorbeeld
tabs
optimaliseer SDK

Podfile afhankelijkheden na migreren

code language-swift
use_frameworks!
target 'YourAppTarget' do
    pod 'AEPCore', '~> 5.0'
    pod 'AEPEdge', '~> 5.0'
    pod 'AEPEdgeIdentity', '~> 5.0'
    pod 'AEPOptimize', '~> 5.0'
end
Doel SDK

Podfile afhankelijkheden voordat er wordt gemigreerd

code language-swift
use_frameworks!
pod 'AEPAnalytics', '~> 5.0'
pod 'AEPTarget', '~> 5.0'
pod 'AEPCore', '~> 5.0'
pod 'AEPIdentity', '~> 5.0'
pod 'AEPSignal', '~>5.0'
pod 'AEPLifecycle', '~>5.0'
pod 'AEPUserProfile', '~> 5.0'

Importeren en code bijwerken

Android-voorbeeld
tabs
optimaliseer SDK

Java-initialisatiecode na migreren

code language-java
import com.adobe.marketing.mobile.MobileCore;
import com.adobe.marketing.mobile.Edge;
import com.adobe.marketing.mobile.edge.identity.Identity;
import com.adobe.marketing.mobile.optimize.Optimize;
import com.adobe.marketing.mobile.AdobeCallback;

public class MainApp extends Application {

  private final String ENVIRONMENT_FILE_ID = "YOUR_APP_ENVIRONMENT_ID";

    @Override
    public void onCreate() {
        super.onCreate();

        MobileCore.setApplication(this);
        MobileCore.configureWithAppID(ENVIRONMENT_FILE_ID);

        MobileCore.registerExtensions(
            Arrays.asList(Edge.EXTENSION, Identity.EXTENSION, Optimize.EXTENSION),
            o -> Log.d("MainApp", "Offer Decisioning and Target Mobile SDK was initialized.")
        );
    }
}
Doel SDK

Java-initialisatiecode voor migreren

code language-java
import com.adobe.marketing.mobile.AdobeCallback;
import com.adobe.marketing.mobile.Analytics;
import com.adobe.marketing.mobile.Extension;
import com.adobe.marketing.mobile.Identity;
import com.adobe.marketing.mobile.Lifecycle;
import com.adobe.marketing.mobile.LoggingMode;
import com.adobe.marketing.mobile.MobileCore;
import com.adobe.marketing.mobile.Signal;
import com.adobe.marketing.mobile.Target;
import com.adobe.marketing.mobile.UserProfile;
import java.util.Arrays;
import java.util.List;
...
import android.app.Application;
...
public class MainApp extends Application {
...
    @Override
    public void onCreate() {
        super.onCreate();
        MobileCore.setApplication(this);
        MobileCore.setLogLevel(LoggingMode.DEBUG);
        ...
        List<Class<? extends Extension>> extensions = Arrays.asList(
            Analytics.EXTENSION,
            Target.EXTENSION,
            Identity.EXTENSION,
            Lifecycle.EXTENSION,
            Signal.EXTENSION,
            UserProfile.EXTENSION
        );


        MobileCore.registerExtensions(extensions, new AdobeCallback () {
            @Override
            public void call(Object o) {
                MobileCore.configureWithAppID(<Environment File ID>);
            }
        });
    }
}
iOS
tabs
optimaliseer SDK

Snelle initialisatiecode na migreren

code language-swift
import AEPCore
import AEPEdge
import AEPEdgeIdentity
import AEPOptimize

@UIApplicationMain
final class AppDelegate: UIResponder, UIApplicationDelegate {
  var window: UIWindow?

  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {

      // register the extensions
      MobileCore.registerExtensions([Edge.self, AEPEdgeIdentity.Identity.self, Optimize.self]) {
        MobileCore.configureWith(appId: <YOUR_ENVIRONMENT_FILE_ID>) // Replace <YOUR_ENVIRONMENT_FILE_ID> with a String containing your own ID.
      }

      return true
  }
}
Doel SDK

Snelle initialisatiecode voor migratie

code language-swift
import AEPCore
import AEPAnalytics
import AEPTarget
import AEPIdentity
import AEPLifecycle
import AEPSignal
import AEPServices
import AEPUserProfile
...
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        MobileCore.setLogLevel(.debug)
        let appState = application.applicationState
        ...
        let extensions = [
            Analytics.self,
            Target.self,
            Identity.self,
            Lifecycle.self,
            Signal.self,
            UserProfile.self
        ]
        MobileCore.registerExtensions(extensions, {
        MobileCore.configureWith(<Environment File ID>)
        if appState != .background {
            MobileCore.lifecycleStart(additionalContextData: ["contextDataKey": "contextDataVal"])
            }
        })
        ...
        return true
    }
}

API-vergelijking

Veel API's voor doelextensies hebben een equivalente aanpak met de Offer Decisioning- en Target-extensie die in de onderstaande tabel wordt beschreven. Voor meer details over de ​ functies ​, verwijs naar de API verwijzing.

Doelextensie
Offer Decisioning en Target-extensie
Notities
​ prefetchContent ​
​ updateProposities ​
​ retrieveLocationContent ​
​ getProposities ​
Wanneer u de API van getPropositions gebruikt, wordt geen externe aanroep gemaakt om niet-caching-bereik op te halen in de SDK.
​ displayedLocations ​
​ Aanbieding -> getoond () ​
Daarnaast kan de methode generateDisplayInteractionXdm Offer worden gebruikt om de XDM voor itemweergave te genereren. Daarna kan de Edge-netwerk SDK sendEvent-API worden gebruikt om extra XDM-gegevens met een vrije vorm toe te voegen en een Experience Event naar de externe server te verzenden.
​ clickedLocation ​
​ Aanbieding -> uitgelijnd () ​
Daarnaast kan de methode generateTapInteractionXdm Aanbieding worden gebruikt om de XDM voor het tikken van items te genereren. Daarna kan de Edge-netwerk SDK sendEvent-API worden gebruikt om extra XDM-gegevens met een vrije vorm toe te voegen en een Experience Event naar de externe server te verzenden.
​ clearPrefetchCache ​
​ clearCachedProposities ​
​ resetExperience ​
nvt
Gebruik ​ removeIdentity ​ API van Identiteit voor de uitbreiding van Edge Network voor SDK ophouden verzendend het bezoekersherkenningsteken naar het netwerk van Edge. Voor meer details, zie ​ de removeIdentity API documentatie ​.

Nota: De resetIdentities API van de Mobiele Kern ontruimt alle opgeslagen identiteiten in SDK, met inbegrip van Experience Cloud identiteitskaart (ECID) en het zou spaarzaam moeten worden gebruikt!
​ getSessionId ​
nvt
state:store reactiehandgreep bevat informatie over sessies. De Edge-netwerkextensie helpt het te beheren door items in een niet-verlopen frameopslag aan volgende aanvragen toe te voegen.
​ setSessionId ​
nvt
state:store reactiehandgreep bevat informatie over sessies. De Edge-netwerkextensie helpt het te beheren door items in een niet-verlopen frameopslag aan volgende aanvragen toe te voegen.
​ getThirdPartyId ​
nvt
Gebruik de updateIdentities-API van Identity voor de Edge Network-extensie om de id-waarde van derden op te geven. Dan, vorm derde identiteitskaart namespace in de datastream. Voor meer details, zie ​ de mobiele documentatie van Identiteitskaart van de Derde van het Doel ​.
​ setThirdPartyId ​
nvt
Gebruik de updateIdentities-API van Identity voor de Edge Network-extensie om de id-waarde van derden op te geven. Dan, vorm derde identiteitskaart namespace in de datastream. Voor meer details, zie ​ de mobiele documentatie van Identiteitskaart van de Derde van het Doel ​.
​ getTntId ​
nvt
locationHint:result reactiehandgreep bevat de informatie over de doellocatiehint. Aangenomen wordt dat Target edge zich op dezelfde locatie bevindt als Experience Edge.

het netwerkuitbreiding van Edge gebruikt de het plaatswenk van EdgeNetwork om de het netwerkcluster van Edge te bepalen om verzoeken naar te verzenden. Als u Edge-netwerklocatiehint wilt delen met SDK's (hybride apps), gebruikt u getLocationHint - en setLocationHint -API's van de Edge Network-extensie. Voor meer details, zie ​ de getLocationHint API documentatie ​.
​ setTntId ​
nvt
​ locationHint :result ​ reactiehandvat draagt de informatie van de de plaatshint van het Doel. Aangenomen wordt dat Target edge zich op dezelfde locatie bevindt als Experience Edge.

het netwerkuitbreiding van Edge gebruikt de het plaatswenk van EdgeNetwork om de het netwerkcluster van Edge te bepalen om verzoeken naar te verzenden. Als u Edge-netwerklocatiehint wilt delen met SDK's (hybride apps), gebruikt u getLocationHint - en setLocationHint -API's van de Edge Network-extensie. Voor meer details, zie ​ de getLocationHint API documentatie ​.

Daarna, leer hoe te ​ verzoeken en activiteiten ​ aan de pagina teruggeven.

NOTE
We helpen u graag succesvol te zijn met uw mobiele doelmigratie van de doelextensie naar de Offer Decisioning en de doelextensie. Als u in obstakels met uw migratie loopt of als er kritieke informatie ontbreekt in deze gids voelt, gelieve ons te vertellen door in ​ deze communautaire bespreking ​ te posten.
recommendation-more-help
23093022-70e6-46bf-81c6-76f79c282c9c