Я пытаюсь интегрировать Adobe Targe с моим приложением. Я следовал документации для его интеграции, но не получал никаких журналов для того же. Однако для iOS я получаю некоторые журналы, в которых есть запрос post, но он также возвращает ноль для цели.
Это добавляется в app / build.gradle
implementation 'com.adobe.mobile:adobeMobileLibrary:4.13.7'
implementation 'com.adobe.marketing.mobile:sdk-core:1.+'
implementation 'com.adobe.marketing.mobile:analytics:1.+'
implementation 'com.adobe.marketing.mobile:audience:1.+'
implementation 'com.adobe.marketing.mobile:campaign:1.+'
implementation 'com.adobe.marketing.mobile:campaignclassic:1.+'
implementation 'com.adobe.marketing.mobile:target:1.+'
В MainActivity. java
import android.os.Bundle;
import com.facebook.react.ReactActivity;
import org.devio.rn.splashscreen.SplashScreen;
import android.os.StrictMode;
import com.reactlibrary.RNMailLauncherPackage;
import com.calendarevents.CalendarEventsPackage;
**import com.adobe.mobile.*;**
public class MainActivity extends ReactActivity {
private static final boolean DEBUG = true;
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
CalendarEventsPackage.onRequestPermissionsResult(requestCode, permissions, grantResults);
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
SplashScreen.show(this); // here
super.onCreate(savedInstanceState);
/*
* Adobe Tracking - Analytics
*
* set the context for the SDK
* this is necessary for access to sharedPreferences and file i/o
*/
// setContentView(R.layout.main);
**Config.setContext(this.getApplicationContext());**
/*
* Adobe Tracking - Config
*
* turn on debug logging for the ADBMobile SDK
*/
**Config.setDebugLogging(true);**
}
}
AdobeTargetModule. java
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.adobe.mobile.*;
import java.util.Map;
import java.util.HashMap;
public class AdobeTargetModule extends ReactContextBaseJavaModule {
private static ReactApplicationContext reactContext;
AdobeTargetModule(ReactApplicationContext context) {
super(context);
reactContext = context;
}
//for adobe target
@ReactMethod
public void sendSuccessMetric( String orderId, String orderTotal, String productPurchasedId, String numOfNights, String avgRate, String desc){
System.out.println("inside the adobe target function");
System.out.println("values are: orderId: "+orderId + " orderTotal: "+orderTotal +" productPurchaseId: "+productPurchasedId+" numOfNights: "+numOfNights+" avgRate: "+avgRate+" roomDesc: "+desc);
Map <String, Object> customParameters = new HashMap <String, Object>();
customParameters.put(numOfNights, "entity.noofnights");
customParameters.put(avgRate, "entity.averagerate");
customParameters.put(desc, "entity.roomtype");
customParameters.put(numOfNights, "profile.noofnights");
customParameters.put(avgRate, "profile.averagerate");
customParameters.put(desc, "profile.roomtype");
System.out.println("custom parameters map: "+ customParameters);
TargetLocationRequest orderConfirm = Target.createOrderConfirmRequest("orderConfirmPage1", orderId, orderTotal, productPurchasedId , customParameters);
System.out.println("after the target hit.... "+ orderConfirm);
Target.loadRequest(orderConfirm, new Target.TargetCallback<String>() {
@Override
public void call(String s) {
System.out.println("inside the call function: "+s);
}
});
//analytics added
HashMap <String, Object> analyticsParams = new HashMap <String, Object>();
analyticsParams.put("&&tnt","115110:0:0");
System.out.println("custom parameters map for analytics: "+ analyticsParams);
Analytics.trackAction("Booking Confirmation", analyticsParams); //this works fine
}
@Override
public String getName() {
return "AdobeTarget";
}
}
В logcat я вижу следующую ошибку:
Также, в случае iOS, там написано:
Цель - Успешно возвращено 1 целевое местоположение Цель - Возврат контента для 'orderConfirmPage': '(null)' Здесь я знаю, цель не был настроен на стороне сервера. Но для android я не в курсе.
Это правильно? Или я что-то упустил.